我有一个可以从不同的exe应用程序调用的dll (dll和exe的dll是用Delphi 5编写的)。是否有可能在dll中知道它是从哪个exe应用程序调用的?换句话说,假设我有App1.exe、App2.exe和MyDll.dll。调用MyDll.exe的App1.exe。我想知道在dll中,它是从App1调用的,而不是从App2调用的。
发布于 2015-10-09 02:54:46
如果您调用Windows函数GetModuleFileName(),将NULL (0)作为模块句柄(第一个参数)传递,那么这将返回进程的文件名,即可执行文件:
function GetProcessFileName: String;
var
buf: array[0..MAX_PATH-1] of Char;
begin
GetModuleFileName(0, @buf, Length(buf));
result := buf;
end;注意:正如雷蒙德·陈( Raymond )常说的那样,示例程序很少或根本不检查错误!:)
有关此API使用的进一步信息,请参阅文档并相应使用。
https://stackoverflow.com/questions/33028925
复制相似问题