进程路径问题
运行一进程 如记事本 NOTEPAD.EXE
改名为NOTEPAD1.EXE 或剪切到其他地方
怎样获取该进程的准确路径??
[解决办法]
三点帮你顶一下
[解决办法]
很有意思的问题 通常是利用shell api来做 也可以考虑利用快捷方式的特性来做
去 http://www.mndsoft.com
然后在搜索里输入“监视“,进行搜索。
[解决办法]
http://www.mndsoft.com/downfiles/LCProcess.rar
[解决办法]
在api32.txt里面没有的,自己声明吧,应该要用到三个函数,具体的你自己去查一下吧,如果不行,加我QQ,我给你个设计好了的,
[解决办法]
可以再次获取使用GetModuleFileNameExA来获取路径
[解决办法]
这是一段代码,函数返回文件所在的路径,不过要知道程序的PID(这个比较麻烦),你可以参考一下咯:
Public Declare Function OpenProcess Lib "kernel32.dll " (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Public Declare Function GetModuleFileNameEx Lib "psapi.dll " Alias "GetModuleFileNameExA " (ByVal hProcess As Long, ByVal hModule As Long, ByVal lpFilename As String, ByVal nSize As Long) As Long
Public Const STANDARD_RIGHTS_REQUIRED As Long = &HF0000
Public Const SYNCHRONIZE As Long = &H100000
Public Const PROCESS_ALL_ACCESS As Long = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &HFFF)
Public Function EnumFileName( Byval Pid As Long) As String '根据进程PID返回文件所在路径
Dim hProc As Long
Dim NFile As Long
Dim filename As String * 64
hProc = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
NFile = GetModuleFileNameEx(hProc, 0, filename, 64)
EnumFileName = filename & vbNullString
n = CloseHandle(a)
End Function
[解决办法]
一个程序运行的时候好象不能被改名的吧。
lz的意思我还是看不明白。
[解决办法]
不行
不知道冰刃怎么做的..