如何实现 用VBA 把一个已经打开的外部程序记事本 置顶
Sub test()
Set Wrap = CreateObject("DynamicWrapper")
Wrap.Register "user32.dll","FindWindow","i=ss","f=s", "r=l"
Wrap.Register "user32.dll","SetWindowPos","i=hhllllu","f=s", "r=l"
WindowHandle = Wrap.FindWindow(vbNullString, "无标题 - 记事本")
If WindowHandle Then
Call Wrap.SetWindowPos(WindowHandle,-1,0,0,0,0,3) '设置置顶
'Call Wrap.SetWindowPos(WindowHandle,-2,0,0,0,0,3) '取消置顶
End If
End Sub
根据notepad的标题对应修改,查找窗口
谢谢 版主 另外如何使得外部程序的按钮 文本框 菜单等得到焦点
可以使用FindWindowEx实现窗口的遍历,找到指定控件的句柄。楼主可以搜索Internet获得相关信息。
另楼主有编写外挂程序的倾向,本人不反对,但也不支持,故不会提供更多帮助,请自行研究。
Wrap.SetWindowPos这写对象都是外部对象吗?求哪里找到的?
Wrap.Register "user32.dll","FindWindow","i=ss","f=s", "r=l"
Wrap.Register "user32.dll","SetWindowPos","i=hhllllu","f=s", "r=l"
这些参数从哪里可以查到呢,不同的函数参数都不一样。