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

Вниз

Проблема с FundWindow   Найти похожие ветки 

 
BUKA   (2003-09-06 15:56) [0]

Вот в одной из хороших книжек даны рекомендации по защите от повторного запуска программы (код вносится в файл проекта), привожу дословно:

program Sprav;

uses
Forms,
Windows,//не забудьте подключить этот модуль
S_Unit1 in "S_Unit1.pas" {Probe};

{$R *.res}

begin
Application.Initialize;
//Если окно существует, то завершить приложение
if Windows.FindWindow ("TProbe","Probe")<>0 then Application.Terminate;
Application.CreateForm(TProbe, Probe);
Application.Run;
end.

И ... не работает, т.е. программа запускается и 2-1 и 3-й раз!
Нельзя сказать, что команда "пропускает" или не видит код. Если меняешь "<>" на "=", то - "выплевывает" мгновенно. У кого будет мнение на сей счет?


 
NikB   (2003-09-06 17:29) [1]

A nelzia li stavit "else begin ... end":
if Windows.FindWindow ("TProbe","Probe")<>0 then Application.Terminate else begin
...
end;
?


 
BUKA   (2003-09-06 18:36) [2]

Не знаю попробую, но книжка А.Хомоненко "Delphi 7" на 1200 стр. рекомендует как один из 2-х способов именно такой.Меня что "засмущало": ведь программа "видит" код (я привел пример реакции при замене "<>" на "="), но значит даже при включенном приложении (открытой форме Probe) выдает 0!т.е., прошу прощения за тавтологию - не "видит"? И вот такие "мелочи" практически везде, в том числе и с отображением текста в DBD, книжка ничего нового, что не посоветовали Мастера не предлагает.


 
Song   (2003-09-06 21:59) [3]

http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=delphi;action=display;num=1037272197


 
panov   (2003-09-06 23:41) [4]

function isRunning(aUniqueString:String): Boolean;
var
hMutex: THandle;
begin
Result := False;
hMutex := CreateMutex(nil,False,PChar(aUniqueString));
if GetLastError = ERROR_ALREADY_EXISTS then
begin
Result := True;
CloseHandle(hMutex);
end;
end;



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

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

Наверх




Память: 0.45 MB
Время: 0.034 c
1-41256
Cr@zy-EyE
2003-10-31 17:00
2003.11.13
Как загрузить DLL из произвольной папки?


1-41386
maestro
2003-10-30 09:14
2003.11.13
Многострочная надпись на Panel


14-42123
Brahman
2003-10-22 15:06
2003.11.13
Есть ли жизнь на Земле


1-41398
KyRo
2003-10-28 22:26
2003.11.13
Как получить Hendle Формы ??


14-42068
Lmz
2003-10-14 01:19
2003.11.13
Начинающим программистам





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский