HWND hWnd, // handle of window
int nIndex // offset of value to retrieve
);用此函数加GWL_HINSTANCE ,来得到当前进程的句柄
DWORD GetModuleFileName(
HMODULE hModule, // handle to module to find filename for
LPTSTR lpFilename, // pointer to buffer for module path
DWORD nSize // size of buffer, in characters
);
它们在PB中是这样用的:
先声明EXTERNAL FUNCTION,可在全局也可在局部:
function ulong GetModuleFileName(ulong hModule,ref string lpFilename,ulong nsize) Library "kernel32.dll" Alias for "GetModuleFileNameA"
function long GetWindowLong(ulong hWnd,int nIndex) library "user32.dll" Alias for "GetWindowLongA"
然后可在一个窗口的某一按钮单击事件中完成调用。
string strapp
ulong hmodule
strapp=space(50)
hmodule=GetWindowLong(handle(this),-6)
GetModuleFileName(hmodule,strapp,49)
messagebox("APPLICATION NAME",strapp)
得到这个STRAPP后,用字符串符数把应用程序名去掉就是目录名了。
DWORD GetModuleFileName(
HMODULE hModule, // handle to module to find filename for
LPTSTR lpFilename, // pointer to buffer for module path
DWORD nSize // size of buffer, in characters
);