|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Bonjour,
Existe-il dans l'API Windows la fonction contraire de GetWindowThreadProcessId -- Dominique |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
je ne comprends pas la question:
The GetWindowThreadProcessId function retrieves the identifier of the thread that created the specified window and, optionally, the identifier of the process that created the window. l'inverse n'a pas de sens puisqu'une application ou un thread petu avoir créé plein de fenêtres différentes. |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
> je ne comprends pas la question:
> > The GetWindowThreadProcessId function retrieves the identifier of the thread > that created the specified window and, optionally, the identifier of the > process that created the window. > > l'inverse n'a pas de sens puisqu'une application ou un thread petu avoir créé > plein de fenêtres différentes. Je cherche à fermer proprement une application à partir d'une autre appli, en envoyant un message WM_QUIT. Je ne dispose que du nom du module. Avec CreateTool32Snapshot et Process32First je trouve bien trace de mon application à fermer. Mais comment faire après pour obtenir un handle à utiliser dans le sendmessage ? Merci d'avance -- Dominique |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
Tu peux passer par EnumWindows. sinon je ne vois pas trop...
|
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
TedIF a écrit :
>> je ne comprends pas la question: >> >> The GetWindowThreadProcessId function retrieves the identifier of the >> thread that created the specified window and, optionally, the >> identifier of the process that created the window. >> >> l'inverse n'a pas de sens puisqu'une application ou un thread petu >> avoir créé plein de fenêtres différentes. > > Je cherche à fermer proprement une application à partir d'une autre > appli, en envoyant un message WM_QUIT. > Je ne dispose que du nom du module. Avec CreateTool32Snapshot et > Process32First je trouve bien trace de mon application à fermer. Mais > comment faire après pour obtenir un handle à utiliser dans le sendmessage ? > > Merci d'avance > J'ai eu le même problème, en pire car l'application à surveiller était un .bat qui (entre autre) lançait un fichier make.exe qui lançait successivement toutes les commandes décrites par un fichier de construction. Je n'ai à l'époque pas trouvé de solution fiable, et reste intéressé ! (je m'y remettrai surement un jour dans le siècle qui vient) |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
"TedIF" <TedIf@TedIF.fr> a écrit dans le message de news: mn.4be77d7a6b49e9c8.65892@TedIF.fr... > Bonjour, > > Existe-il dans l'API Windows la fonction contraire de > GetWindowThreadProcessId > > -- > > Dominique > Salut, Je n'ai pas la réponse exact, mais quelques pistes : Il faut que tu connaisses le type de la forme principal de ton autre appli, tu dois pouvoir le trouver avec winsight utilitaire livré avec Delphi. Ensuite il existe une fonction de l'api qui avec le type de la fenêtre principal te permet de retrouver le processid. La vacherie avec les appli Delphi, c'est qu'elles créés deux fenêtres au démarrage dont une invisible. Bon courage. Raphaël Vivien |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
> "TedIF" <TedIf@TedIF.fr> a écrit dans le message de news:
> mn.4be77d7a6b49e9c8.65892@TedIF.fr... >> Bonjour, > Je n'ai pas la réponse exact, mais quelques pistes : > Il faut que tu connaisses le type de la forme principal de ton autre appli, > tu dois pouvoir le trouver avec winsight utilitaire livré avec Delphi. > Ensuite il existe une fonction de l'api qui avec le type de la fenêtre > principal te permet de retrouver le processid. > La vacherie avec les appli Delphi, c'est qu'elles créés deux fenêtres au > démarrage dont une invisible. > Le problème c'est que Winsight livré avec Rad Studio 2007 ne fonctionne pas sur ma machine et j'ai désinstallé D7. -- Dominique |
|
|
|
#8 |
|
Messages: n/a
Hébergeur: |
Tu télécharges le GrizzlyPack et tu vois ce qu'il y-a dans l'unité
GzProcessUtils. Il y a des trucs pour faire ce que tu souhaites... Si mes souvenirs sont bons. Ca devrait pouvoir te servir de source d'inspiration. TedIF <TedIf@TedIF.fr> ::: "TedIF" <TedIf@TedIF.fr> a écrit dans le message de news: ::: mn.4be77d7a6b49e9c8.65892@TedIF.fr... :::: Bonjour, ::: Je n'ai pas la réponse exact, mais quelques pistes : ::: Il faut que tu connaisses le type de la forme principal de ton ::: autre appli, tu dois pouvoir le trouver avec winsight utilitaire ::: livré avec Delphi. Ensuite il existe une fonction de l'api qui avec ::: le type de la fenêtre principal te permet de retrouver le processid. ::: La vacherie avec les appli Delphi, c'est qu'elles créés deux ::: fenêtres au démarrage dont une invisible. ::: :: Le problème c'est que Winsight livré avec Rad Studio 2007 ne :: fonctionne pas sur ma machine et j'ai désinstallé D7. :: :: -- :: :: Dominique |
|
![]() |
| Outils de la discussion | |
|
|