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

Вниз

Найти хэндл кнопки программы свернутой в трей ?   Найти похожие ветки 

 
slaga ©   (2005-08-08 18:07) [0]

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

Первый пункт я уже сделал, осталось сделаь активной первую копию программы, но тут такая сложность, программы свернута в трей, я хочу найти хендл пункта меню "Открыть", которому я пошлю сообщение типа:

SendMessage(Hndl, BM_CLICK, 0,0);

Но проблема в том что я незнаю как найти хендл этого пункта меню.

Подскажите пожалуйста.


 
Fay ©   (2005-08-08 18:15) [1]

2 slaga ©   (08.08.05 18:07)
А вот запущенная прога знает Handle своей кнопки.
Отправь broadcast message, поймаешь - делай что хотел.

Applications that need to communicate using HWND_BROADCAST should use the RegisterWindowMessage function to obtain a unique message for inter-application communication.


 
slaga ©   (2005-08-08 18:20) [2]

А как ловить ?


 
slaga ©   (2005-08-08 18:23) [3]

Дополнительная информация:

Я когда определяю повторность запускаемой проги я уже имею дескрипшен главного окна, может используя это можно найти дескрипшен кнопки ?


 
Fay ©   (2005-08-08 18:25) [4]

2 slaga ©   (08.08.05 18:23) [3]
>> я уже имею дескрипшен главного окна
FindWindow? Шли тогда напрямую.
Ловить можно в [Additioonal]->ApplicationEvents


 
slaga ©   (2005-08-08 18:28) [5]

неполучается, я делаю вот так:

if FindWindow("TMenuItem", "Открыть") <> 0 then
      ShowMessage("Нашел!");


не находит такого окна :(


 
Fay ©   (2005-08-08 18:43) [6]

slaga ©   (08.08.05 18:28) [5]
посмотри почту


 
slaga ©   (2005-08-08 18:58) [7]

Сейчас гляну, спасибо.



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

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

Наверх




Память: 0.48 MB
Время: 0.048 c
6-1118043688
Лёха2005_
2005-06-06 11:41
2005.10.02
Определение IP


1-1126331813
kblc
2005-09-10 09:56
2005.10.02
Имя COM сервера


3-1124694971
Ilg
2005-08-22 11:16
2005.10.02
Не работает фильтрация при кэшировании


1-1126116257
The Only
2005-09-07 22:04
2005.10.02
bdu?


4-1123500283
Anton S.
2005-08-08 15:24
2005.10.02
перехват и обработка сообщений