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

Вниз

Как восстановить программу зная ее THandle, из другой программы?   Найти похожие ветки 

 
Layner ©   (2006-07-13 14:18) [0]

Программа свернута. Знаю ее THandle. Можно ли ее максимизировать? Пробовал SetForegroundWindow(hwnd), но что то программа не окликается :(


 
Юрий Зотов ©   (2006-07-13 14:33) [1]

OpenIcon
ShowWindow


 
Layner ©   (2006-07-13 14:38) [2]

Делал
  ShowWindow(hwnd, SW_MAXIMIZE);
  SetForeGroundWindow(hwnd);
  UpdateWindow(hwnd);

и
  ShowWindow(hwnd, SW_RESTORE);
Что то ничего не понимаю, почему первый экземпляр программы восстанавливатся не хочет. На самом деле это из серии "как не запустить 2ю копию программы", хотелось бы доработь, и при запуске, 2ю программу грахать, но перед этим, востановить первую в полное окно.

Код весь такой:


program Project1;

uses
 Forms,
 Windows, // не забудьте эту строчку
 Unit1 in "Unit1.pas" {Form1};

 {$R *.RES}

var
 HM: THandle;
function Check: boolean;
begin
 HM := OpenMutex(MUTEX_ALL_ACCESS, false, "MyOwnMutex");
 Result := (HM <> 0);
 if HM = 0 then
   HM := CreateMutex(nil, false, "MyOwnMutex");
end;

begin
 if Check then
  begin
   MessageDlg("Only one copy!!!", mtWarning, [mbOk], 0);
//    ShowWindow(HM, SW_MAXIMIZE);
//   SetForeGroundWindow(HM);
//    UpdateWindow(HM);
   ShowWindow(HM, SW_RESTORE);
   Exit;
  end;
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.Run;
end.



 
Юрий Зотов ©   (2006-07-13 14:41) [3]

Есть подозрение, что ShowWindow требует хэндл окна, а не мьютекса.


 
GrayFace ©   (2006-07-14 00:08) [4]

:)))



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

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

Наверх




Память: 0.47 MB
Время: 0.056 c
8-1139763034
Admeral
2006-02-12 19:50
2006.08.06
Прозрачный фон?


15-1151876608
Dimedrol
2006-07-03 01:43
2006.08.06
HTML: Посмотрите на ошибку - никак не осилю


2-1153297021
Piero
2006-07-19 12:17
2006.08.06
MessageBox с кнопками на русском


2-1153202972
vigo_
2006-07-18 10:09
2006.08.06
Вызов процедуры/функции из другого Unit


2-1152808926
Drug1985
2006-07-13 20:42
2006.08.06
Непонятная ошибка. Объясните кто понимает...