请问如何让vb 控制其它程序的窗口取大最小化

czh918 2002-04-02 03:23:02
请问如何让vb 控制其它程序的窗口取大最小化
...全文
371 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
acptvb 2002-04-02
  • 打赏
  • 举报
回复
感谢您使用微软产品。

您可以根据程序窗口的Caption获得窗口的句柄,显示该窗口,您还可以把通过ForegroundWindow函数,使您的vb程序窗口或被最大化的程序窗口获得输入焦点。涉及FindWindow,ShowWindow,SetForegroundWindow三个API函数。
如下例,使记事本程序窗口最大化。

Private Declare Function SetForegroundWindow Lib "user32" _
(ByVal hwnd As Long) As Long

Private Declare Function ShowWindow Lib "user32" _
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Private Declare Function FindWindow Lib "user32" _
Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Const SW_MAXIMIZE = 3
Const SW_MINIMIZE = 6

Private Sub Command1_Click()

Dim hWindow As Long
Dim lngResult As Long
Dim lngReturnValue As Long

hWindow = FindWindow(vbNullString, "Untitled - Notepad")
lngReturnValue = ShowWindow(hWindow, SW_MAXIMIZE) '或SW_MINIMIZE
lngReturnValue = SetForegroundWindow(Form1.hwnd)
‘ 或 lngReturnValue = SetForegroundWindow(hWindow)

End Sub

详细信息请参考以下链接:
FindWindow
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/windows_03sn.asp
ShowWindow
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/windows_2tdj.asp
SetForegroundWindow
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/windows_1eev.asp


- 微软全球技术中心 VB技术支持

本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款
(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查
(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
ssq_td 2002-04-02
  • 打赏
  • 举报
回复
同一进程的程序吗?
chinaczg 2002-04-02
  • 打赏
  • 举报
回复
获取代控制的窗口的句柄(hWnd),然后使用 SendMessage发消息给窗口的句柄
详细参见msdn
ming709 2002-04-02
  • 打赏
  • 举报
回复
如:希望在窗体一运行时就最小化:form1.WINDOWSTATE=3 就行啦,它会自动给你提示的值的。试一下吧。几个窗体也是一样的。
blue_fox_on_net 2002-04-02
  • 打赏
  • 举报
回复
我的方法是用api的enumwindows枚举窗口用getwindowtext得到窗口标题确定操作的窗口有了句柄它还不听我的,还可以用enumchildwindows枚举窗口中的控件方法一样,我写了一个离线破qq的程序就是这样,不过不太成功,我也是个菜鸟,不过我一直在进步。我的email:blue_fox_on_net@sina.com,有空联系。
czh918 2002-04-02
  • 打赏
  • 举报
回复
举个例子好吗?
gaoqi5037 2002-04-02
  • 打赏
  • 举报
回复
同上
288794 2002-04-02
  • 打赏
  • 举报
回复
获取代控制的窗口的句柄(hWnd),然后使用 SetWindowPos 函数来设置。
czh918 2002-04-02
  • 打赏
  • 举报
回复
请注意是要控制其它程序的窗口
tiggercb 2002-04-02
  • 打赏
  • 举报
回复
此问是乎不明确,请问其它程序是VB吗?
如是就简单了,修改窗体属性WINDOWSTATE
值即可。

7,785

社区成员

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

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