Текущий архив: 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.45 MB
Время: 0.011 c