Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
8-1086673664
X-Disa
2004-06-08 09:47
2004.08.29
Смена иконки


14-1092245681
Fifajan
2004-08-11 21:34
2004.08.29
Вопрос по написанию CGI для гостевой книги


1-1092299878
Fynjy
2004-08-12 12:37
2004.08.29
Манифест и ListBox


1-1092283960
Fynjy
2004-08-12 08:12
2004.08.29
Изменение высоты Combobox а


8-1086294454
Дмитрий
2004-06-04 00:27
2004.08.29
Записывающие устройства





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