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

Вниз

Перехват второй копии и запуск функции.   Найти похожие ветки 

 
-Alex-   (2002-10-26 17:10) [0]

Привет.

Моя программа создает ярлык в каталоге C:\WINDOWS\SendTo (Пункт меню "Отправить"). Когда я щелкаю по файлу правой кнопкой мыши, выбираю в меню "Отправить" свой ярлык, моя программа помещает путь к файлу в компонент Edit1, а далее запускается определенная функция, которая проводит над файлом какие-то операции. Всё это работает, но возникла трудность, когда я начал отслеживать запуск второй копии своей программы, перепробывал разные коды этой слежки, но выйти из сложной ситуации не могу. Одним предложением: мне нужно -

- Если программа запущена через ярлык в пункте "Отправить", активировать уже запущенную копию программы (если программа уже запущена) и запустить определенную функцию.

Помогите это реализовать. Вот код, которым я отслежую запуск второй копии программы:

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;


 
Юрий Зотов ©   (2002-10-26 21:19) [1]

http://www.delphikingdom.com/helloworld/samples_win.htm

А по окну не советую - может оказаться слишком ненадежно.




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

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

Наверх




Память: 0.47 MB
Время: 0.018 c
1-21640
Andrey.L.V.
2002-10-27 09:38
2002.11.07
---|Ветка была без названия|---


4-21869
d-coder
2002-09-24 03:08
2002.11.07
Grid index out of range


14-21802
D_B
2002-10-17 08:59
2002.11.07
Что за профессия - эникейщик ?


3-21438
студент2002
2002-10-17 18:49
2002.11.07
DBGrid и прокрутка мышью


1-21664
Spartak
2002-10-23 05:02
2002.11.07
Привет всем ! Помогите разобраться с DLL . :)