首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

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

2013-12-19 
如何使用DELPHI编程实现如下功能??如何使用DELPHI编程实现如下功能??我想使用DELPHI编写一个程序程序功能:

如何使用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自带的任务管理器就是定时刷的

热点排行