
偶想用VB编程做一个监控进程的程序
偶想用VB编写一个监控进程的程序,也就是打开程序后,点击启动偶想要启动的程序,如果程序以启动则不运行,如没有启动则启动该程序!偶想知道代码!谢谢了!...
偶想用VB编写一个监控进程的程序,也就是打开程序后,点击启动偶想要启动的程序,如果程序以启动则不运行,如没有启动则启动该程序!偶想知道代码!谢谢了!
展开
1个回答
2014-01-22
展开全部
VB6 方法1调用API
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function IsWindow Lib "user32" (ByVal hwnd As Long) As Long
Dim lngAns As Long
lngAns = FindWindow(vbNullString, "窗体的CAPTION")
lngAns = IsWindow(lngAns)
If lngAns <> 0 Then
MsgBox "窗体已经被加载!", vbOKOnly
End
Else
MsgBox "窗体未被加载!", vbOKOnly
End If
VB6 方法2 Dim frm As Object
Dim blnFlag As Boolean
For Each frm In Forms
If frm.Caption = "FORM标题" Then
blnFlag = True
Exit For
End If
Next frm
If blnFlag Then
MsgBox "Form已经加载"
Else
MsgBox "Form未加载"
End If VB.NET的代码 (简单的需改,VB6也可以运行)Public Function midchi(ByVal frmName As String) As Boolean
Dim chiFrm As Windows.Forms.Form
For Each chiFrm In Me.MdiChildren
If chiFrm.Name = frmName Then
If chiFrm.Visible Then
chiFrm.Activate()
Else
chiFrm.Show()
End If
Return True
End If
Next
Return False
End FunctionPrivate Sub MenuItem7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem7.Click
If midchi("frmComputer") Then
Exit Sub
End If
Dim frmCp As New frmComputer
frmCp.MdiParent = Me
frmCp.Show()
End Sub
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function IsWindow Lib "user32" (ByVal hwnd As Long) As Long
Dim lngAns As Long
lngAns = FindWindow(vbNullString, "窗体的CAPTION")
lngAns = IsWindow(lngAns)
If lngAns <> 0 Then
MsgBox "窗体已经被加载!", vbOKOnly
End
Else
MsgBox "窗体未被加载!", vbOKOnly
End If
VB6 方法2 Dim frm As Object
Dim blnFlag As Boolean
For Each frm In Forms
If frm.Caption = "FORM标题" Then
blnFlag = True
Exit For
End If
Next frm
If blnFlag Then
MsgBox "Form已经加载"
Else
MsgBox "Form未加载"
End If VB.NET的代码 (简单的需改,VB6也可以运行)Public Function midchi(ByVal frmName As String) As Boolean
Dim chiFrm As Windows.Forms.Form
For Each chiFrm In Me.MdiChildren
If chiFrm.Name = frmName Then
If chiFrm.Visible Then
chiFrm.Activate()
Else
chiFrm.Show()
End If
Return True
End If
Next
Return False
End FunctionPrivate Sub MenuItem7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem7.Click
If midchi("frmComputer") Then
Exit Sub
End If
Dim frmCp As New frmComputer
frmCp.MdiParent = Me
frmCp.Show()
End Sub

2025-03-07 广告
ForceSCADA是力控科技信创产品的重要组成部分,具备完全自主知识产权,支持部署在Linux桌面版、服务器版、嵌入式等系统架构下。使用ForceSCADA可以搭建创新性高、扩展性佳、融合度强的SCADA平台,进而构建高效、智能化的监控中...
点击进入详情页
本回答由力控科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |