VB点击按钮切换到其他程序

一个记事本问窗口,一个VB程序窗口,点击VB程序窗口中的按钮能将记事本窗口为当前状态,不要模拟ALT+tab键,希望能100%选择的是记事本窗体。紧急,谢谢。... 一个记事本问窗口,一个VB程序窗口,点击VB程序窗口中的按钮能将记事本窗口为当前状态,不要模拟ALT+tab键,希望能100%选择的是记事本窗体。紧急,谢谢。 展开
 我来答
1048726239
2011-08-23 · 超过11用户采纳过TA的回答
知道答主
回答量:26
采纳率:0%
帮助的人:29.7万
展开全部
这是一个根据窗口标题用枚举法模糊查找一个匹配的窗口句柄,并将该句柄指向的窗口呼出前台。为了能100%选择记事本窗体,应尽量提供完整的窗口标题,并确保窗口标题的唯一性,否则程序只会将第最后一个匹配的窗口呼出。

以下代码运行后点击按钮即将标题含有“记事本”的窗口转到当前状态。我都加了注释,你可以根据需要来修改:

'新建一个工程 _
'创建一个textbox:text1
'创建一个按钮:command1
'粘贴以下代码:

Private Sub Form_Load()
Text1 = "记事本"
End Sub

Private Sub Command1_Click()
If Text1 = "" Then Exit Sub
LHWND = 0 '枚举前为0,预防找不到时查错
EnumWindows AddressOf EnumWindowsProc, 0& '枚举第一个匹配的句柄
ShowWindow LHWND, SW_RESTORE '窗口被最小化时的呼出
SetForegroundWindow LHWND '设置为活动状态
If LHWND = 0 Then MsgBox "找不到匹配窗口标题的句柄!"
End Sub

添加一个模块粘贴以下代码:
添加一个模块粘贴以下代码:
添加一个模块粘贴以下代码:

Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Public Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Public Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Public Const SW_RESTORE = 9

Public LHWND As Long
Public Function EnumWindowsProc(ByVal lngHwnd As Long, ByVal lParam As Long) As Boolean
Dim s As String * 255
GetWindowText lngHwnd, s, 255 '获得窗口标题文字
If InStr(s, Form1.Text1) <> 0 Then '判断是否匹配要查找的窗口的标题
LHWND = lngHwnd '得到匹配的窗口的句柄
End If
EnumWindowsProc = True
End Function
87898187
2011-08-23 · TA获得超过113个赞
知道答主
回答量:76
采纳率:0%
帮助的人:55.5万
展开全部
给你个思路,自己试试去,记事本有自己的句柄,你在VB程序窗口中的按钮点下去将这个句柄调用。好久没用了,大体思路是这样。
追问
能不能给我个例子,我不知道怎么将该句柄为当前响应状态 我是会想不会写啊 急需类似的例子 谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xieqianxq1995
2011-08-23 · TA获得超过156个赞
知道答主
回答量:165
采纳率:0%
帮助的人:154万
展开全部
Private Sub Command1_Click()
Shell "C:\WINDOWS\system32\notepad.exe", 1
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aige7152
2011-08-23 · 超过28用户采纳过TA的回答
知道答主
回答量:379
采纳率:0%
帮助的人:190万
展开全部
sendkeys
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式