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

Вниз

Параметр   Найти похожие ветки 

 
CA   (2002-06-30 12:57) [0]

Люди подскажите пожалуйста,
моя программа запускается с помощью параметров, и остается в памяти, при первом запуске всё нормально работает, но мне нужно чтобы когда юзер вторай раз запускает её но с др. параметрами моя программа выполнела действия связанные с этими параметрами, т.е. чтобы это действие выполняла уже запущенная прога а не вновь загружаемая ....


 
Cobalt ©   (2002-06-30 13:12) [1]

поищи в факе на тему "запрет второго запуска моей проги"


 
stupid   (2002-06-30 13:58) [2]

Помести в обработчик события OnCreate формы следующий код:

procedure TForm1.FormCreate(Sender: TObject);
var
h : hWnd;
buff : ARRAY[0.. 127] OF Char;
begin
h := GetWindow(Handle, gw_HWndFirst);
while h <> 0 do
begin
if (h <> Application.Handle) AND (GetWindow(h, gw_Owner) = 0) then
begin GetWindowText (h, buff, sizeof (buff ));
if StrPas (buff) = Application.Title then
begin
SetForegroundWindow(h);
ShowWindow(h,SW_SHOWNORMAL);
Halt;
end;
end;
h := GetWindow(h, gw_hWndNext);
end;
end;


А дальше уже сам думай, как всё, чё ты хош реализовать!
Код 100% корректно работает.


 
Юрий Зотов ©   (2002-06-30 18:19) [3]

> Код 100% корректно работает.

Это вряд ли.
:о)

Запустите свою программу дважды - либо ОЧЕНЬ быстрыми щелчками мыши, либо из другой программы (например, дважды подряд вызвав WinExec). Полагаю, будете удивлены.

А удивительного ничего нет. Потому что, если запуск второго экземпляра происходит ДО ТОГО, как в первом создано окно, то проверка не сработает. И второй экземпляр спокойно запустится.

Кажется, на эту тему на сайте была статья.


 
Юрий Зотов ©   (2002-06-30 18:22) [4]

Забыл о главном.

Автору вопроса - см. здесь:
http://www.delphikingdom.com/helloworld/samples_win.htm


 
Са   (2002-07-02 04:46) [5]

Ну Спасибо Мужики !!!



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

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

Наверх




Память: 0.47 MB
Время: 0.031 c
14-47734
PycUS
2002-06-11 12:15
2002.07.15
SysTray


1-47458
ded_di
2002-07-03 14:28
2002.07.15
TExcelApplication


3-47175
fool
2002-06-19 12:14
2002.07.15
Ошибки по русски,про Oracle слышал, а MSSQL?


1-47481
MaximatorVeter
2002-07-03 19:15
2002.07.15
Освобождение ресурсов для динамического массива объектов


14-47720
Esu
2002-06-06 11:35
2002.07.15
Какая на ваш взгляд лучшая клавиатура ?