Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Второй экземпляр приложения [D7, WinXP]


ККВ ©   (2003-04-08 09:03:00) 

Товарищи, подскажите пожалуйста. Использую сл. процедурку
для предотвращения запуска второго экземпляра приложения.
Все работает. Но как показать этот первый экземпляр
приложения (сделать окно активным) не знаю. Помогите пожалуйста.
Спасибо.

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("


y-soft   (2003-04-10 13:13:00) [1]

Вопрос из серии частозадаваемых
Может это поможет http://www.delphimaster.ru/articles/limit.html


_ALEXey_   (2003-04-09 17:13:00) [2]

Где-то здесь есть статья и про мьютексы, и про атомы, и про FindWindow. Поищи, почитай. Полезная вещь!


panov   (2003-04-08 17:10:00) [3]

Ищи в FAQ.


Diamond Cat   (2003-04-08 14:52:00) [4]

модно и CreateMutex а можно просто Findwindow, до создания формы


Erik   (2003-04-08 13:02:00) [5]

Используй Handle := CreateMutex(nil, true, ObjName);
И незабудь поставить проверку в самом файле проекта, а не в форме.


Soft   (2003-04-08 12:17:00) [6]

Пришли мне свой mail, с вопросом, вышлю модуль для одиночного запуска приложения. Модуль не мой, но работает отлично.


Cobalt   (2003-04-08 11:12:00) [7]

Знаешь, в справке (Win32 Developer"s Reference), рядом с именем функции "GetWindow" есть такая кнопка, с надписью "Group". Очень помогает.


Наверх

Титульная страница Поиск, карта сайта Написать письмо