SendKeys.send 被阻止
我有 C# 应用程序,它使用 Sendkeys.send 将文本发送到其他应用程序。 在 Windows 7 上执行一段时间后,Sendkeys 停止响应并且不发送任何文本。 Windows XP 上永远不会发生这种情况。 我怀疑是防病毒软件,但当我在没有防病毒软件的情况下运行时也会发生这种情况。 有什么想法会导致它吗? 感谢您的帮助。
I have C# application that uses Sendkeys.send to send text to other applications.
When executed on windows 7 after some time the Sendkeys stop responding and doesn't send any text. It never happens on windows XP.
I suspected the anti virus but it happen also when I'm running with no anti virus.
Any ideas what can cause it?
Thank you for your help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您使用哪个版本的 .NET Framework 进行编译?如果您仍在使用 2.0 之前的版本,则很可能会因 UAC 增强的安全模型而在 Windows 7 中遇到兼容性问题。
SendKeys.Send
方法在框架 3.0 版中进行了更新,以便在 Windows Vista 及更高版本中正常工作。请参阅文档:您需要升级;版本 3.5 已包含在 Windows 7 中。
否则,P/调用
SendMessage如果您需要将数据发送到其他应用程序,则可以选择 Windows API 公开的
函数。检查 pinvoke.net 以获取在 C# 中调用此函数所需的声明。What version of the .NET Framework are you compiling against? If you're still using a version prior to 2.0, you are most likely experiencing compatibility problems in Windows 7 as a result of UAC's enhanced security model.
The
SendKeys.Send
method was updated in version 3.0 of the Framework to work properly with Windows Vista and newer. See the documentation:You need to upgrade; version 3.5 is already included with Windows 7.
Otherwise, P/Invoking the
SendMessage
function exposed by the Windows API is an option if you need to send data to other applications. Check pinvoke.net for the declaration you'll need to call this in C#.有一个(至少对我来说)相当奇怪的评论
SendKeys.Send
方法的 MSDN 文档:我不明白该声明的原因,但也许这是您所经历的行为的(一个)原因?
在同一 MSDN 页面的最底部,他们进一步指出:
在我看来,
SendKey
是一个在所有情况下都应该避免的函数。There is a (for me, at least) rather strange remark on the MSDN documentation for the
SendKeys.Send
method:I do not understand the reason for the statement, but maybe this is (one) cause for the behaviour you ecperience?
At the very bottom of the same MSDN page, they further state:
Seems to me that
SendKey
is a function to avoid under all circumstances.