
13.09.2012, 03:24
|
 |
.
|
|
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
|
|
Вариант:
Код:
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 в.д.
|