想实现任务管理器上那个应用程序的切换功能(进程的切换也可以)

wzckr 2010-11-30 10:27:35
我已经取到当前在运行的所有进程,显示在一个ListBox上面,现在要做的就是选中某一个进程,双周,然后把这个进程切换至前台,有什么办法实现,主要就是切换指定进程到前台的命令不知道
...全文
453 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
专注VB编程开发20年 活跃的高手 2010-12-06
  • 打赏
  • 举报
回复
完整代码如下
Option Explicit
'┏〓〓〓〓〓〓〓〓〓 ProcessIdToHwnd,start 〓〓〓〓〓〓〓〓〓┓
'[定义]:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Private Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
Private Const GW_HWNDNEXT = 2
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
'[简介]:
'由进程ID获得该窗口的句柄
Function ProcessIdToHwnd(ByVal ByProcessId As Long) As Long
'[mycode_id:1827],edittime:2010-12-6 下午 07:56:17
Dim Hwnd1 As Long, Pid1 As Long, ThreadId1 As Long
'Find the first window
Hwnd1 = FindWindow(vbNullString, vbNullString)
Do While Hwnd1 <> 0
'Check if the window isn't a child
If GetParent(Hwnd1) = 0 Then
'Get the window's thread
ThreadId1 = GetWindowThreadProcessId(Hwnd1, Pid1)
If Pid1 = ByProcessId Then
ProcessIdToHwnd = Hwnd1
Exit Do
End If
End If
Hwnd1 = GetWindow(Hwnd1, GW_HWNDNEXT)
Loop
'By:应用程序专家
'QQ:1085992075
'http://www.0086ly.com
'欢迎与我们交流编程方面的技术,如果有软件需要开发设计,可以联系我们

End Function
'┗〓〓〓〓〓〓〓〓〓 ProcessIdToHwnd,end 〓〓〓〓〓〓〓〓〓┛

Private Sub Form_Load()
MsgBox ProcessIdToHwnd(5384)
End Sub
龍月 2010-11-30
  • 打赏
  • 举报
回复
有些进程貌似没有界面?
wzckr 2010-11-30
  • 打赏
  • 举报
回复
当然是有界面的进程了,简单一点吧,我已经打开了一个记事本,然后自己开发的程序上面一个按钮,点这个按钮,已经打开的那个记事本就自己切到前台

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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