Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Клас для получения информации о системном трее   Найти похожие ветки 

 
brother ©   (2009-01-22 05:00) [0]

в инете нашел вот:
http://articles.org.ru/cn/showdetail.php?cid=7276
спасибо, Author    : Александр (Rouse_) Багель
есть вопросы:
1. // Получаем ID процесса, которому принадлежит найденное окно
 GetWindowThreadProcessId(FSysTrayHandle, &dwProcessID);
зачем &? с ним не компилируется, без него нормально

2. ButtonInfo.dwMask := TBIF_IMAGE or TBIF_TEXT or TBIF_STATE or TBIF_STYLE
         or TBIF_LPARAM or TBIF_COMMAND or TBIF_SIZE or TBIF_BYINDEX;
 в моем CommCtrl, TBIF_BYINDEX нет, заменил на $00000080 (по логике)

3. интересует структура FIconData.Items[I], как я понимаю нигде не используется?
4. и главное: можно ли сделать двойной клик по нужной мне иконке, делая выборку из FIconData.Items[I].szTip? те показать окно программы
Розыч, и другие, помогите...


 
MBo ©   (2009-01-22 09:28) [1]

@dwProcessID

TBIF_BYINDEX            = $80000000;


 
Rouse_ ©   (2009-01-22 17:20) [2]

1. &dwProcessID - на 2007-ой компилиться :)
Вообще код сначала на VC++ писался и только потом перекладывался на Дельфи методом половинного копипаста - видать пропустил :)

2. Вот константы из моего CommCtrl
const
 {$EXTERNALSYM TBBF_LARGE}
 TBBF_LARGE              = $0001;

 {$EXTERNALSYM TB_GETBITMAPFLAGS}
 TB_GETBITMAPFLAGS       = WM_USER + 41;

 {$EXTERNALSYM TBIF_IMAGE}
 TBIF_IMAGE              = $00000001;
 {$EXTERNALSYM TBIF_TEXT}
 TBIF_TEXT               = $00000002;
 {$EXTERNALSYM TBIF_STATE}
 TBIF_STATE              = $00000004;
 {$EXTERNALSYM TBIF_STYLE}
 TBIF_STYLE              = $00000008;
 {$EXTERNALSYM TBIF_LPARAM}
 TBIF_LPARAM             = $00000010;
 {$EXTERNALSYM TBIF_COMMAND}
 TBIF_COMMAND            = $00000020;
 {$EXTERNALSYM TBIF_SIZE}
 TBIF_SIZE               = $00000040;
 {$EXTERNALSYM TBIF_BYINDEX}
 TBIF_BYINDEX            = $80000000;


3. как это нигде не используется? Именно в нее и сохраняются все данные, т.е. это массив рекордов типа TFWSysIconItem

4. можно определить позицию, где расположена иконка, собственно каждая иконка это кнопка в TToolBar, посмотри как это делается в нем. Ну а после определения позиции сгенерируй мышиное событие по этим координатам, ну к примеру как-то так:

var
 TI:TInput;
 MI: TMouseInput;
 P:TPoint;
begin
 GetCursorPos(P);
 MI.dx := P.X;
 MI.dy := P.Y;
 MI.mouseData := 0;
 MI.dwFlags := MOUSEEVENTF_RIGHTDOWN ;
 MI.time := 10;
 TI.mi := MI;
 TI.Itype := INPUT_MOUSE;
 SendInput(1, TI, SizeOf(TInput));
 MI.dwFlags:=MOUSEEVENTF_RIGHTUP;
 TI.mi := MI;
 SendInput(1, TI, SizeOf(TInput));


 
brother ©   (2009-01-26 04:06) [3]

спасибо, буду разбираться



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

Форум: "WinAPI";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.058 c
11-1215521729
tigra
2008-07-08 16:55
2010.08.27
ошибки при компиляции демо kolgraphic


2-1271927010
Rail
2010-04-22 13:03
2010.08.27
меню


15-1274862762
ocean
2010-05-26 12:32
2010.08.27
Печать картинок


9-1181801403
hunn
2007-06-14 10:10
2010.08.27
Дарю идею игры


6-1223380302
gaux
2008-10-07 15:51
2010.08.27
Indy 10.1.5 + SSL. Получить код ошибки OpenSSL в OnVerifyPeer





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