如何解决 "%ProgramFiles%/Outlook Express/msimn.exe 的调用(100分)

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

5291

Unregistered / Unconfirmed
GUEST, unregistred user!
我发现到了 Win2000、WinXP 之后,ShellExec 无法调用类似 <br>"%ProgramFiles%/Outlook Express/msimn.exe" 的程序。
 
你可以首先取得system的目录得到系统盘符<br>然后就知道msimn.exe再那儿了
 
用 winexec('C:/Program Files/Outlook Express/msimn',sw_show);
 
这个我也知道。我的意思是:微软一直在改变这些系统目录的表示方法。<br>比如:%ProgramFiles%, %SystemDir%。<br>如果我都是用自行判断然后处理的办法,肯定是不行的。<br>有没有直接的函数可以调用 "%ProgramFiles%/Outlook Express/msimn.exe"
 
你的想法很对! 这个东西肯定要用系统提供的函数才是最好的解决办法:<br>procedure TForm1.BitBtn2Click(Sender: TObject);<br>var<br>&nbsp; Src: PChar;<br>&nbsp; Dest: string;<br>begin<br>&nbsp; Src := '%ProgramFiles%';<br>&nbsp; SetLength(Dest, 255);<br>&nbsp; SetLength(Dest, ExpandEnvironmentStrings(Src, PChar(Dest), 255));<br>&nbsp; ShowMessage(Dest);<br>end;<br>
 
后退
顶部