Главная страница
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.018 c
3-47229
skiph
2002-06-20 11:14
2002.07.15
Фильтр на ADOQuery


1-47259
Stelius
2002-06-28 00:35
2002.07.15
Вопрос по CONSTRUCTOR у


14-47788
VID
2002-06-14 00:21
2002.07.15
Использование нелицензионного софта


7-47824
Nina
2002-04-18 09:51
2002.07.15
Shut Down


1-47361
CA
2002-06-30 12:57
2002.07.15
Параметр