2017-02-09 3 views
-2

Прежде всего, я получил значение члена iImage структуры TBBUTTONINFO.Как извлечь значок на системном трее через член iImage структуры TBBUTTONINFO с помощью C++ api под win7 32bit?

Далее, я хочу извлечь значок на системном трее через член iImage структуры TBBUTTONINFO с помощью C++ api под win7 32bit?

Возможно ли, и если да, то что мне делать?

Спасибо!

+1

Это не поддерживается. Если вы в отчаянии, почему бы не перестроить его самостоятельно? Будьте предупреждены, что, поскольку вы используете неподдерживаемые средства, ваш код может быть нарушен в будущих (или прошлых) выпусках. –

+0

Не понимаю. Что имеет «TBBUTTONINFO» (информация об одной кнопке на панели инструментов), связано с значком, отображаемым в области уведомлений панели задач? (Если вы называете это системным лотком, вы рискуете [гнев Раймонда Чена] (https://blogs.msdn.microsoft.com/oldnewthing/20030910-00/?p=42583). –

+0

благодарим вас за вашу ссылку @ Мартин Боннер, я не в том направлении, пожалуйста, дайте мне некоторое предложение по моему вопросу. Что мне теперь делать? – digger

ответ

1

Предполагая, что вы уже ввели себя в процесс проводника, вы можете отправить TB_GETIMAGELIST на панель инструментов, а затем позвонить ImageList_GetIcon или ImageList_GetImageInfo.

Если с другой стороны, вы не вводили в процесс, но используют VirtualAllocEx и ReadProcessMemory, чтобы получить информацию на панели инструментов, то у вас будут проблемы, потому что вы не можете легко копировать объекты GDI от одного процесса к другому.

Это старое приложение под названием TraySaver может оказать вам помощь, но то, что вы делаете, не поддерживается и может быть повреждено в любой момент, потому что имя класса окна значка в трее и иерархия окон панели задач недокументированы, а вы не должен был получить к нему доступ таким образом.

+0

спасибо @ Anders.You дайте мне знать, что я должен делать дальше. – digger

+2

Что вы должны сделать дальше - это отказаться. Если вы ввели в Проводник, вы можете запрограммировать защиту и надеяться, что ваш код не сломается в будущем. – Anders

Смежные вопросы