Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.11;
Скачать: CL | DM;

Вниз

SendMessage or What?   Найти похожие ветки 

 
LazorenkoX   (2002-03-30 00:26) [0]

Вот ещё один вопрос, который меня мучает. Конечно, посидев, почитав МСДН я что нибудь найду и напишу, но может кто-нибудь сталкивался с такой проблемой. Значит так, есть у меня файл с каким-то расширением. Зарегестрировал я его в эксплорэре, при нажатии на него он запускается моя программа, допустим темп.ехе. И эта программа читает открываемый файл. Проблема в том, что я хочу, чтобы только одна копия программы была запущенна, то есть, когда программа открывается она ищет не запущена ли её копия, а если запущена, то сказать копии чтобы она открыла этот файл. Вопрос: Как мне узнать запущена ли программа и если да, то сказать ей чтобы она открыла файл?


 
SoftOne ©   (2002-03-30 02:32) [1]

Тут собственно вопросов два:
Первый - проверка "запущенности". Решается многими способами. Какой для тебя лучше - выбирай.
Второй - Если уже запущена, то как открыть нужный файл? Решение зависит от тебя, что напишешь в программе, то и выполнится. Ответ зависит от исходных. Какой тип приложения MDI или SDI?


 
Song ©   (2002-03-30 07:22) [2]

Один из способов решения проблемы. Вставьте в dpr файл:


....
Const NamedMutex="OneOnly";
Var WND:HWND;

Function CheckInstance(Name:PChar):Integer;
Var R:integer;
Mutex:Integer;
Begin
Mutex:=CreateMutex(nil,true,Name);
R:=GetLastError();
IF r<>0 then Result:=0
else Result:=Mutex;
End;

begin
...
IF CheckInstance(NamedMutex)=0 then
Begin
Wnd:=Findwindow(nil,"название_программы");
IF WND<>0 then
Begin
{ "то сказать копии чтобы она открыла этот файл"}
Exit;
End;
End;
Title:="название_программы";
...



Страницы: 1 вся ветка

Текущий архив: 2002.04.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
3-32618
фл
2002-03-22 13:38
2002.04.11
глюки с кодировкой


14-32938
copyr25
2002-02-27 18:36
2002.04.11
Судьбоносный для России Год Змеи.


3-32645
Makc
2002-03-19 16:49
2002.04.11
Проблема с переводом imestamp в более удобочитаемый формат


1-32753
lipskiy
2002-03-30 17:36
2002.04.11
TWebBrowser_V1: че-то никак не создать в ран-тайме... Помогите, п


6-32935
Hawk
2001-11-14 21:54
2002.04.11
Опять поднимаю вопрос, как определить в Delphi IP адрес полученный от проваёдера?