Probleme sendmessage

mrdumont Messages postés 16 Date d'inscription jeudi 20 juillet 2006 Statut Membre Dernière intervention 6 février 2008 - 24 janv. 2008 à 19:58
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 27 janv. 2008 à 23:03
Bonjours j'ai un probleme depuis quelque jours...

Lorsque que j'execute se petit code :






Public Const WM_CLOSE = &H10
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long



Private Sub Quitter_Click()



commande = SendMessage(handle, WM_CLOSE, 0, 0)



End Sub






Tous marche bien , la fentre dont j'ai mi le handle en parametre se ferme.



Or je cherche depuis quelque jours le moyen d'envoyer par exemple une lettre (par exemple la
lettre "a") a la fenetre dont le handle est passer en parametre. Mais IMPSSOBLE.

si quelqu'un pouvais m'aider...

merci davance.

21 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
24 janv. 2008 à 20:19
ça marche seulement parce que le dernier param n'est pas lu mais ta déclaration est fausse et surtout contre productive.
C'est ByVal As Long pour le message WM_CLOSE.
Tu forces VB à écrire 0 en mémoire et ensuite donner l'adresse à SendMessage qui s'en fout, il faut seulement lui envoyer la valeur 0 et non une adresse.

ciao...
BruNews, MVP VC++
0
mrdumont Messages postés 16 Date d'inscription jeudi 20 juillet 2006 Statut Membre Dernière intervention 6 février 2008
24 janv. 2008 à 20:22
Donc peux tu me proposer une solution pour pouvoir envoyer une lettre "a" par exemple a partir du handle?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
24 janv. 2008 à 20:54
"envoyer" un 'a' manque de précision.
SetWondowText
WM_COPYDATA
WM_KEYDOWN, UP
etc...
à toi de voir ce qui convient et surtout le prog est-il fait pour le recevoir.

ciao...
BruNews, MVP VC++
0
mrdumont Messages postés 16 Date d'inscription jeudi 20 juillet 2006 Statut Membre Dernière intervention 6 février 2008
24 janv. 2008 à 20:58
enfaite je trouve le handle d'une fentre ms dos precedement ouverte avec mon programme, une fois que je l'ai je veux envoyer des caracteres dans cette fenetre.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
24 janv. 2008 à 21:08
Si c'est pour écrire, SetWindowText() ou WM_SETTEXT.

ciao...
BruNews, MVP VC++
0
mrdumont Messages postés 16 Date d'inscription jeudi 20 juillet 2006 Statut Membre Dernière intervention 6 février 2008
24 janv. 2008 à 21:26
je viens d'eesayer SetWinowText mai sa ne renome juste le titre de la fentre designer par le handle...
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 janv. 2008 à 21:54
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
25 janv. 2008 à 01:31
Salut
Et si c'est pour faire du DOS, il y a d'autres méthodes que de squater celle qui est ouverte : Voir <cette source>

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 janv. 2008 à 08:49
ah oui, c'est effectivement plus adapté, les pipes (jouer avec l'entree / sortie standard)

j'avais pas relevé ce coté MSDOS de la chose
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 janv. 2008 à 08:50
et plus fiable qu'un SendKeys
(cause que des soucis, SendKeys, c'est illusoire que de vouloir piloter des trucs précisément avec.)
0
mrdumont Messages postés 16 Date d'inscription jeudi 20 juillet 2006 Statut Membre Dernière intervention 6 février 2008
25 janv. 2008 à 08:51
Le pb avec la source du pipe, c'est que je ne peux pas l'utiliser avec netcat...
Si jamais je lance netcaat avec le pipe, mon programme vb plante...
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 janv. 2008 à 08:54
c'est qu'il y a surement soucis...

possible aussi plutot de lancer cmd.exe
qui lui, lancera netcat ou ce qui te plaira
0
mrdumont Messages postés 16 Date d'inscription jeudi 20 juillet 2006 Statut Membre Dernière intervention 6 février 2008
25 janv. 2008 à 08:56
Ba en tout cas avec toutes les sources sur les pipes que j'ai trouver sur ce site, y'en a aucune qui peut me faire tourné netcat... et j'ai essayé de trouver pourquoi...mais aucune idée
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 janv. 2008 à 08:59
je télécharge NetCat (si je trouve)
et je testes
0
mrdumont Messages postés 16 Date d'inscription jeudi 20 juillet 2006 Statut Membre Dernière intervention 6 février 2008
25 janv. 2008 à 09:05
ok je te remercie beaucoup. Des que tu as tester tiens moi au courant.

merci
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 janv. 2008 à 09:50
-L -p permet de placer l'outil en écoute... et de passer par un bête Winsock pour le piloter


connect to somewhere: nc [-options] hostname port[s] [ports] ...
listen for inbound: nc -l -p port [options] [hostname] [port]
options:
-d detach from console, background mode

-e prog inbound program to exec [dangerous!!]
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, ...
-h this cruft
-i secs delay interval for lines sent, ports scanned
-l listen mode, for inbound connects
-L listen harder, re-listen on socket close
-n numeric-only IP addresses, no DNS
-o file hex dump of traffic
-p port local port number
-r randomize local and remote ports
-s addr local source address
-t answer TELNET negotiation
-u UDP mode
-v verbose [use twice to be more verbose]
-w secs timeout for connects and final net reads
-z zero-I/O mode [used for scanning]
port numbers can be individual or ranges: m-n [inclusive]
0
mrdumont Messages postés 16 Date d'inscription jeudi 20 juillet 2006 Statut Membre Dernière intervention 6 février 2008
26 janv. 2008 à 13:00
Donc sa veut dire que je ne peux pas faire se que je veux?
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
26 janv. 2008 à 16:18
si !

mais via Winsock, netcat est prévu pour... testé, ca cause bien
0
mrdumont Messages postés 16 Date d'inscription jeudi 20 juillet 2006 Statut Membre Dernière intervention 6 février 2008
26 janv. 2008 à 19:43
je ne suis qu'un débutant...;
0
mrdumont Messages postés 16 Date d'inscription jeudi 20 juillet 2006 Statut Membre Dernière intervention 6 février 2008
27 janv. 2008 à 15:00
Et comment je dois mit prendre pour utiliser netcat avec Winsock?
0
Rejoignez-nous