winexec 与 shellexecute参数传递的有什么区别???(50分)

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

casser

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了一个程序需要传递程序调用a.exe,<br>这样写能正常运行:<br>procedure TForm1.BitBtn1Click(Sender: TObject);<br>var ip:string;<br>var &nbsp;ports:string;<br>begin<br>ip:='61.53.137.227';<br>ports:='44409';<br>&nbsp;ShellExecute(Handle, 'open', 'Main.exe', PChar('connter /u'+ip+' /p'+ports),nil, SW_SHOW);<br>end;<br>而这样去不行:winexec(Handle, 'open', 'Main.exe', PChar('connter /u'+ip+' /p'+ports),nil, SW_SHOW);<br>谁告诉我怎么办啊?
 
首先说一下winexec,winexec的第一个能数是命令行,注意是命令行,所以可以包括执行文件和参数,如 'main.exe'+'connter /u'+ip+' /p'+ports<br>所以你可以这么winexec('main.exe'+'connter /u'+ip+' /p'+ports, SW_SHOW);<br>
 
其实你看一下Delphi带的API帮助<br>两个函数的参数是不一样的<br>ShellExecute有六个参数<br>winexec只有两个<br><br>至于每个参数应该用什么值看看帮助也不难理解^_^
 
賴得理你
 
to boot.ini : 老大不行啊,出现编译错误:<br>&nbsp; [Error] Unit1.pas(267): Incompatible types: 'String' and 'PAnsiChar'<br>&nbsp; [Fatal Error] Project2.dpr(5): Could not compile used unit 'Unit1.pas'<br>我把winexec('main.exe'+'connter /u'+ip+' /p'+ports, SW_SHOW);<br><br>改为:winexec(pchar('main.exe'+'connter /u'+ip+' /p'+ports), SW_SHOW);<br>能通过编译但运行次程序不能调用main.exe并 执行<br>
 
呵,你能确定你的命令行正确吗,还有通过winexec执行的命令不能直接打开非可执行文件,如:winexec(pchar('vs.txt'), SW_SHOW);这种做法是错误的。还有,你对于main.exe这个文件要指定路径啊,如:<br>winexec(pchar('c:/main.exe'+'connter /u'+ip+' /p'+ports), SW_SHOW);<br>
 
后退
顶部