![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как вызвать свою программу из трея? [D7, WinXP]
Руслана © (2005-01-20 13:12:00)Использую следуюший код для определения запуска второй копии своего приложения:
var
UniqueMapping:THandle;
h:hWnd;
begin
UniqueMapping:= CreateFileMapping($ffffffff, nil, PAGE_READONLY, 0, 32, 'MyMap');
if UniqueMapping = 0 then
begin
ShowMessage('Ошибка выделения памяти');
Halt;
end
else if GetLastError = ERROR_ALREADY_EXISTS then
begin
ShowMessage('Программа уже запущена');
Halt;
end;
Application.Initialize;
Application.CreateForm(TMainForm, MainForm);
Application.CreateForm(TDataModule1, DataModule1);
Application.CreateForm(TFormInfo, FormInfo);
Application.CreateForm(TFormOption, FormOption);
Application.Run;
Программа большую часть висит в трее.
Как мне вызвать свою программу из трея при попытке запуска второй копии приложения? Наподобие того как это делает Total Commander например
Руслана (2005-01-20 18:35:00) [1]Что-то не получается - программа из трея не вылазит.
ALS (2005-01-20 14:08:00) [2]http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988619824&n=15
Virgo_Style (2005-01-20 13:32:00) [3]FindWindow + SendMessage ?
А в обработчике сообщения выполнять действия, "вызывающие программу из трея" :)
Что касается SendMessage - надо подумать, какое сообщение использовать