请问PB10.5如何取应用程序的当前路径?

hjf2006a 2007-11-04 10:48:59
Function Ulong GetCurrentDirectory(Ulong nSize,Ref string lpbuffer) library "kernel32.dll" Alias For "GetCurrentDirectoryA"

string s_AppPath
string ls
constant long ll_len=256

ls=space(ll_len)

GetCurrentDirectory(ll_len,ls)
ls_AppPath=trim(ls)+"\sets.ini"

结果:ls_AppPath="㩄杜z\sets.ini"
是一串乱码

应用程序的当前路径在10.5中该怎么求?
...全文
169 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jjoulejcc 2008-12-28
  • 打赏
  • 举报
回复
PB10.5没有GetCurrentDirectory()了嘛?
spring_cj 2008-12-23
  • 打赏
  • 举报
回复
FUNCTION ulong GetModuleFileName(ulong hModule,ref string lpFileName,ulong nSize) LIBRARY "kernel32.dll" ALIAS FOR "GetModuleFileNameA"

string ls_dir
string ls_path
ls_dir = Space(256)
GetModuleFileName(0, ls_dir, 256)
Environment E_nv
Int li_PBversion
int i
GetEnvironment(E_nv)
li_PBversion = E_nv.PBMajorRevision
IF Pos(ls_dir,"PB105.EXE") > 0 THEN
ls_path = GetCurrentDirectory ( )
ELSE
for i = len(ls_dir) to 1 step -1
If Mid(ls_dir,i,1) = '\' Then Exit
Next
ls_path = Left(ls_dir,i - 1)
END IF
return ls_path+"\"
wwwzxl 2008-12-23
  • 打赏
  • 举报
回复
ls_AppPath=GetCurrentDirectory( )+'\sets.ini'
184270428 2008-11-22
  • 打赏
  • 举报
回复
Function Ulong GetCurrentDirectory(Ulong nSize,Ref string lpbuffer) library "kernel32.dll " alias for "GetCurrentDirectoryW"
qlzgdzfl 2008-11-18
  • 打赏
  • 举报
回复
function int GetModuleFileNameA( long hinst, ref string lpszFilename, uint cbFileName ) library "kernel32.dll"

用这个试试
guxinyongjiu 2008-10-14
  • 打赏
  • 举报
回复
另我想加一个问题,当前路径可以用自带的函数,但是获取程序所在的目录的话只能用API了
,得出的也是乱码,请问,是什么原因和有什么解决办法
lionkings 2007-11-05
  • 打赏
  • 举报
回复
sle_1.text = GetCurrentDirectory( )
pb10.5自带的,不会是乱码! 干嘛要调用API呢?
worldly_wind 2007-11-04
  • 打赏
  • 举报
回复
Function Ulong GetCurrentDirectory(Ulong nSize,Ref string lpbuffer) library "kernel32.dll " alias for "GetCurrentDirectory;Ansi"
你把它改成上边的呢?

680

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder API 调用
社区管理员
  • API 调用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧