请救,API问题,,50分!!(0分)

  • 主题发起人 主题发起人
  • 开始时间 开始时间

Unregistered / Unconfirmed
GUEST, unregistred user!
我用GetModuleFileName函数返回的路径怎么没有盘符??????
 
不可能,你试试<br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br>&nbsp; Name : array[0..128] of Char;<br>begin<br>&nbsp; GetModuleFileName(0, Name, 128);<br>&nbsp; ShowMessage(Name);<br>end;<br>
 
GetModuleFileName函数功能是返回当前可执行文件的完整路径名及文件名,<br>&nbsp;可能你设的长度不够
 
to peter.pan<br>不是这个问题,,楼上那位朋友已解答了,不过还是要谢谢你
 
DWORD GetModuleFileName(<br>&nbsp; &nbsp; HMODULE hModule, // handle to module to find filename for <br>&nbsp; &nbsp; LPTSTR lpFilename, // pointer to buffer for module path <br>&nbsp; &nbsp; DWORD nSize // size of buffer, in characters <br>&nbsp; &nbsp;); <br><br>lpFilename是C格式的字符串,你用string[255]是pascal格式的,所以乱了。<br>
 
是因为格式不对??<br>
 
奇怪,,用char就可以了!!<br>我是这样定义的<br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br>&nbsp; Name : string[255];<br>begin<br>&nbsp; GetModuleFileName(0, @Name, sizeof(name);<br>&nbsp; ShowMessage(Name);<br>end;<br><br>他显示的是没有头盘符的,,我得这问题就出现在类型定义上,请教一下<br>Name : array[0..255] of Char;<br>和<br>Name:string[255];<br>的分别呢,,我忘记了,谢谢!!<br>BTW:请问你有MSN吗??请加入我pengj@higoal.com 谢谢!!!<br>和 array<br><br>
 
假如LPTSTR 参数是需要一个字符变量,那么我用<br>Name : array[0..255] of Char;<br>和<br>Name:string[255];<br>得到的结果是否是一样的??<br>
 
不一样,c的字符串是以null结尾的如'hello'存储格式为 <br>s[0]='H' s[1]='e' s[2]='l' s[3]='l' s[4]='o' s[5]='/0'<br>string[255]存储格式为<br>s[0]=5(长度) s[1]='H' s[2]='e' s[3]='l' s[4]='l' s[5]='o'<br><br>
 
哦,,呵呵,,我明白了,,<br>谢谢,,请来这里拿分<br>http://www.delphibbs.com/delphibbs/dispq.asp?lid=705238<br>
 
接受答案了.
 
后退
顶部