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

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

Проблема с SendMessage [D7, WinXP]


kolj ©   (2008-11-16 14:56:00) 

Здраствуйте ! Возникла проблема с SendMessage, не доходит сообщение. Стоит задача предотвратить повторний запуск преложения и если такой возник, то вывести запущеное приложение на передний план.
Делаю так:

CreateMutex(nil, false, 'MyApp');
if GetLastError = ERROR_ALREADY_EXISTS then begin
SendMessage(HWND_BROADCAST,
               RegisterWindowMessage('MyApp'),
               0,
               0);
    Halt(0);
 end;

 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.Run;

--------------------------

private
procedure DefaultHandler(var Message:TMessage);

var
 Form1: TForm1;
 MyMsg : DWord;

procedure TForm1.DefaultHandler(var Message:TMessage);
begin
if Message.Msg=MyMsg then begin
 listbox1.Items.Add('my message');
end;
Inherited DefaultHandler(Message);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
MyMsg := RegisterWindowMessage('MyApp');
end;


  (2009-01-02 14:49:00) [1]

Удалено модератором


  (2009-01-02 12:46:00) [2]

Удалено модератором


  (2009-01-02 11:19:00) [3]

Удалено модератором


  (2009-01-02 11:18:00) [4]

Удалено модератором


Юрий Зотов   (2008-11-17 15:31:00) [5]

http://delphikingdom.com/asp/viewitem.asp?catalogid=904


Leonid Troyanovsky   (2008-11-16 16:38:00) [6]


> kolj   (16.11.08 14:56)  

> и если такой возник, то вывести запущеное приложение на
> передний план.

А нафих Mutex?
Memory mapped file or Semaphore, на худой конец.

> SendMessage(HWND_BROADCAST,

Must die.

--
Regards, LVT.


Сергей М.   (2008-11-16 16:35:00) [7]


> CreateMutex


Это функция!


Сергей М.   (2008-11-16 16:34:00) [8]


> не доходит сообщение


Прежде чем оно куда-то дойдет, надо быть уверенным что оно точно уйдет, причем именно то которое ожидается.


Наверх

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