首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在另一个应用程序-C#中模拟CTRL+A和CTRL+C

如何在另一个应用程序-C#中模拟CTRL+A和CTRL+C
EN

Stack Overflow用户
提问于 2018-06-20 23:54:37
回答 1查看 0关注 0票数 0

就像我在标题中说的,我需要帮助模拟C#中的击键,而我所看到的答案到目前为止还没有起作用。

我已经尝试过使用SendInput、SendMessage、SendKeys和keybd_事件。它们都能工作,但只用于发送简单的击键,如A、B、C等。

对于发送修改的击键,如CTRL+A、CTRL+C等,它们都没有在外部应用程序中工作过,只在我正在处理的应用程序中工作。

我所做的是使用全局钩子来获取用户定义的热键,当他按下热键时,我的应用程序会复制用户正在编辑的任何文本,在他使用的任何应用程序中。

现在,我正在为CTRL+A使用下面的代码,但它不起作用,正如我所说的,只有简单的击键发送到外部应用程序,而不是我需要的应用程序。

代码语言:txt
复制
private void SendSelectAll(){
   keybd_event(0x11, 0, 0x0001, 0);
   keybd_event(0x41, 0, 0x0001, 0);
   keybd_event(0x41, 0, 0x0002, 0);
   keybd_event(0x11, 0, 0x0002, 0);
}
EN

回答 1

Stack Overflow用户

发布于 2018-06-21 09:06:36

修改键的代码

代码语言:txt
复制
alt = % , shift = + and ctrl = ^

我认为守则是:

代码语言:txt
复制
SendKeys.Send("^{a}");
SendKeys.Send("^{c}");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100005454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档