Форум: "Начинающим";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];
ВнизКак восстановить программу зная ее 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c