WinExec и ShellExecute устаревшие функции и оставлены для совместимости, нужно использовать CreateProcess, мало того не требуется дополнительных объявлений в USES,типа ShellApi
| Код | procedure TForm1.Button1Click(Sender: TObject); var StartInfo: TStartupInfo; ProcInfo: TProcessInformation; CmdLine: ShortString; begin { Помещаем имя файла между кавычками, с соблюдением всех пробелов в именах Win9x } //CmdLine := '"' + Filename + '" ' + Params; CmdLine := 'explorer /e, d:\myfolder'; FillChar(StartInfo, SizeOf(StartInfo), #0); with StartInfo do begin cb := SizeOf(StartInfo); dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES; wShowWindow := sw_normal; end; CreateProcess(nil, PChar( String( CmdLine ) ), nil, nil, false, CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil,StartInfo,ProcInfo);
end;
| |