是否有适用于Windows 10的SendKeys类的替代方法

时间:2018-05-18 05:28:43

标签: c# winforms windows-10

我无法在任何地方找到任何确定的信息,但System.Windows.Forms.SendKeys类似乎在Windows 10中被阻止/禁用/折旧。

我写了一个演示程序来监视用户的击键,如果用户输入一个已知代码,它将弹出一个表单,然后转到文档数据库并返回各种字符串(公司名称/地址/联系人列表等)和用检索到的字符串替换键入的代码。 SendWait用于将检索到的字符串发送到键入代码的任何程序。

我在Windows 7桌面公司上构建了这个程序,但是当我在个人Windows 10系统上运行它时,它没有用。很多阅读后来我觉得自己像个完全白痴,但我不能让他们进一步了解这个项目,因为他们知道他们不会永远在Win7上。

所以我的问题是在Windows 10中是否已经禁用了这种功能,或者是否有其他方法或方法可以用来实现将文本插入到正在运行的程序中的这种行为。

任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

我找到了这个论坛 - 主题:

https://www.tenforums.com/software-apps/49635-sendkeys-not-working-windows-10-a.html

  

SendKeys在W10中被阻止。在W8.1中它仍然有效。
  还有其他令人讨厌的事情,比如不允许App阅读或Wright去驾驶C."文件"是的,但W10"隐藏"它或者根本不允许访问它   还有Netwok问题,不允许App在局域网环境中工作   好吧,我的观点是W10对用户PC的行为就像恶意软件一样。无用。

他们没有解决方案。

答案 1 :(得分:0)

Sendkeys似乎适用于某些应用程序,而不适用于其他应用程序。我可以通过发送击键来自动执行较旧的应用程序,但Chrome等较新的应用程序无法响应。不一致的行为严重破坏了在Win 7下可以正常运行的脚本。

我还没有找到任何官方文件说Sendkeys已被弃用,因此不一致似乎是Windows 10的错误。