同样的API函数,为什么有的电脑运行有效,有的无效?

大刘0417 2013-03-16 02:03:00
    Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As String) As Integer '发送窗口消息
Private Declare Auto Function FindWindow Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer '根据标题查找窗口句柄
Private Declare Auto Function SetForegroundWindow Lib "USER32.DLL" (ByVal hWnd As IntPtr) As Boolean '强制指定句柄的窗口的外部程序获取焦点



hWnd = FindWindow(vbNullString, "Microsoft Internet Explorer")
'关闭指定句柄窗口
Const WM_CLOSE = &H10
SendMessage(hWnd, WM_CLOSE, 0, 0)


声明以上的API函数,在部分电脑运行无效,无法关闭想关闭的标题为Microsoft Internet Explorer的窗口,是怎么回事?
...全文
382 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
大刘0417 2013-06-08
  • 打赏
  • 举报
回复
感谢回贴。还要加强学习。
wwwww112233 2013-03-23
  • 打赏
  • 举报
回复
断点调试一下,看哪个句柄为0
现在还是人类 2013-03-22
  • 打赏
  • 举报
回复
应该是目标程序的版本问题导致。因为你的程序没有对目标程序的多个版本做支持,而你的目标程序又是 IE 浏览器这种扩展性比较强的程序,甚至可以更改注册表都可以改变目标程序的相关设置。所以这是你的程序没有考虑兼容性问题而产生的漏洞。 如果你的目标程序确定是 IE 浏览器,建议采用 BHO 技术对其进行处理,要不可以用枚举对象的方法取得目标对象,这种方法会比你直接用 API 来枚举窗口并判断哪个是 IE 窗口要准确得多。
Tiger_Zhao 2013-03-21
  • 打赏
  • 举报
回复
你应该在每台机器上先目测一下窗体标题,比如我这里就是 "空白页 - Windows Internet Explorer" 而不是 "Microsoft Internet Explorer"。
myjisgreat 2013-03-21
  • 打赏
  • 举报
回复
UAC问题???用管理员运行试试??
GBO 2013-03-20
  • 打赏
  • 举报
回复
跟系统有关吧?
兔子-顾问 2013-03-20
  • 打赏
  • 举报
回复
跟函数无关,你确定窗体名字是这个?
kxyzjm62 2013-03-19
  • 打赏
  • 举报
回复
你在不能正常关闭的机子上用代码调试一下,或者在你的程序代码hWnd = FindWindow(vbNullString, "Microsoft Internet Explorer")后面将hWnd显示出来看一下。很可能是0,修改"Microsoft Internet Explorer",使其不为0就行了。
大刘0417 2013-03-18
  • 打赏
  • 举报
回复
还是没有解决这个问题!
大刘0417 2013-03-16
  • 打赏
  • 举报
回复
回楼上,我指的弹出窗口标题都为:Microsoft Internet Explorer
bigbaldy 2013-03-16
  • 打赏
  • 举报
回复
因为有的窗不叫那个,你单步跟一下就知道原因了,很有可能句柄都没有获得到
大刘0417 2013-03-16
  • 打赏
  • 举报
回复
回楼上,已经安装。
爱在今世 2013-03-16
  • 打赏
  • 举报
回复
是不是因为有的电脑没有安装.net的原因呢?
大刘0417 2013-03-16
  • 打赏
  • 举报
回复
请教如何解决?
gxingmin 2013-03-16
  • 打赏
  • 举报
回复
windows版本不一样?

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧