![]() |
|
#2
|
||||
|
||||
![]() Вариант:
Код:
program console; {$APPTYPE CONSOLE} uses Windows, SysUtils; function GetConsoleWindow : HWND; stdcall; external 'Kernel32.dll'; var SI : TStartupInfo; PI : TProcessInformation; St : String; Wnd : HWND; begin Wnd := GetConsoleWindow; FillChar(SI, SizeOf(TStartUpInfo), 0); SI.cb := SizeOf(TStartUpInfo); SI.dwFlags := STARTF_USESHOWWINDOW; SI.wShowWindow := SW_SHOWNORMAL; WriteLn('Введите команду'); WriteLn; while True do begin ReadLn(St); St := AnsiUpperCase(St); if (St = 'E') or (St = 'EXIT') then Break; if (St = 'SG') or (St = 'SHOWGUI') then begin if CreateProcess(NIL, 'notepad.exe', NIL, NIL, False, NORMAL_PRIORITY_CLASS, NIL, NIL, SI, PI) then begin ShowWindow(Wnd, SW_HIDE); if WaitForSingleObject(PI.hProcess, INFINITE) = WAIT_OBJECT_0 then CloseHandle(PI.hProcess); CloseHandle(PI.hThread); ShowWindow(Wnd, SW_SHOW); end; end; end; end. Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
Amgsys HQ (13.09.2012)
|