如何将控制+ L和控制+ C发送到另一个应用程序?

我正在使用c#开发win应用程序,当firefox处于活动状态时,我想发送control + L和Control + c以查找addess栏并复制Url并从剪贴板获取信息。 我正在努力做到这一点。 但我是启用的。

我怎样才能做到这一点? 激活Firefox窗口,发送Ctrl + L(激活地址栏),发送Ctrl + C(复制选择,即URL)到剪贴板并读取剪贴板。

[返回: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);
}

此代码给出错误,帮助我。


我在这里看到一篇文章,指出PostMessage不应该用于模拟键盘输入。 你应该为此使用SendKeys或SendInput。


你可能想在CodeProject上考虑这篇文章。 MSDN上的SendKeys类似乎只允许您发送击键到当前活动的应用程序,这可能对您也有帮助。

链接地址: http://www.djcxy.com/p/63595.html

上一篇: how to send control + L and control + C to another application?

下一篇: C# SendKeys Wait for Program to Load before sending