以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  如何实现 用VBA 把一个已经打开的外部程序记事本 置顶  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=4149)

--  作者:beensu
--  发布时间:2010/11/27 3:21:32
--  如何实现 用VBA 把一个已经打开的外部程序记事本 置顶

如何实现 用VBA 把一个已经打开的外部程序记事本 置顶


--  作者:wattwei
--  发布时间:2010/11/27 12:54:17
--  
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的标题对应修改,查找窗口

--  作者:beensu
--  发布时间:2010/11/27 20:13:57
--  
谢谢 版主 另外如何使得外部程序的按钮 文本框 菜单等得到焦点
--  作者:wattwei
--  发布时间:2010/11/27 20:35:20
--  
可以使用FindWindowEx实现窗口的遍历,找到指定控件的句柄。楼主可以搜索Internet获得相关信息。
另楼主有编写外挂程序的倾向,本人不反对,但也不支持,故不会提供更多帮助,请自行研究。

--  作者:jzt321123
--  发布时间:2012/10/10 21:32:50
--  
 Wrap.SetWindowPos这写对象都是外部对象吗?求哪里找到的?
--  作者:guotx2010
--  发布时间:2012/10/11 21:35:57
--  

Wrap.Register "user32.dll","FindWindow","i=ss","f=s", "r=l"
Wrap.Register "user32.dll","SetWindowPos","i=hhllllu","f=s", "r=l"


 

这些参数从哪里可以查到呢,不同的函数参数都不一样。


--  作者:王锋
--  发布时间:2012/10/11 21:38:14
--  

网上有很多WIN32 API的资料


--  作者:guotx2010
--  发布时间:2012/10/11 22:27:01
--  

是的,我找了一个网址,给个链接,大家一起学习吧

http://www.vbgood.com/api.html