
2014-01-24
展开全部
你扫描一下进程列表,如果检索到你需要判断exe的进程,就是被打开或者运行中。反之,则没有。至于被其他程序占用,那就非常复杂了,可能这个exe被注入了某个系统进程中去了,你如果要分析这个,还要深度检索。
2014-01-24
展开全部
其实这个问题很简单的, 你自己早就会了的, 不过有时候由于紧张或着急, 你自己都不知道你自己已经回了给个简单的代码你看看的, 入门都能懂的 Private Sub Command1_Click()Cls
'text1是给用户输入可执行文件路径用的
If ExeIsOpen(Me.Text1.Text) Then
Print "Is Open"
Else
Print "Not Open"
End IfEnd SubPrivate Function ExeIsOpen(path As String) As Boolean
'捕捉 文件打开 错误
On Error GoTo IsOpen
'以独占写方式打开输入的可执行文件 路径
Open path For Output Lock Read Write As #1
Close #1'没有发生错误, 可执行文件 没有被运行
ExeIsOpen = False
Exit FunctionIsOpen:
ExeIsOpen = True
End Function 这个主要就是利用 独占的方式打开你要检测的exe因为如果exe已经被打开了那个这个程序想独占打开它就会发生错误, 就是利用这点来判断 最简单的你可以验证任务管理器 任务管理器的路径是 c:\windows\system32\taskmgr.exe
'text1是给用户输入可执行文件路径用的
If ExeIsOpen(Me.Text1.Text) Then
Print "Is Open"
Else
Print "Not Open"
End IfEnd SubPrivate Function ExeIsOpen(path As String) As Boolean
'捕捉 文件打开 错误
On Error GoTo IsOpen
'以独占写方式打开输入的可执行文件 路径
Open path For Output Lock Read Write As #1
Close #1'没有发生错误, 可执行文件 没有被运行
ExeIsOpen = False
Exit FunctionIsOpen:
ExeIsOpen = True
End Function 这个主要就是利用 独占的方式打开你要检测的exe因为如果exe已经被打开了那个这个程序想独占打开它就会发生错误, 就是利用这点来判断 最简单的你可以验证任务管理器 任务管理器的路径是 c:\windows\system32\taskmgr.exe
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-24
展开全部
同一名名字,就好解决了! If App.PrevInstance Then
mesg = MsgBox("程序已经运行,不能再次装载!", 0 + 48 + 0 + 0, Mtitle)
End
End If
mesg = MsgBox("程序已经运行,不能再次装载!", 0 + 48 + 0 + 0, Mtitle)
End
End If
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询