Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.165 c
6-32913
Z
2002-01-04 23:40
2002.04.11
Как получить IP адрес компьютера?


3-32661
AndDem
2002-03-18 16:31
2002.04.11
SQL-запрос. Проблема с пониманием возможностей SQL.


3-32625
RemVal
2002-03-19 09:56
2002.04.11
Проблемы с ADO


1-32731
rog
2002-03-30 09:06
2002.04.11
Событие OnkeyDown


1-32777
AndrewK
2002-03-28 14:10
2002.04.11
Конвертация таблицы в Excel





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский