Форум: "Основная";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
Внизодна копия приложения Найти похожие ветки
← →
Крутыш (2004-01-26 18:24) [0]Уважаемые знатоки!!!
Как сделать так, чтобы пользователь мог запустить только одну копию приложения.
и работать только с одним запущенным приложением в данный момент.
С уважением!!!
← →
Митяй2 (2004-01-26 18:29) [1]Можно так:
my_hwnd:THandle;
my_hwnd:=FindWindow("TfmMyForm", nil);
If my_hwnd=0 then <Запуск>
Хотя есть ещё около десяти разных способов...
← →
Skier (2004-01-26 18:30) [2]http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988619824&n=15
← →
TUser (2004-01-26 19:05) [3]Самое простое - при загрузке FindWindow"ом поискать главное окно приложения. Если нашел - терминутсья. Недостаток - при запущенной IDE главное окно всегда есть, можно проверить наличие окна Delphi, если оно есть - не терминиться. Но есть много всего и покруче, типа мьютексов.
← →
Юрий Зотов (2004-01-26 19:28) [4]http://www.delphimaster.ru/articles/limit.html
← →
Крутыш (2004-01-26 20:56) [5]Помню даже есть компонент такой в какой-то библиотеке,
но искать его среди 20000 компонентов будет очень долго.
Может кто подскажет!!!
← →
Ig (2004-01-26 21:10) [6]
procedure TForm1.FormCreate(Sender: TObject);
var
hMutex : THandle;
begin
hMutex := CreateMutex(0, true , "Имя программы");
if GetLastError = ERROR_ALREADY_EXISTS then
begin
CloseHandle(hMutex);
Application.Terminate;
end;
end;
← →
y-soft (2004-01-26 21:35) [7]Крутыш © (26.01.04 20:56) [5]
Ни один компонент не может обеспечить надежное распознавание по определению!
Проверку надо производить как можно раньше, а не тогда, когда произведена половина загрузки приложения
← →
Крутыш (2004-01-26 23:20) [8]Спасибо!!!
Очень признателен и благодарен добрым людям!!!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.051 c