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

Вниз

второй экземпляр программы не запускался   Найти похожие ветки 

 
Alinka ©   (2002-12-10 11:28) [0]

Добрый день,мастера! Как сделать чтобы при втором запуске программы второй экземпляр программы не запускался, а активизировался первый запущенный(минимизированный или свернутый в трей)экземпляр программы.


 
bak ©   (2002-12-10 11:57) [1]

пишешь в дпр"е

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

begin

if Check then begin
//вызов I экземпляра проги
// что-то типа
// ShowWindow(FindWindow(nil, PChar("название гл. окна проги"), SW_SHOWNORMAL);
exit;
end;


 
Alinka ©   (2002-12-10 12:13) [2]

ShowWindow(FindWindow(nil, PChar("название гл. окна проги"), SW_SHOWNORMAL);
Эта команда разворачивает окно из минимизированного состояния, но если программа свернута в трей разворачивания окна не происходит.


 
Alinka ©   (2002-12-10 12:37) [3]

Все ОК. Спасибо.


 
Alinka ©   (2002-12-10 14:01) [4]

Не совсем все в порядке.
Дело в том, что восстанавливать можно получается только главную форму приложения?
В моем случае есть вариант когда приложение запужено, но в событии OnShow запрашивается пароль доступа к БД ,соответственно выводится форма Идентификации. Так вот если эта форма минимизирована, то я не могу ее восстатановить её.


 
Song ©   (2002-12-10 14:05) [5]

SW_RESTORE


 
Sha ©   (2002-12-10 14:45) [6]

Вот недавно уже давал кому-то:

procedure ActivateOldInstance;
var
FoundWindow, FoundPopup : THandle;
begin;
try;
FoundWindow:=FindWindow(nil,PChar(AppTitle));
if FoundWindow<>0 then begin;
FoundPopup:=GetLastActivePopup(FoundWindow);
if IsIconic(FoundWindow) then ShowWindow(FoundWindow,SW_RESTORE);
BringWindowToTop(FoundWindow);
if FoundPopup<>0 then begin;
if IsIconic(FoundPopup) then ShowWindow(FoundPopup,SW_RESTORE);
BringWindowToTop(FoundPopup);
SetForegroundWindow(FoundPopup);
end;
end;
except end;
end;




 
Nic2   (2002-12-13 19:03) [7]

Может я чет нито делаю, но ничего из этого не работает.



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

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

Наверх




Память: 0.48 MB
Время: 0.017 c
1-86874
?-
2003-01-19 02:34
2003.01.27
Что бы это значило?


1-86754
laser
2003-01-15 23:30
2003.01.27
помогите пожалуйста разобрать (что-то не работает)


1-86755
Соловьев
2003-01-17 16:10
2003.01.27
Какое свойство ListBox отвечает за то что выбрана строка?


14-87133
id_privin
2003-01-10 10:16
2003.01.27
FAQ по Excel ю


3-86625
VID
2003-01-10 01:21
2003.01.27
DBGridEh: подсветка ячейки(не строки!)