如何从全局热键中激活我的表单?

时间:2012-07-29 08:32:58

标签: c# window

我有一个名为Form1的表单。我设置了热键Ctrl + G do:

Show();
Active();
TopMost = true;
TopMost = false;
TextBox1.Focus();

当我在记事本中键入时,我按下那个热键,我的Form1出现了,就像这样: enter image description here

记事本和Form1都有文本光标,但是当继续输入时,Form1.TextBox1不会输入,但记事本会得到。

但是当Visual Studio和Debugging(F5)打开解决方案时,我的Form1得到了输入,而Notepad没有。

你可以帮我解决这个问题吗?非常感谢你!

1 个答案:

答案 0 :(得分:2)

尝试从WinForms进程中调用ShowWindowAsync和SetForegroundWindow,如下所示:

http://weimenglee.blogspot.com/2007/01/programmatically-switch-to-another.html

似乎记事本仍然是活跃的应用程序。