![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Если прога работает, то повторный запуск передает первой копии ин [D7, XP]
Disa © (2009-08-03 08:28:00)Не смог выразить тему в двух словах)
Суть вот в чем, если один экземпляр программы уже запущен, то повторная попытка открытия этой же программы должна, естейственно, не открываться (это я могу сделать) и (а вот это уже не могу :-) передавать какую-нибудь информации первому экземпляру.
Проще говоря, как у любого музыкально проигрывателя, когда открываешь мп3 файл, если проигрыватель уже запущен, то он начинает проигрывать новый мп3 файл, но не запускается еще раз.
Вот я очень хочу сделать то же самое.
brother (2009-08-04 04:11:00) [1]> А ты откуда знаешь ?)
в начинающих мой телепатор подсказал ;)
Плохиш (2009-08-03 15:47:00) [2]
> Disa © (03.08.09 09:28) [5]
>
>
на, радуйся
var
FHandle: THandle;
FBuffer: Pointer;
FAppHnd: HWND;
begin
FHandle := CreateFileMapping($FFFFFFFF, nil, PAGE_READWRITE, 0,
4, 'BacCoolConfig');
FBuffer := MapViewOfFile(FHandle, FILE_MAP_WRITE, 0, 0, 4);
If HWND(FBuffer^) = 0 then
begin
HWND(FBuffer^) := Application.Handle;
Application.Initialize;
Application.CreateForm(TfrmMain, frmMain);
Application.Run;
end
else
begin
FAppHnd := HWND(FBuffer^);
Windows.SetForegroundWindow(FAppHnd);
Windows.PostMessage(FAppHnd, msgFileRefresh, 0, 0);
end;
UnmapViewOfFile(FBuffer);
CloseHandle(FHandle);
end.
Amoeba (2009-08-03 14:45:00) [3]Статья по теме вопроса:
Обобщающий пример работы с WinAPI №3 – Ассоциированные файлы и предотвращение запуска второй копии приложения
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=904
Anatoly Podgoretsky (2009-08-03 11:16:00) [4]> Disa (03.08.2009 09:28:05) [5]
А ты все буквы выговариваешь?
Сергей М. (2009-08-03 09:36:00) [5]
> Не такое уж он оно и гуёвое... что вы сразу обзываетесь)
> Обычное такое приложение Win32 с формой и кнопочками
Ну как же оно не гуёвое ? Самое что ни на есть гуёвое)
GUI ("гуй") = Graphic User Interface = Графический Интерфейс Пользователя
Disa (2009-08-03 09:28:00) [6]
> А ты откуда знаешь ?)
Да, кстати, хороший вопрос? :)
Не такое уж он оно и гуёвое... что вы сразу обзываетесь)
Обычное такое приложение Win32 с формой и кнопочками.
> послать окну первого приложения уникальное сообщение и в
> параметре передать все, что надо
Вот об этом поподробнее, пожалуйста.
Сергей М. (2009-08-03 09:04:00) [7]
> brother © (03.08.09 08:48) [3]
А ты откуда знаешь ?)
brother (2009-08-03 08:48:00) [8]> Приложение гуёвое или консольное ?
гуевое)
brother (2009-08-03 08:47:00) [9]послать окну первого приложения уникальное сообщение и в параметре передать все, что надо?
или проще:
начать восспроизведение, а старое приложение убить?
Сергей М. (2009-08-03 08:46:00) [10]Приложение гуёвое или консольное ?