Вниз
Скачать: 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.014 c
3-59616
ligor
2003-04-28 22:13
2003.05.19
FibPlus


14-59937
Vint
2003-04-30 09:40
2003.05.19
с наступающими Праздниками!


1-59719
Navi
2003-05-04 08:55
2003.05.19
Таскать картинку как в ACDSee или ScrollBox


3-59566
Sergant
2003-04-26 15:06
2003.05.19
Мониторинг обновления БД и Timer


14-59925
dbDev
2003-04-28 10:23
2003.05.19
Компоненты для доступа к dbf & db таблицам




   Наверх