|
Page : 1 2 Page Précédente | |
Auteur | Sujet : [C++] Exécution d'un programme dos [les bizarreries de windows] |
Publicité | Posté le 22-07-2002 à 09:21:20 |
Ace17 | j'ai pas la solution mais ca m'interesse donc ..... up |
El_gringo | Bah, t'as qu'a, une fois que le batch (ou autre) est fini, envoyer un WM_CLOSE à la fenêtre...
|
Ace17 | Dans quel cas windows te demande d'appuyer sur Ctrl+C? comment cela se fait-il? |
LetoII Le dormeur doit se réveiller | ExitProcess quitte le process dans lequel elle est exécutée.
--------------- Le Tyran |
LetoII Le dormeur doit se réveiller |
--------------- Le Tyran |
antsite Je me souviens | C'est sur mais le problème c'est que je ne sais pas comment récupérer le HWND du process créé. J'ai essayé de caster la HANDLE hProcess mais ça ne marche pas, ça ne doit pas être le hwnd de la console.
Message édité par antsite le 22-07-2002 à 12:16:15 |
Publicité | Posté le 22-07-2002 à 12:10:20 |
Harkonnen ModérateurUn modo pour les bannir tous | Tu fais un EnumWindows pour trouver le hWnd de la console, puis tu lui balance un WM_CLOSE, et roulez jeunesse --------------- J'ai un string dans l'array (Paris Hilton) |
El_gringo |
Message édité par El_gringo le 22-07-2002 à 12:32:31 |
El_gringo | ...c un extrait du mon 1er prog C(++ ?), soyez indulgents ! |
antsite Je me souviens | Merci beaucoup à tous les 2, ça marche très bien.
|
JPA | Je vais me mêler de ce qui ne me regarde pas, mais n'aurait-il pas été plus simple de créer dans le progr C un raccourci vers l'exécutable "DOS", raccourci comportant les paramètres pour fermer la fenêtre en quittant, puis de lancer le raccourci ?
|
antsite Je me souviens | Tout à fait mais j'ignore comment faire ce raccourci avec le paramètre voulu ! |
antsite Je me souviens | Pour reprendre l'idée de WM_CLOSE je pensais que plus simplement pour éviter la popup il faudrait lui envoyer ce qu'il demande à savoir Ctrl+C. Seulement je n'y arrive pas, je comprends pas la msdn. Comment envoyer Ctrl+C ?
|
Harkonnen ModérateurUn modo pour les bannir tous | c'est un champ de bits. le bit 29 te permet de dire si une touche étendue est enfoncée ou pas (1 = pressée).
--------------- J'ai un string dans l'array (Paris Hilton) |
antsite Je me souviens | Tu peux me filer un bout de code car je ne sais pas du tout manier les champs de bits |
Harkonnen ModérateurUn modo pour les bannir tous | // on appuie d'abord sur ctrl-C
--------------- J'ai un string dans l'array (Paris Hilton) |
El_gringo |
|
antsite Je me souviens | Merci pour ce cours sur le champ de bits, ça devient plus clair désormais !
|
Harkonnen ModérateurUn modo pour les bannir tous | il faut mettre les 2, WM_KEYDOWN et WM_KEYUP ! tu ne peux pas en mettre qu'un !
--------------- J'ai un string dans l'array (Paris Hilton) |
Harkonnen ModérateurUn modo pour les bannir tous |
--------------- J'ai un string dans l'array (Paris Hilton) |
antsite Je me souviens | PostMessage(hWnd,WM_KEYDOWN,VK_CONTROL,0x00010001);
|
Harkonnen ModérateurUn modo pour les bannir tous | Je me suis planté dans les scancodes et les virual keys. essaie plutot ceci :
--------------- J'ai un string dans l'array (Paris Hilton) |
antsite Je me souviens | Ca ne marche pas ! (mais ça ne plante plus c déjà ça) |
Harkonnen ModérateurUn modo pour les bannir tous | --------------- J'ai un string dans l'array (Paris Hilton) |
Harkonnen ModérateurUn modo pour les bannir tous | tiens, j'ai une idée : tu utilises Spy++ sur la console. tu tapes CTRL-C pour la fermer, puis tu observes les paramètres correspondants. tu envoies ensuite un WM_KEYDOWN et WM_KEYUP avec ces paramètres --------------- J'ai un string dans l'array (Paris Hilton) |
antsite Je me souviens | Aucun message WM_KEYDOWN/UP envoyé, tu m'étonnes que ça ne marchait pas !
|
Harkonnen ModérateurUn modo pour les bannir tous | non, surtout pas, ça n'a rien à voir avec WM_KEYxxxx
--------------- J'ai un string dans l'array (Paris Hilton) |
antsite Je me souviens | Je crois qu'on c mal compris : le message que je t'ai donné dans le post précédent c'est ce que Spy++ reçoit quand je fais à la main Ctrl+C.
|
antsite Je me souviens | Et puis j'y pense c sur que c le bon hWnd puisque le message WM_CLOSE marche (sauf qu'il y a cette foutue popup qui oblige à laisser tomber WM_CLOSE) |
Harkonnen ModérateurUn modo pour les bannir tous | peut etre que le hWnd de la popup est différent de celui de la console, ce qui ne m'étonnerait pas d'ailleurs, car la console est incapable d'afficher du graphisme.
--------------- J'ai un string dans l'array (Paris Hilton) |
antsite Je me souviens | En effet les hwnd sont différents. Lorsque que je veux voir les messages de la console et non de la popup de la console, voila le message me disant que c impossible... :
|
Harkonnen ModérateurUn modo pour les bannir tous | ben t'as plus qu'a faire un EnumWindows pour récuperer la fenetre popup, et envoyer ensuite les messages que je t'ai indiqués plus haut.
--------------- J'ai un string dans l'array (Paris Hilton) |
antsite Je me souviens | Ok merci.
|
antsite Je me souviens | HWND h = ::FindWindow("ttyGrab","" ); ne marche pas, rien n'est trouvé. Pourtant la class de la console (et non la popup de la console) est bien ttyGrab d'après Spy++ et son title ""... |
Harkonnen ModérateurUn modo pour les bannir tous |
--------------- J'ai un string dans l'array (Paris Hilton) |
Harkonnen ModérateurUn modo pour les bannir tous |
--------------- J'ai un string dans l'array (Paris Hilton) |
Publicité | Posté le |
Page : 1 2 Page Précédente |
Sujets relatifs | |
---|---|
VB5 + Windows 2000 = BUG... | HELP !!! exécution d'un fichier batch sur 1 serveur distant |
[Postgresql] version windows ? | Ou peut on trouver des exemple de programme fait avec Access ? |
Programme d'installation | un programme pour creer des pages web en anim flash ? |
Impossible d'installer Visual c++ 4 sous windows NT - URGENT | Faire un appel système à un script ou un programme [RESOLU] |
comment aboir un historique des demarrage et fin windows ? | Mettre un pixel d'une certaine couleur en c++ avec Windows |
Plus de sujets relatifs à : [C++] Exécution d'un programme dos [les bizarreries de windows] |