Visual Basic 中的 SendKeys() 权限被拒绝错误
我正在尝试使用 SendKeys()
命令通过我的 VB6 应用程序发送到另一个窗口。
我想要的是单击一个按钮,然后在应用程序向该窗口发送一些按键之前有 10 秒钟的时间转到另一个窗口。我把一切都整理好了,但由于某种原因,当我调用这样的东西时:
SendKeys ("A")
我收到此错误:
Run-time error '70':
Permission denied
有人知道解决这个问题的方法吗?谢谢。
I am trying to use the SendKeys()
command to another window with my VB6 app.
What I wanted is to click a button, and then have 10 seconds to go to the other window before the app sends some keys to that window. I got everything sorted but for some reason when I call something like this:
SendKeys ("A")
I get this error:
Run-time error '70':
Permission denied
Does anyone know a way around this? Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
对于 Windows 7:
将 UAC 设置更改为从不通知。
对于 Windows 8 和 10:
将此方法添加到任何模块:
它在 Windows 10 中对我来说工作得很好。
For Windows 7:
Change the UAC settings to never notify.
For Windows 8 and 10:
Add this method to any module:
It's worked fine for me in windows 10.
看看 Karl Peterson 在 Vista 下解决这个问题的方法:
SendInput
Take a look at what Karl Peterson worked up as a fix for this under Vista:
SendInput
VB6 SendKeys 的替代品是 WScript.Shell SendKeys,如下所示:
请参阅 MSDN 寻求帮助。
Replacement for VB6 SendKeys is WScript.Shell SendKeys, like this:
See MSDN for help.
在公共模块中添加:
这将“覆盖”SendKeys 函数
In a public Module add:
This will "overwrite" SendKeys Function
在 Windows 7 上:
On Windows 7:
从应用程序中删除“msvbvm60.dll”文件
按照以下步骤
一切都完成了,现在您的应用程序开始运行,没有任何错误(例如拒绝访问)
Delete "msvbvm60.dll" File From The Application
Follow The Following Step
All Done, Now Your Application Start Running Without Any Error Like Access Denied
问题与 vb6 IDE 和 Windows 桌面上下文菜单有关,您将按照此处所述进行操作:
http://www.vbforums.com/showthread.php?747425-SendKeys-and-Windows-8
主要参考在这里:
http://www.vbforums.com/showthread.php?745925-已解决-如何-触发桌面上下文菜单
the problem is about vb6 IDE and windows desktop context menu and you will do as described in here :
http://www.vbforums.com/showthread.php?747425-SendKeys-and-Windows-8
and main reference is here :
http://www.vbforums.com/showthread.php?745925-RESOLVED-How-to-trigger-the-desktop-context-menu
您可以在
每个表单级别的模块中使用此代码
You can use this code in Module
On Each Form Level
使用此 API:
当
按键代码为 32(空格)、35(键端)、8(vbKeyBack)等时。
Use this API:
and
when key code is 32 for space, 35 for keyend, 8 for vbKeyBack, etc.