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

Вниз

Предотвращение повторного запуска приложения   Найти похожие ветки 

 
Lony   (2002-10-23 23:51) [0]

Как предотвратить повторный запуск приложения?
Нашёл код, но он вообще предотвращает запуск. Как быть?

var
myAtom:Atom;

procedure TForm1.FormCreate(Sender: TObject);
var i:ATOM;
begin
i:=GlobalFindAtom("MyOwnAtom");
if (i<>0) then halt(0);
myAtom:=GlobalAddAtom("MyOwnAtom");
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
GlobalDeleteAtom(myAtom);
end;


 
Юрий Зотов   (2002-10-24 01:11) [1]

Королевство.
Hello, world.
Примеры работы с WinAPI.

Целых 3 штуки, на выбор.


 
Mr.D!   (2002-10-24 01:18) [2]

Не понял вопроса!
Что значит она предотврощает запуск вообще?

Попробуй вот воспользоваться сочетание двух функций - определением дискриптора только что открытого тобой окна программы и последующего поиска окна с таким же дискриптором:

1)
HWND GetForegroundWindow(VOID);


Функция возвращает дескриптор окна, имеющего наибольший приоритет.

Как правило, наибольший приоритет в системе имеет окно, с которым пользователь работает в текущий момент.

Параметр
Описание

hWnd [in]
Дескриптор родительского окна.

2)
BOOL IsWindow( HWND hWnd );

Функция определяет, существует ли окно, которое идентифицирует указанный дескриптор.
Если дескриптор идентифицирует существующее окно, то функция возвращает ненулевое значение, а если окно не существует, то - 0.
Рекомендуется использовать данную функцию только для определения существования окон своего приложения. Использование данной функции для определения существования окон других приложений может привести к ошибке программы, т.к. окно определенное как существующее, может быть разрушено своим приложением в следующее мгновенье.

hWnd [in] Дескриптор окна.





 
Separator   (2002-10-24 06:53) [3]

http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988619824&n=15


 
Bsl   (2002-10-24 07:52) [4]

А можно зарегистрировать свое событие и при запуске послать его всем окнам.
Тогда твое приложение сможет корректно поринформировать новый экземпляр приложения что и как ему делать.


 
Alibaba   (2002-10-24 08:39) [5]

CreateFileMapping



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

Форум: "WinAPI";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
3-14441
Ильнур
2002-11-18 14:15
2002.12.05
InterBase


3-14451
Filat
2002-11-18 12:53
2002.12.05
Ещё раз SQL, Word & Delphi


14-14760
Tornado
2002-11-14 16:24
2002.12.05
Еще вопрос по Web


14-14777
Феликс
2002-11-12 22:06
2002.12.05
Создаем образ


1-14665
Silentor
2002-11-18 19:21
2002.12.05
Посоветуйте TimerList





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