如上
解决方案 »
- 如何调用手写识别的输入法
- 在线等待,记录型动态数组问题!!!!
- 怎么指定TreeView的onchange事件 完整问题请点击进入 COME ON
- 用delphi怎样在win2000和winxp中自定义打印纸张?
- TabSheet页面之间切换出错了。。
- 如何将规定了格式的文件导入到ORACLE的相应数据表格中去啊!
- 郁闷,用qreport做的b4的报表只能手工改为a4了,可是四个报表啊,放分,顺便请大家推荐几个好的报表控件
- 如何使用DBGrid返回查询的结果。
- 如何终止启动的项目(请写出原码)
- 如何把html文件中超级链接的绝对地址改为相对地址,有无现成控件?
- 这段javascript怎样写成 delphi 语言(别笑我哈,还没有入门)
- 这是delphi的一个bug吗?
LPTSTR lpFilename, // pointer to buffer for module path
DWORD nSize // size of buffer, in characters
);
var
fn: array [0..MAX_PATH-1] of char;
hProcess: THANDLE; hMod: array [0..1023] of HMODULE;
cbNeeded,size: DWORD;
i: DWORD;
p: PProcessRec;
begin
Result := '';
hProcess:=OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ,FALSE,processID);
if (hProcess <> 0) {and (hProcess <> $FFFFFFFF)} then
begin
if (EnumProcessModules(hProcess,@hMod,sizeof(hMod),@cbNeeded)) then
begin
size := cbNeeded div sizeof(HMODULE);
GetModuleFileNameEx(hProcess,hMod[0],fn,sizeof(fn));
Result := fn;
if Pos('\??\', Result) = 1 then
Delete(Result, 1, 4)
else if Length(Result) > 3 then
if (Result[1] = '\') and (Result[2] <> '\') then
begin
Result[1] := '%';
i := Pos('\', Result);
if i > 0 then
Insert('%', Result, i);
end;
ExpandFilePath(Result);
end;
end;
CloseHandle(hProcess);
end;