c# - 模拟按键 C#

标签 c#

我想在我的 C# 程序中模拟 F5 按键。当 IE 打开时,我希望能够自动刷新我的网站。

我该怎么做?

最佳答案

这是一个例子...

static class Program
{
    [DllImport("user32.dll")]
    public static extern int SetForegroundWindow(IntPtr hWnd);

    [STAThread]
    static void Main()
    {
        while(true)
        {
            Process [] processes = Process.GetProcessesByName("iexplore");

            foreach(Process proc in processes)
            {
                SetForegroundWindow(proc.MainWindowHandle);
                SendKeys.SendWait("{F5}");
            }

            Thread.Sleep(5000);
        }
    }
}

一个更好的...不那么烦人...

static class Program
{
    const UInt32 WM_KEYDOWN = 0x0100;
    const int VK_F5 = 0x74;

    [DllImport("user32.dll")]
    static extern bool PostMessage(IntPtr hWnd, UInt32 Msg, int wParam, int lParam);

    [STAThread]
    static void Main()
    {
        while(true)
        {
            Process [] processes = Process.GetProcessesByName("iexplore");

            foreach(Process proc in processes)
                PostMessage(proc.MainWindowHandle, WM_KEYDOWN, VK_F5, 0);

            Thread.Sleep(5000);
        }
    }
}

关于c# - 模拟按键 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3047375/

相关文章:

c# - C# 托管代码和 C++ 非托管代码之间字符串的混合编程

c# - 如何让程序在捕获到异常后重复自身?

c# - 这是 C# 4 中动态绑定(bind)的漏洞吗?

c# - 是否有任何 .NET ORM 支持开箱即用的本地化实体?

c# - 将函数作为参数传递给 Action

c# - 在 c# 中使用 WinForm App 进行操作的时间延迟

c# - 验证日期的正则表达式 - C#

c# - DateTime.ToOADate() 问题

c# - 在 .Net Core AppSettings/配置中处理带句点的键名

javascript - 如何在同一域的不同页面上运行 Javascript 方法?