[转帖]在PB中如何得到程序的运行路径?
<P>1、先申明外部函数</P><P>FUNCTION ulong GetModuleFileName(ulong hModule,ref string lpFileName,ulong nSize) LIBRARY "kernel32.dll" ALIAS FOR "GetModuleFileNameA"</P>
<P>2、下面的代码</P>
<P>string gs_currdir<BR>gs_currdir = Space(256)<BR>GetModuleFileName(0, gs_currdir, 256)<BR>Environment E_nv<BR>Int li_PBversion<BR>GetEnvironment(E_nv)<BR>li_PBversion = E_nv.PBMajorRevision<BR>IF Pos(gs_currdir,"pb"+String(li_PBversion)+"0.exe") > 0 THEN<BR>gs_currdir = GetCurrentDirectory ( )<BR>ELSE<BR>gs_currdir = Left(gs_currdir,LastPos(gs_currdir,"\") -1)<BR>END IF</P>
<P>3、OK!</P>
<P>说明:pb9.0及以上的GetCuttentDirectory()并不是得到程序运行的路径, 而是得到当前的工作路径,在程序运行当中,工作路径是可能会改变的。</P>
页:
[1]