Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.15;
Скачать: CL | DM;

Вниз

Активизация формы после выполнения внешней программы   Найти похожие ветки 

 
Федина Лидия   (2002-06-27 16:27) [0]

Я запускаю стандартную программу Windows - калькулятор из своего приложения по кнопке. Если, поработав в калькуляторе, я его закрываю - то все нормально, моя форма активна. Если, после запуска калькулятора, я его сверну в иконку, затем разверну, а потом уже закрою, то мое приложение не активно, пока я не щелкну кнопкой мыши. Можно ли что-то сделать в этой ситуации?
Заранее благодарна за ответ.


 
Volj ©   (2002-06-27 16:28) [1]

SetFocus или SetForegroundWindow


 
kull ©   (2002-06-27 17:40) [2]


> SetFocus или SetForegroundWindow

Кто фокус ставить будет, калькулятор что ли?


 
Volj ©   (2002-06-27 17:55) [3]

procedure TForm1.Button1Click(Sender: TObject);
begin
WindowState := wsMinimized;
fileExec("calc", SW_SHOW, True);
WindowState := wsNormal;
SetForegroundWindow(Handle);
end;

function fileExec(const aCmdLine: String; SW_MODE:Word; aWait: Boolean): Boolean;
var
StartupInfo : TStartupInfo;
ProcessInfo : TProcessInformation;
begin
FillChar(StartupInfo, SizeOf(TStartupInfo), 0);
with StartupInfo do
begin
cb:= SizeOf(TStartupInfo);
dwFlags:= STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
wShowWindow:= SW_MODE;
end;
Result := CreateProcess(nil,PChar(aCmdLine), nil, nil, False,
NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo);
if aWait then
if Result then
begin
WaitForInputIdle(ProcessInfo.hProcess, INFINITE);
WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2002.07.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
1-47515
Ghg
2002-07-04 16:37
2002.07.15
Вопрос по процедуре floodfill


1-47493
Cherepovets
2002-07-04 10:54
2002.07.15
ToolBar в MDI


3-47235
RIPer
2002-06-20 16:33
2002.07.15
Алиас


3-47068
MsGuns
2002-06-20 21:46
2002.07.15
Опять про Answer как таблице


1-47362
ctapik-net
2002-07-01 15:55
2002.07.15
Убить поток