![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с 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]
> не доходит сообщение
Прежде чем оно куда-то дойдет, надо быть уверенным что оно точно уйдет, причем именно то которое ожидается.