Bonjour,
Je cherche à empecher de lancer une application CLX deux fois, et la méthode classique ne marche pas dans ce cas. Compilée avec la VCL je détecte bien une instance précédente, mais pas en compilant en CLX.
Quelqu'un aurait t'il une solution? J'ai trouvé pour Kylix (donc avec X) mais pas pour le couple Windows/CLX
Merci d'avance
Cédric
Methode classique VCL
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 function IsPrevInstance: HWND; var ClassName: array[0..255] of char; Title: string; begin Title := Application.Title; Application.Title := ''; { On change le titre, car on trouverait toujours une application lancée, (la notre). } try GetClassName(Application.Handle, ClassName, 255); { Met dans ClassName le nom de la classe de l'application. } Result := FindWindow(ClassName, PChar(Title)); finally Application.Title := Title; { Restauration du vrai titre. } end; end;
Partager