2009-08-31 7 views
1

J'ai une fenêtre qui est cachée et je voudrais y envoyer une pression. Un exemple de ce que j'essaye de réaliser est une application qui enverra la clé F5 à un navigateur Web qui n'était pas la fenêtre active. Le navigateur Web sait qu'il faut actualiser la page en cours lorsque la touche F5 est reçue.C# SendKey à une fenêtre cachée

Je voudrais également envoyer une combinaison de touches à une application, par ex. Ctrl + S. Un exemple de cette utilisation pourrait être une fonction de sauvegarde automatique temporisée à utiliser avec des applications qui n'ont pas de sauvegarde automatique. Cela m'épargnerait d'avoir à me souvenir d'enregistrer toutes les 5 minutes.

C# est ma technologie, cela vous semble-t-il réaliste?

Répondre

3

Ce CodeProject article montre comment envoyer des frappes à une application externe (avec le code source C#).

0

Vous pouvez utiliser WinApi à cette fin. SendMessage ou PostMessage méthode pour envoyer le message souhaité à votre application. est ici C# définition SendMessage

[DllImport("user32.dll")] 
      public static extern int SendMessage(
        int hWnd,  // handle to destination window 
        uint Msg,  // message 
        long wParam, // first message parameter 
        long lParam // second message parameter 
       ); 

et définir le message que vous voulez envoyer comme:

public const int %WM_MESSAGE_HERE% = %value%; 

Vérifier Pinvoke - ressource contenant des définitions de méthode winapi pour

.NET
+0

Comment pourrais-je, par exemple, envoyer Ctrl + F5 en utilisant votre exemple (c'est-à-dire les deux touches pressées ensemble)? – James

0

Cela devrait être possible, regarder www.pinvoke.net et chercher SendInput, cette page devrait vous dire tout ce que vous devez savoir, aussi comment trouver la fenêtre (cherchez FindWindow)

Questions connexes