Форум: "Основная";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
Внизвторая копия проги Найти похожие ветки
← →
AlexeyM (2004-08-15 02:32) [0]Есть много способов не запустить вторую копию проги (примеры брал из DelphiWorld) но работают тока пример с Mutex
а хочется еще чтоб при запуске второй проги вторая не пускалась а первая выходила на экран если закрыта другими окнами
← →
TUser © (2004-08-15 02:36) [1]var h:hwnd;
begin
Initialize;
h:=FindWindow;
if h = 0 then
...
else SetForegroundFindow(h);
end;
Тут с IDE будет трабл - там есть такая же форма с таким же заголовком/классом. Лучше Caption главной формы днамически прописывать.
← →
AlexeyM (2004-08-15 02:42) [2]дельфи говорит что не знаком с SetForegroundFindow
← →
Fay © (2004-08-15 02:44) [3]BOOL SetForegroundWindow(
HWND hWnd // handle to window
);
Обитает в User32.dll
P.S.
и в модуле Windows 8)
← →
AlexeyM (2004-08-15 02:46) [4]сделал так
program IEpasw;
uses
Forms,
Windows,
main in "main.pas" {IEpassword},
only_one in "only_one.pas";
{$R *.res}
const
UniqueString = "MyProgramMutex";
{Ìîæåò áûòü ëþáîå ñëîâî. Æåëàòåëüíî ëàòèíñêèìè áóêâàìè.}
var h:hwnd;
begin
if not init_mutex(UniqueString) then begin
h:=FindWindow("TIEpassword", "IEpassword");
if h = 0 then
else SetForegroundwindow(h);
exit; {Âûõîäèì äî èíèöèàëèçàöèè, åñëè ìüþòåêñ óæå åñòü}
end;
Application.Initialize;
Application.CreateForm(TIEpassword, IEpassword);
Application.Run;
end.
но первая прога при запуске второй на экран не выходит
где у меня ошибка?
← →
TUser © (2004-08-15 02:55) [5]Под отладчиком? См. [1]
← →
AlexeyM (2004-08-15 02:56) [6]не тестирую нажатием кнопки в IE
← →
TUser © (2004-08-15 03:00) [7]if h = 0 then
else SetForegroundwindow(h);
Это вообще-то компилируется?
Initialize лучше вперед поставь
← →
Anatoly Podgoretsky © (2004-08-15 07:39) [8]Этот не метод не гарантирует от повторного запуска, а вот Mutex гарантирует
← →
Юрий Зотов © (2004-08-15 07:52) [9]> AlexeyM
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=904
← →
TUser © (2004-08-15 10:51) [10]
> Этот не метод не гарантирует от повторного запуска, а вот
> Mutex гарантирует
А почему? Если приложение запущено и главная форма его никуда не делась ...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.036 c