vb6 - una domanda tecnica

quirus

Nuovo Utente
Registrato
9/3/00
Messaggi
244
Punti reazioni
1
non riesco ad inviare una stringa al menù di un altro programma, tipo ALT-F4 oppure CTRL-F6 o RETURN per intenderci. Lo so fare con sendkeys ed in qualche caso ma non sempre con sendmessage. Avrei anche le costanti api opportune ma alcune non funzionano. Chi vuole ed è in grado di aiutarmi?
un grazie ed un saluto, quirus
 
Devi ottnere l'handle della finestra principale del programma o quello di una child window, se il menu si trova in una di queste

per ottenere l'handle ci sono diversimodi: lo puoi ricavare manualmente, ad esempio potresti costruirti una applicazione in VB& che si comporti come winspy, oppure lo ottieni mediante la posizione della finestra sullo schermo, ma il metodo più rapido è semplice è ottenerlo mediante il nome dell'applicazione.


L'API cui puoi far riferimento dovrebbe essere 'Get_hwnd_byname ' o qualcosa del genere e poi, ottenuto l'handle, invii il messaggio (sempre! sempre! sempre! mediante sendmessage).

Ovviamente, ottenuto l'handle, non devi stare a preoccuparti di tenere la finestra espansa.. basta che il programma sia in esecuzione.

Ciao.

p.s: ma che ci vuoi fare con sendmessage.. eh, furbacchione? ;)
 
grazie per la risposta, il problema è che l'handle lo so ottenere ma non riesco ad usare sendmessage per inviare la stringa in modo da attivare una voce del menù della finestra.
un saluto, quirus

p.s. nessun intento da hacker, sto costruendo un as
 
Scritto da quirus
non riesco ad inviare una stringa al menù di un altro programma, tipo ALT-F4 oppure CTRL-F6 o RETURN per intenderci. Lo so fare con sendkeys ed in qualche caso

è un'applicazione html?
 
no, per ora no, sto solo cercando di sostituire il sendkeys che rende debole l'applicazione. La parte che sto studiando è quella dell'acquisizione dei dati.
un saluto, quirus
 
Scritto da quirus
no, per ora no, sto solo cercando di sostituire il sendkeys che rende debole l'applicazione. La parte che sto studiando è quella dell'acquisizione dei dati.
un saluto, quirus

capisco, comunque sendkey mi funziona benissimo sui form html non ci sono problemi, ci fai quello che vuoi: return, riempi box; alt+ F?; ecc. basta settare bene il focus. Per questi aspetti quando ti serve hai solo da chiedere. Mentre per le specifiche applicazioni windows non ho esperienza di invio comandi (a parte gli applicativi microsoft, ovviamente).

saluti
 
ti ringrazio Scalpo per la risposta e per la tua disponibilità; in effetti non avevo mai pensato che i problemi di sendkeys potessero essere solo problemi di focus. Proverò, anche se da più parti sembrerebbe che la sostituzione di sendkeys con sendmessagge e altre api sia d'obbligo, anche solo per usare pienamente le potenzialità di windows (minimizzare finestre, spostare il focus ecc.). Su internet si trova molto e riesco con sendmessage a fare diverse delle cose citate, non riesco però ad inviare una qualsiasi stringa in un qualsiasi programma. A questo proposito invito chi fosse interessato a mettersi in contatto per scambiare routine e tips utili allo sviluppo di un as; io ho materiale vario.
un saluto, quirus
 
Sito Internet: http://www.vbsimple.net


un anno fa ho scaricato qualcosa di interessante
se non trovi + nulla te lo posso mandare ciao
 
sorgente per mandare dati a un'applicazione esterna con send message



ho modificato l'estenzione: da zip in xls per poterlo allegare
 

Allegati

  • attiv_23.xls
    8,3 KB · Visite: 63
...continua

modificare l'estensione in .zip (e' un file pdf)
 

Allegati

  • act_23_2.pdf
    57,8 KB · Visite: 276
Ultima modifica:
grazie Marofib: due contributi molto utili e vicini alle mie esigenze, che sto studiando. In sintesi, due appaiono i punti fondamentali:
1. attivare il controllo giusto e verficarne il focus (Scalpo);
2. inviare in modo corretto l'informazione
un saluto, quirus
p.s. il sito citato è il seguente:
http://www.vbsimple.net/index.htm?/activity/act_23.htm
 
Ultima modifica:
Indietro