Форум: "WinAPI";
Текущий архив: 2003.05.19;
Скачать: [xml.tar.bz2];
ВнизКак, при попытке повторного запуска приложения, найти предыдущее? Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.05.19;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c