Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Bonjour,
Le titre a tout dit. J'ai déjà vu la solution qq part mais je n'ai pas noté, maintenant j'en ai besoin !
Avez-vous une idée ?
Merci.
Hors ligne
pris sur le site de www.rgagnon.com
OleObject locator,service,props String ls_query = 'select name , description from Win32_Process where name = "NOTEPAD.EXE"' int num, ret, i locator = CREATE OleObject ret = locator.ConnectToNewObject("WbemScripting.SWbemLocator"); service = locator.ConnectServer(); props = service.ExecQuery(ls_query); num = props.count() IF num > 0 THEN MessageBox("Process","NOTEPAD.EXE is running") ELSE Messagebox("Process","NOTEPAD.EXE is NOT running") END IF
Hors ligne
Merci Pick Ouic,
Tu es très réactif aux problèmes des autres, j'apprécie, mais hélas cela ne marche pas pour moi (PB8, win2000).
Ton code m'a fait penser aux exemples fournis avec PB8, je les ai regardé mais l'exemple pour détecter si un EXE est lancé ne marche pas non plus sur mon poste ! par contre, l'exemple TASKS de la fenêtre w_sdk_functions doit résoudre mon problème. Cet exemple retourne la liste des applications en cours d'exécution, je n'ai que détecter les doublons dans cette liste.
Encore merci.
NB: Comment puis-je ajouter [Resolu] dans le titre ?
Dernière modification par PB2 (12-10-2006 11:43:01)
Hors ligne
et avec la fonction externe FINDWindow ?
pour trouver la classe ouverte, et puis la refermer....
Hors ligne
J'ai essayé la fonction FindWindow mais elle trouvait systématiquement l'appli car elle commençait par l'appli en cours ! Je ne sais pas lui dire "sauf l'appli en cours".
Hors ligne
et...?ca ne marche pas non plus ca ?
//[external function declaration] FUNCTION ulong CreateMutexA & (ulong lpMutexAttributes, boolean bInitialOwner, REF string lpszName) & LIBRARY "kernel32.dll" FUNCTION long GetLastError() LIBRARY "kernel32.dll" //[powerscript] // boolean of_IsRunning() // // IF of_isRunning THEN // MessageBox("Oups", "already running!") // END IF // constant ulong ERROR_ALREADY_EXISTS = 183 constant ulong SUCCESSFUL_EXECUTION = 0 ulong lul_mutex ulong lpsa ulong lul_last_error boolean lb_ret = FALSE IF NOT (Handle(GetApplication()) = 0) THEN lul_mutex = CreateMutexA(lpsa, FALSE, as_appname) lul_last_error = GetLastError() lb_ret = NOT (lul_last_error = SUCCESSFUL_EXECUTION) END IF RETURN lb_ret
Hors ligne
Oui, ça marche (uniquement en mode exécutable).
En mode interprété, ça ne marche pas mais cela n'est pas un problème.
Merci Pick Ouic.
t'es le meilleur !
Hors ligne
je suis le meilleur mangeur de glaces....
si tu veux faire une compet....
hi hi hi A+
Hors ligne
Je ne suis pas très fort pour ça non plus ! décidément...
A+
Hors ligne
Pages: 1