请教关于CreateProcess的问题,高手指教(100)

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

xiaoyue_a

Unregistered / Unconfirmed
GUEST, unregistred user!
一个在cmd中可以这样运行的命令:d:/example2/$eclipse ex1使用CreateProcess我试了好多次都不能真确运行:CreateProcess( nil,PChar('$eclipse.bat ex1'), nil,nil,True,NORMAL_PRIORITY_CLASS, nil,PChar('D:/example2'),SI,PI) 大家说说是咋回事啊,我弄了两天了,头疼ing1
 
不会把 你这样搞 CreateProcess 一定对应的是exe程序 后面的参数是启动参数 和启动文件名称 你这样搞怎么能行
 
winexec(pchar(d:/example2/$eclipse.bat ex1),sw_hide);
 
不行啊,大家指点一下吧!
 
The CreateProcess function creates a new process and its primary thread. The new process executes the specified executable file.
 
to:【浪人情哥】那我说的这个问题该怎么解决啊?指点一下吧
 
用Bat文件处理试试吧,Bat文件毕竟是在Cmd窗口下执行的。
 
用delphi怎么实现呢?
 
大家帮帮忙吧!
 
wql的应该可以的,你的 $eclipse 扩展名是什么?如果是bat,那就winexec(pchar('d:/example2/$eclipse.bat ex1'),sw_hide);
 
不如在bat 里 start ex1
 
Cmd bat 你首先要在注册表里找对应的打开exe文件才可以 ,就和记事本一样,打开的肯定不是txt文件 那个只是启动他的参数 晕
 
var sei : SHELLEXECUTEINFO;begin FillChar(sei, SizeOf(sei), 0); sei.cbSize := sizeof(SHELLEXECUTEINFO); sei.fMask := SEE_MASK_NOCLOSEPROCESS; sei.lpFile := PChar('$eclipse'); sei.lpParameters := PChar('ex1); sei.lpDirectory := PChar('D:/example2'); sei.nShow := SW_SHOW; ShellExecuteEx(@sei); WaitForSingleObject(sei.hProcess, INFINITE);这样可以了,谢谢大家帮忙!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
538
import
I
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部