
05.01.2012, 18:37
|
Прохожий
|
|
Регистрация: 03.01.2012
Сообщения: 10
Репутация: 10
|
|
PHP код:
procedure TForm1.FormCreate(Sender: TObject);
var
stdOut: THandle;
startUpInfo: TStartUpInfo;
ProcInfo: TProcessInformation;
tmpSec: TSecurityAttributes;
Path,dirName,exeName,cmdLine: string;
begin
Path:='123.txt';
// Можно поставленную тобоой задачу решить этой строкой
// WinExec(PChar('cmd /k dir>'+Path),SW_SHOWNORMAL);
// вот что просишь ты ...
FillChar(tmpSec, SizeOf(tmpSec), #0);
tmpSec.nLength := SizeOf(tmpSec);
tmpSec.bInheritHandle := True;
stdOut :=CreateFile(PChar(Path), Generic_Write, File_Share_Write, @tmpsec, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
FillChar(ProcInfo, sizeof(TProcessInformation), #0);
FillChar(startUpInfo, SizeOf(TStartUpInfo), #0);
startUpInfo.cb := SizeOf(TStartUpInfo);
startUpInfo.hStdOutput := stdOut;
startUpInfo.wShowWindow := SW_SHOW;
startUpInfo.dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES;
dirName:='C:\';
exeName:='cmd.exe';
cmdLine:='/k dir';
if CreateProcess(nil, PChar(exeName + ' ' + cmdLine), nil, nil, True,NORMAL_PRIORITY_CLASS, nil, PChar(dirName), startUpInfo, procInfo) then
begin
WaitForSingleObject(procInfo.hProcess, Infinite);
CloseHandle(ProcInfo.hThread);
CloseHandle(ProcInfo.hProcess);
closeHandle(stdOut);
end;
end;
|