我正在使用c#进行win应用程序,我想发送 Ctrl + L 和 Ctrl + C 当firefox处于活动状态时,找到地址栏并复制Url并从剪贴板获取信息。我想这样做。但我无法这样做。
我该怎么做? 激活Firefox窗口,发送 Ctrl + L (激活地址栏),发送 Ctrl + C (复制选择) ,即URL,到剪贴板)并阅读剪贴板。
[return: MarshalAs(UnmanagedType.Bool)]
[DllImport("user32.dll", SetLastError = true)]
static extern bool PostMessage(IntPtr hwnd, uint Msg, 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 :(得分:4)
答案 1 :(得分:1)
您可能需要考虑CodeProject上的this article。 MSDN上的SendKeys class似乎只允许您向当前活动的应用程序发送击键,这也可能对您有所帮助。