我有一個DLL的函數,我希望能獲知調用者的確切文件名,我會依據文件名的不同返回不同的結果。如何做到這點?
解决方案 »
- 已经从串口读入角度 double angle ,现在想对角度求导求角速度,应该怎么做好?
- c# 堆被损坏!!!!!
- 按完其他按钮,返回输入框
- 高手帮助:如何实现office类似的可以文字、图像混合编辑的输入框?
- Windows SDK 与 DDK有什么区别?DDK有什么用?
- 请教关于色阶调整的原理问题
- photoshop里面的自动色阶(auto level)原理是什么??
- 事件冒泡问题
- 如何让MDI主菜单的某一项不显示出来?
- 请问谁有基于UDP的保证可靠连接和传输的自定义协议的源程序或设计方法或思路??(欢迎讨论!!)(UP有分)
- 明天相亲,高兴,散分
- 如何将html转换为txt文件,up有分
GetModuleFileName( NULL, path, MAX_PATH );
path是主exe的名称
我事先是不知道調用者是誰的阿。
如果主EXE是通過某個DLL間接調用我的函數,那麽我想知道那個DLL是誰阿
DWORD GetModuleFileName(
HMODULE hModule, // handle to module to find filename for
LPTSTR lpFilename, // pointer to buffer to receive module path
DWORD nSize // size of buffer, in characters
);
记得分配lpFilename内存,一般大小是MAX_PATH,如果是VC.NET,就是_MAX_PATH,OK.
do
{
从MODULEENTRY32中取modBaseAddr,modBaseSize ,确认caller_ret_addr是否在其中
if(在)
{
GetModuleFileName取文件名
break;
}
}
while (Module32Next)