la commande SendKeys - C++ - Programmation
Marsh Posté le 07-04-2003 à 14:35:20
SendKeys ?? Jamais entendu parler en C ! Je ne connais que la version VBA, qui est une merde infame à proscrire ! Elle fait partie de quelle API ?
Marsh Posté le 07-04-2003 à 14:53:02
Dans le MSDN j'ai trouvé ca
Object
SendKeys
[Visual Basic]
Public Class SendKeys
[C#]
public class SendKeys
[C++]
public __gc class SendKeys
[JScript]
public class SendKeys
donc je supposais que ca devait exister????
Marsh Posté le 07-04-2003 à 17:57:01
euh oui, mais la on parle pas de la commande SendKeys, mais de la classe SendKeys faisant partie du framework .NET, ça n'a rien à voir !
Marsh Posté le 07-04-2003 à 19:27:02
bah en vb
SendKeys(^+c)
ça envoie ctrl + c copier quoi ..
Marsh Posté le 08-04-2003 à 09:33:46
merci bien
je sais que ce fait ca en VB et là et toute la question existe il la meme chose en C pour pouvoir dialoguer avec une application.
Marsh Posté le 08-04-2003 à 09:53:09
tertulia a écrit : merci bien |
La commande SendKeys de VB n'a rien à voir avec ce que tu cites !!! Tu cites une classe du framework .NET, donc tu peux parfaitement l'utiliser en C++ managé (Microsoft nous saoule suffisamment avec leur interopérabilité entre langages .NET !)
Infos dispos ici :
http://msdn.microsoft.com/library/ [...] stopic.asp
Marsh Posté le 08-04-2003 à 12:19:18
merci pour ces infos mais le probleme est que je n'y connait rien de rien en .NEt (comme tu dis) et que je sais pas comment on utilise ces classes...
les includes et comment declarer une fonctions et tout et tout..
en plus tu parles de c managé alors là c encore pire..
Marsh Posté le 08-04-2003 à 12:23:23
tertulia a écrit : merci pour ces infos mais le probleme est que je n'y connait rien de rien en .NEt (comme tu dis) et que je sais pas comment on utilise ces classes... |
Si tu veux développer sous .NET, tu dois télécharger le SDK chez Microsoft (qui est assez gros, plus de 100 Mo il me semble). Ce SDK est gratuit et comprend un compilateur VB .NET, un compilateur C# et un compilateur C++.
Le C++ managé est du C++ conçu pour utiliser les classes de .NET
Honnètement, c'est un vaste sujet, un topic ne suffira pas.
Marsh Posté le 08-04-2003 à 12:27:34
donc en gros pour ma simple application je l'ai dans le ...
en plus musicmatch il voudront jamais me donner les message a envoyer pour controloer l'application...
ben merci qd meme
Marsh Posté le 08-04-2003 à 12:31:42
tertulia a écrit : donc en gros pour ma simple application je l'ai dans le ... |
Ca dépend, tu veux faire quoi ?
Y'a d'autres moyens que SendKeys pour envoyer une touche à un programme (PostMessage par exemple)
Marsh Posté le 08-04-2003 à 12:33:14
tertulia a écrit : donc en gros pour ma simple application je l'ai dans le ... |
A mon avis, il est nettement plus simple et propre d'utiliser une petite bibliotheque qui decode le mp3.
Marsh Posté le 08-04-2003 à 13:04:27
en fait je veux pouvoir controler le logiciel musicmatch (lecture , piste suivante ...) a partir d'une application C. le pb des postmessage c'est qu'il faut savoir le message a poster.. et a mon avis on voudra pas me le dire chez musicmatch.
Marsh Posté le 08-04-2003 à 13:09:24
tertulia a écrit : en fait je veux pouvoir controler le logiciel musicmatch (lecture , piste suivante ...) a partir d'une application C. le pb des postmessage c'est qu'il faut savoir le message a poster.. et a mon avis on voudra pas me le dire chez musicmatch. |
Les touches pour piloter le logiciel musicmatch, tu les connais bien ? Donc à partir de là, tu fais des postmessage d'evennement clavier. Ca doit pas être plus compliqué que ça.
Marsh Posté le 08-04-2003 à 13:23:31
et tu fais ca comment un postmessage d'evenement clavier!!!
BOOL PostMessage(
HWND hWnd, // handle to destination window
UINT Msg, // message
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
les parametres sont touts des entiers, et je sais pas un CTRL+P ou ^P combien c en entier!!
Marsh Posté le 08-04-2003 à 13:27:59
Exemple : pour envoyer un Return à ton application dont le hWnd est myHwnd
Code :
|
Marsh Posté le 08-04-2003 à 13:39:58
je vais cotinuer a etre chiant je sais mais j'arrive meme pas a trouver le hwnd de musicmatch
j'utilise la fonction
hwndMusicmatch=FindWindow("mmjb",NULL);
mais pour ca il faut savoir le nom de la fenetre ouverte et ca je l'ai pas non plus enfin je pense pas..
Marsh Posté le 08-04-2003 à 13:47:06
tertulia a écrit : je vais cotinuer a etre chiant je sais mais j'arrive meme pas a trouver le hwnd de musicmatch |
Oui, ça commence
tertulia a écrit : |
Qu'as tu comme IDE ? Si tu as Visual Studio, tu peux utiliser Spy++ qui te permet de récupérer toutes les infos relatives à une fenêtre, dont le hWnd. Evidemment, il ne faut pas utiliser le hWnd indiqué (qui changera la prochaine fois que tu crééras la fenêtre), mais tu peux facilement trouver le nom de la classe de fenêtre (qui est le 1er paramètre de FindWindow), et l'utiliser pour récupérer le hWnd via FindWindow
edit: et si tu n'as pas Spy++, tu peux utiliser Winspector, dispo ici :
http://www.gipsysoft.com/articles/winspector/
Marsh Posté le 08-04-2003 à 14:45:19
c bon j'ai trouve merci
une derniere question apres j'arrete promis
comment on fait pour simuler un CTRL+P
CTRL -> VK_CONTROL : 11( en hex)
P -> VK_P : 50( en hex)
mais si on ajoute les deux ca fait 97 (en dec ) ou 61 (en hex) ce qui correspond a un VK_NUMPAD1 (Numeric keypad 1 key )
donc voila.
apres j'arrete
merci
Marsh Posté le 07-04-2003 à 14:29:01
est ce que quelqu'un sait comment fonctionne la commande SendKeys en C
merci