Форум: "Основная";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];
ВнизПерехват второй копии и запуск функции. Найти похожие ветки
← →
-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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c