如何使用我的C#应用程序触发Windows热键
我想使用我的c#应用程序触发Windows热键。例如,如果我在应用程序中选择了复制按钮,我想触发Ctrl-C热键。如果我在应用程序中选择了run按钮,我想触发Win-R热键 我该怎么做 谢谢。您可以使用这个方法 例如,在按钮单击事件中,要触发如何使用我的C#应用程序触发Windows热键,c#,.net,C#,.net,我想使用我的c#应用程序触发Windows热键。例如,如果我在应用程序中选择了复制按钮,我想触发Ctrl-C热键。如果我在应用程序中选择了run按钮,我想触发Win-R热键 我该怎么做 谢谢。您可以使用这个方法 例如,在按钮单击事件中,要触发CTRL+C组合,您可以使用 SendKeys.Send("^c") // CTRL + C 注意:顺便说一下,我不建议您在“按钮单击事件”中执行此操作。可能您正试图从文本框中复制一些文本。但是,当您单击按钮时,文本框将失去焦点,选定的文本将消失。因此,键
CTRL+C
组合,您可以使用
SendKeys.Send("^c") // CTRL + C
注意:顺便说一下,我不建议您在“按钮单击事件”中执行此操作。可能您正试图从文本框中复制一些文本。但是,当您单击按钮时,文本框将失去焦点,选定的文本将消失。因此,键正在正确发送,但您无法复制任何内容。“如果我在应用程序中选择了run按钮,我想触发Win-R热键。”
运行对话框
但是,在JScript中,。在C#中仍然可以。您需要对Shell32的引用:
然后在代码隐藏中使用Shell32;添加
在按钮的单击事件中,可以执行以下操作:
private void runBtn_Click(object sender, EventArgs e)
{
Shell shell = new Shell();
IShellDispatch sd = (IShellDispatch)shell;
sd.FileRun();
}
你应该看到这样的东西:
模拟Ctrl-C
“…如果我在应用程序中选择了复制按钮,我想触发Ctrl-C热键。”
Selman22提到,如果单击其他按钮,文本框将失去焦点。下面是解决方法:
private void copyBtn_Click(object sender, EventArgs e)
{
textBox1.Focus(); // <---- here
SendKeys.Send("^c");
}
private void copyBtn\u单击(对象发送者,事件参数e)
{
textBox1.Focus()//