Prog parent / fils

aviona Messages postés 2 Date d'inscription mardi 6 août 2002 Statut Membre Dernière intervention 13 août 2002 - 6 août 2002 à 16:07
Spasher Messages postés 14 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 3 juillet 2009 - 3 juil. 2009 à 16:22
Bonjour,

Je cherche à réaliser un prog qui permet le lancement d'un autre prog (jusqu'à la je sais faire) mais qui garde la main dessus.

ex :
- lancer notepad et écrire dedans une fois qu'il est lancé.

- ouvrir une application depuis le prog parent et simuler une combinaison de touches (raccouris clavier) pour lancer les menus et donc les actions du prog fils.

Des pistes pour démarrer ou encore mieux des exemples.

Merci d'avance. 8-)

4 réponses

cs_gaya Messages postés 47 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 10 août 2002
8 août 2002 à 05:09
Tu pourrais utiliser la fonction (API) SetActiveWindow(HWND hwnd) pour mettre en avant plan la fenetre que tu désire, puis émettre des appuie de touche avec la fonction keyb_event (API)

Voilà ce que je peux faire pour toi, @+

GAYA, LA PUISSANCE NATURELLE
0
aviona Messages postés 2 Date d'inscription mardi 6 août 2002 Statut Membre Dernière intervention 13 août 2002
13 août 2002 à 11:44
Bonjour,

Merci pour ces infos.
J'ai utilisé la fonction sendinput (cause XP) pour simuler les actions claviers au lieu de Keyb_event.
Par contre je rame sur le setactivewindow. Comment je récupère le handle d'un programme fils lancé pour prendre la main sur la fenêtre et donc simuler les touches. Aurais tu un exemple de code.
Merci pour ton aide.
0
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
13 août 2002 à 23:48
J'ai peut-être une solution :

- En créant le processus avec CreateProcess(), tu connais le thread.

- Ensuite, tu énuméres les fenêtres rattachées à ce thread grâce à la fonction EnumThreadWindows().
0
Spasher Messages postés 14 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 3 juillet 2009 2
3 juil. 2009 à 16:22
Slt,

Pour récupérer le Handle d'un programme:

Code C - IDE ( Code::Block ):

#include<windows.h>
#include <stdio.h>
int main(int argc, char * argv[])
{
     HWND hFore = GetForegroundWindow();
     printf("Le handle de la fenetre au premier plan est : 0x%X",hFore);
     return0;
}

P.S:

Besoin d'aide sur :
http://www.cppfrance.com/forum/sujet-KEYBD_EVENT-DANS-DIRECTX_1297075.aspx

By
Spasher Production_FB
0
Rejoignez-nous