来帮我看看这段程序吧!(我想知道错在哪儿)急!!!!!!!(100分)

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

?!?!

Unregistered / Unconfirmed
GUEST, unregistred user!
[?]//功能:热行程序参数所带的软件
//例如"test c:/windows/notepad.exe"则执行"c:/windows/notepad.exe"
//发现问题1:如果将主程序中X2行换为加了注释的X1行,则无法创建进程
//发现问题2:如果使用X2行,则无法正确识别文件名中带空格的程序,
// 例如"c:/program files/realplay one.exe"


//奖分原则:奖分给最先完美解决问题者(最好能给出详细的解释)
//希望能得到大家的帮助。

//变量说明
var
I:Integer;
pa:string;

//过程定义
procedure procRun(exeName,exePath:pChar;trace:boolean);
var
SUInfo: TStartupInfo;
ProcInfo: TProcessInformation;
begin
FillChar(SUInfo, SizeOf(SUInfo), #0);
with SUInfo do
begin
cb := SizeOf(SUInfo);
dwFlags := STARTF_USESHOWWINDOW;
wShowWindow :=1;
end;
if CreateProcess(NIL,exeName, NIL, NIL, FALSE,CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, NIL,exePath, SUInfo, ProcInfo) then
begin
if trace then
WaitForSingleObject(ProcInfo.hProcess, INFINITE);
CloseHandle(ProcInfo.hProcess);
CloseHandle(ProcInfo.hThread);
end;
end;


//主程序
begin
for i:=1 to ParamCount do
pa:=pa+' '+ParamStr(i);
if Pa <>'' then
//procRun(PChar(pa),PChar(ExtractFilePath(pa)),false); {X1}
procRun(PChar(pa),PChar(ExtractFilePath(paramStr(1))),false); //x2
end.
 
在线急等………………[?]
 
没人明白?不会吧?我UP一下! :O


(失望!)
 
顶部