【发布时间】:2013-03-08 10:45:39
【问题描述】:
我想将一个特定的键(例如 k)发送到另一个名为记事本的程序,下面是我使用的代码:
private void SendKey()
{
[DllImport ("User32.dll")]
static extern int SetForegroundWindow(IntPtr point);
var p = Process.GetProcessesByName("notepad")[0];
var pointer = p.Handle;
SetForegroundWindow(pointer);
SendKeys.Send("k");
}
但是代码不起作用,代码有什么问题?
是否可以在没有记事本的情况下将“K”发送到记事本作为活动窗口? (例如,活动窗口 = "Google chrome",记事本在后台,这意味着向后台应用程序发送密钥)?
【问题讨论】:
-
你有什么错误吗?
-
不,我没有,相反,它只是将“K”发送到顶部窗口
-
看看这是否有帮助:stackoverflow.com/questions/825651/…
-
它可以工作,但是程序所做的是将密钥发送到已经打开的程序,而不是以可编程方式启动程序
-
如果您将 jandex stackoverflow.com/questions/2423234/… 发布的代码添加到您的表单中,那么您可以将密钥发送到任何处于活动状态的应用程序。您的程序/表单不会获得焦点,您的表单上也不会出现任何内容重点..