2009-07-24 40 views
0

我正在使用c#開發win應用程序,我希望在firefox處於活動狀態時發送控件+ L和Control + c,以找到addess欄並複製Url並從剪貼板獲取信息。我正在努力做到這一點。但我是啓用的。如何將控制+ L和控制+ C發送到另一個應用程序?

我該怎麼做? 激活Firefox窗口,發送Ctrl + L(激活地址欄),發送Ctrl + C(複製選擇,即URL,到剪貼板)並讀取剪貼板。

[返回:的MarshalAs(UnmanagedType.Bool)] [的DllImport( 「USER32.DLL」,SetLastError =真)] 靜態外部布爾PostMessage的(IntPtr的HWND,UINT消息,INT的wParam,INT LPARAM);

private const uint VK_CONTROL = 0x11; 
    private const uint VK_L = 0x4C; 
    private const uint VK_C = 0x43; 


if (hwndfirfox == Process.GetProcessesByName("firefox")[0].MainWindowTitle) 
     hwndfirfox = Process.GetProcessesByName("firefox")[0].MainWindowHandle; 

if (hwndfirfox != null) 
{ 
    PostMessage(hwndfirfox, VK_CONTROL, VK_L, 0); 
    PostMessage(hwndfirfox, VK_CONTROL, VK_C, 0); 
} 

此代碼給錯誤,幫助我。

回答

0

你可能要考慮CodeProject上的this article。 MSDN上的SendKeys class只顯示允許您將擊鍵發送到當前活動的應用程序,這可能對您也有幫助。

+0

我打算推薦相同的代碼項目文章,但去questin格式化代碼:) – TheVillageIdiot 2009-07-24 06:46:16

相關問題