Вниз
Скачать: CL | DM;

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

← →
Astrov Alseos   (2003-03-18 16:45) [0]

Здравствуйте!
...мне бы хотелось сделать "грамотно". Т.е. если пользователь "случайно" пытается запустить вторую копию приложения, то найти и активизировать уже имеющиюся копию.
У меня, почти что, получилось это,но...
После того, как отрабатывает этот текст программы, главная форма приложения почему-то не минимизируется, ди и всё приложение ведёт себя "странно", с точки зрения контроля над ним... Пожалуйста, подскажите, где именно я не совсем прав?

Вот, что я пишу в DPR:


program NrX;

uses
Forms,
Windows,
NrU0001 in "NrU0001.pas" {MainForm},
NetDBf01U in "NetDBf01U.pas" {NetDbf01},
LocDBf01U in "LocDBf01U.pas" {LocDbf01},
NrU0002 in "NrU0002.pas" {IIn},
NrU0003 in "NrU0003.pas" {KIn},
NrU0005 in "NrU0005.pas" {ISn},
NrU0006 in "NrU0006.pas" {KSn},
NrU0008 in "NrU0008.pas" {KInS},
NrU0009 in "NrU0009.pas" {KSnS},
NrU0012 in "NrU0012.pas" {VED05};

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;

{$R *.res}

begin
if Check then
begin
ShowWindow(FindWindow(nil,"Главная форма"), SW_ShowNormal);
SetForegroundWindow(FindWindow(nil,"Главная форма"));
Exit
end;

Application.Initialize;
Application.CreateForm(TMainForm, MainForm);
..............................................................


Помогите!


← →
Игорь Шевченко ©   (2003-03-18 17:33) [1]

FAQ



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
8-59805
Vbmen
2003-02-08 09:39
2003.05.19
Работа со звуком


1-59739
Anna
2003-05-06 09:05
2003.05.19
QuickReport


14-59913
Suntechnic
2003-04-30 06:58
2003.05.19
Windows Media Player 9 problem


9-59532
Евгений Анатольевич
2002-12-11 11:24
2003.05.19
Алгоритм движения автомобиля


3-59578
BJValentine
2003-04-25 20:09
2003.05.19
ConnectionTimeOut в ADO




   Наверх