我有一個隱藏的窗口,我想發送一個按鍵給它。我試圖實現的一個例子是一個將密鑰F5發送到不是活動窗口的Web瀏覽器的應用程序。當收到F5按鍵時,Web瀏覽器會知道刷新當前頁面。c#SendKey到一個隱藏的窗口
我也想將密鑰的組合發送給應用程序,例如,按Ctrl + S。這種用法的一個例子可以是定時自動保存功能,用於沒有自動保存的應用程序。這會讓我不得不記得每5分鐘保存一次。
C#是我的技術,這聽起來現實嗎?
我有一個隱藏的窗口,我想發送一個按鍵給它。我試圖實現的一個例子是一個將密鑰F5發送到不是活動窗口的Web瀏覽器的應用程序。當收到F5按鍵時,Web瀏覽器會知道刷新當前頁面。c#SendKey到一個隱藏的窗口
我也想將密鑰的組合發送給應用程序,例如,按Ctrl + S。這種用法的一個例子可以是定時自動保存功能,用於沒有自動保存的應用程序。這會讓我不得不記得每5分鐘保存一次。
C#是我的技術,這聽起來現實嗎?
這CodeProject文章WINAPI方法定義演示如何將按鍵發送到外部應用程序(使用C#源代碼)。
您可以使用WinApi來達到此目的。 SendMessage或PostMessage方法將所需的消息發送到您的應用程序。 這裏的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
);
的C#定義和定義要發送類似的消息:
public const int %WM_MESSAGE_HERE% = %value%;
檢查Pinvoke - 巨大的資源包含.NET
這應該是可能的,看www.pinvoke.net和搜索sendinput,該頁面應該告訴你,你需要知道的一切,還如何找到窗口(尋找FindWindow函數)
我將如何,例如,使用你的例子發送Ctrl + F5(即兩個鍵一起按下)? – James 2009-09-02 19:00:47