Форум: "WinAPI";
Текущий архив: 2003.06.09;
Скачать: [xml.tar.bz2];
ВнизВторой экземпляр приложения Найти похожие ветки
← →
ККВ (2003-04-08 09:03) [0]Товарищи, подскажите пожалуйста. Использую сл. процедурку
для предотвращения запуска второго экземпляра приложения.
Все работает. Но как показать этот первый экземпляр
приложения (сделать окно активным) не знаю. Помогите пожалуйста.
Спасибо.
procedure TSpisReeFrm.FormCreate(Sender: TObject);
var Wnd: hWnd;
buff: array[0.. 127] of char;
begin
Wnd := GetWindow(Handle, gw_HWndFirst);
while Wnd <> 0 do
begin
if (Wnd <> Application.Handle) and (GetWindow(Wnd, gw_Owner) = 0) then
begin
GetWindowText(Wnd, buff, sizeof (buff ));
if StrPas (buff) = Application.Title then
begin
Application.MessageBox("
← →
Cobalt (2003-04-08 11:12) [1]Знаешь, в справке (Win32 Developer"s Reference), рядом с именем функции "GetWindow" есть такая кнопка, с надписью "Group". Очень помогает.
← →
Soft (2003-04-08 12:17) [2]Пришли мне свой mail, с вопросом, вышлю модуль для одиночного запуска приложения. Модуль не мой, но работает отлично.
← →
Erik (2003-04-08 13:02) [3]Используй Handle := CreateMutex(nil, true, ObjName);
И незабудь поставить проверку в самом файле проекта, а не в форме.
← →
Diamond Cat (2003-04-08 14:52) [4]модно и CreateMutex а можно просто Findwindow, до создания формы
← →
panov (2003-04-08 17:10) [5]Ищи в FAQ.
← →
_ALEXey_ (2003-04-09 17:13) [6]Где-то здесь есть статья и про мьютексы, и про атомы, и про FindWindow. Поищи, почитай. Полезная вещь!
← →
y-soft (2003-04-10 13:13) [7]Вопрос из серии частозадаваемых
Может это поможет http://www.delphimaster.ru/articles/limit.html
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.06.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c