读书人

怎么使用DELPHI编程实现如下功能?

发布时间: 2013-12-19 00:33:34 作者: rapoo

如何使用DELPHI编程实现如下功能??
如何使用DELPHI编程实现如下功能??
我想使用DELPHI编写一个程序
程序功能: 获取新运行程序的 文件名及路径
并显示出来

比方说:这个程序是ABC.EXE,运行后
我再运行 NOTEPAD.EXE
就马上显示出这个程序的文件: notepad.ext及路径C:\WINDOWS\system32

[解决办法]

function GetModuleFileNameExW(hProcess: THandle; hModule: HMODULE;
lpFilename: PWideChar; dwSize: DWORD): DWORD stdcall;
external 'PSAPI.DLL' name 'GetModuleFileNameExW';

//获取目标进程文件名含路径
//hProcess具有 PROCESS_QUERY_INFORMATION 和 PROCESS_VM_READ权限
function GetProcessFileName(hProcess: THandle) : String;
var
cb : DWORD;
sBuf : WideString;
begin
SetLength(sBuf , MAX_PATH);
cb := GetModuleFileNameExW(hProcess , 0 , Pointer(sBuf) , MAX_PATH);
Result := Copy(sBuf , 1 , cb);
end;


你要马上显示,只有Hook或者驱动能完成,要求不那么严格时,可以用定时器去刷,Windows自带的任务管理器就是定时刷的

读书人网 >.NET

热点推荐