在后台保持表单活动[C#WinForms]

时间:2016-07-10 15:11:07

标签: c# winforms background focus

我正在编写一个应该仍处于活动状态并在游戏运行时工作的应用。我还需要使表单不可见(最小化)。应用程序正在等待特定键(使用GetAsyncKeyState和Timer控件),然后发送鼠标输入。一切都是使用WINAPI完成的。我也在使用System.Drawing。这就是我无法编写控制台应用程序的原因 - 它无法提供对系统库的访问权限。我尝试使用此代码执行此操作:

    private void Form1_Deactivate(object sender, EventArgs e)
    {
        Activate();
        this.Focus();
    }

但它不起作用。我还将TopMost值设置为true。你有其他建议吗?

1 个答案:

答案 0 :(得分:0)

如果您希望应用程序在隐藏/隐藏时接收键/鼠标输入,则必须使用全局键盘/鼠标挂钩。有了这个,你就可以在游戏开启时获得键/鼠输入。聚焦^^

有用链接:https://keyboardmousehooks.codeplex.com/