Simulare pressione tasti

mercoledì 26 aprile 2006 - 17.28

ciccioherz Profilo | Junior Member

ok ci sono..adesso è tutto risolto tranne che per due particolari ( i piu importanti):
1: non so ancora come simulare il tasto raffigurante il logo di windows

2:sendkeys invia i tasti all'applicazione attiva, ne consegue che ad esempio se simulassi ctrl + alt + can nella mia form, come risultato non avrei l'apertura del task manager...ma appunto nessun risultato...
quindi la domanda a questo punto è:
se volessi aprire il task manager ad esempio, servendomi del sendkeys, come sarebbe possibile farlo?

grazie

Brainkiller Profilo | Guru

>ok ci sono..adesso è tutto risolto tranne che per due particolari
>( i piu importanti):
>1: non so ancora come simulare il tasto raffigurante il logo
>di windows

Continua sullo stesso Thread in modo che non si disperdono le informazioni.
Non ho ancora letto la tua risposta se l'hai data, ma hai già provato come ti ho indicato con CTRL+ESC ? Ma forse immagino il problema sia uguale alla domanda che poni sotto, cioè con il sendkeys i segnali arrivano alla applicazione corrente.

>2:sendkeys invia i tasti all'applicazione attiva, ne consegue
>che ad esempio se simulassi ctrl + alt + can nella mia form,
>come risultato non avrei l'apertura del task manager...ma appunto
>nessun risultato...

Se non ricordo male non tutte le combinazioni possono essere eseguire, in particolare la Ctrl+Alt+Canc visto che è di sistema.

>quindi la domanda a questo punto è:
>se volessi aprire il task manager ad esempio, servendomi del
>sendkeys, come sarebbe possibile farlo?

In questo caso ti basta far aprire il taskmanger con il comando taskmgr.exe
Qui il tip su come eseguire un comando Esterno:
http://www.dotnethell.it/tips/ComandoEsterno.aspx

Fammi sapere.
ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

ciccioherz Profilo | Junior Member

si ma vedi...l'apertura del task manager era solo un esempio, è ovvio che è possibile richiamarlo direttamente dall'eseguibile..

ma come hai ben intuito il problema è comunque quello che le combinazioni di tasti arrivano all'applicazione attiva, ctrl+esc compreso.

devo fare ancora una prova, ossia la combinazione di qualche tasto col logo di windows, che però tutt'ora non so come rappresentarlo...
sono sempre in attesa di notizie..
grazie

Brainkiller Profilo | Guru

>devo fare ancora una prova, ossia la combinazione di qualche
>tasto col logo di windows, che però tutt'ora non so come rappresentarlo...
>sono sempre in attesa di notizie..

Ciao,
se leggi la documentazione del Framework c'è scritto quanto segue:

"Note Because there is no managed method to activate another application, you can either use this class within the current application or use native Windows methods, such as FindWindow and SetForegroundWindow, to force focus on other applications."

quindi devi usare API native di Windows e l'interoperabilità per inviare i keystroke ad applicazioni diverse dalla tua attiva.
Ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

ciccioherz Profilo | Junior Member

ok ti ringrazio, ma qui le cose si complicano per me..

grazie cmq.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5