powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / и снова трей
25 сообщений из 120, страница 2 из 5
и снова трей
    #37365585
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyТы просишь подсказки, как сделать говно. Причем, возможно, не себе, а посторонним.
удаление иконки посторонней программы, которую я же запускаю, это "говно"? (уже опускаюсь до уровня вашего лексикона) главная цель программы - облегчить жизнь пользовалеля, чтоб ему самому не приходилось возиться с треем вручную. p\s ещё один ваш спам продвигает тему вверх по топику, и, возможно, однажды кто-то знающий VB поделится своим опытом и удивится вашим постам.
...
Рейтинг: 0 / 0
и снова трей
    #37365648
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опиши ситуацию, когда пользователю нужно "возиться с треем вручную".
И подробно расшифруй заключенный в кавычки текст.

PS. В семерке скрытые значки не удалить никак. Они прячутся в отдельном окне, которое даже не является коммон контролом.
Видимые значки удаляются точно так же как в XP.
...
Рейтинг: 0 / 0
и снова трей
    #37365793
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

вручную т.е. ручками. например, моя прога прога запустила чужую программу. в трей попала иконка этой чужой программы(если иконка добавлена только что, она появляется на панели задач, а не в качестве "скрытого значка". а дальше тупик - удалить значок этой чужой программы. можно удалить все значки по номеру, можно грохнуть трей, удалить винду, но хз как удалить этот один единственный значок на винде 7
...
Рейтинг: 0 / 0
и снова трей
    #37365810
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чужая программа сама контролирует своё поведение. если ей необходим значёк в трее, значит она его туда помещает. если у этой программы нет внешнего API или специфических параметров запуска без загрузки значка в трей, то всё твои действия по управлению извне этой программой являются шаманством.
...
Рейтинг: 0 / 0
и снова трей
    #37365831
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneчужая программа сама контролирует своё поведение. если ей необходим значёк в трее, значит она его туда помещает. если у этой программы нет внешнего API или специфических параметров запуска без загрузки значка в трей, то всё твои действия по управлению извне этой программой являются шаманством.
и? эт понятн, какой вывод?
...
Рейтинг: 0 / 0
и снова трей
    #37365834
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
программа, которой вы управлять пытаетесь, имеет внешний API или ещё какие-нибудь варианты управления извне?
если нет, то читайте лицензию на её использование
...
Рейтинг: 0 / 0
и снова трей
    #37365846
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
удалить значок этой чужой программыЗачем?

хз как удалить этот один единственный значок на винде 7Узнать количество значков. Индекс последнего значка = количество - 1.
...
Рейтинг: 0 / 0
и снова трей
    #37365918
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy удалить значок этой чужой программыЗачем?

хз как удалить этот один единственный значок на винде 7Узнать количество значков. Индекс последнего значка = количество - 1.
читайте внимательно мои предыдущие высказывания. на ХР так и есть на семёрке какая-то хрень
...
Рейтинг: 0 / 0
и снова трей
    #37365982
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Семерки нет, проверить не могу, но там все тот же тулбар, фунционал которого от версии к версии только расширяется, не затрагивая старые функции. RTFM .

Так зачем удалять значок?
...
Рейтинг: 0 / 0
и снова трей
    #37367234
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

AntonariyТак зачем удалять значок?
я уже писАл: чтоб пользователю не работать потом с треем ручками, а именно:чтоб иконка зря не маячила в трее
на семёрке удаление нулевого значка приводит к удалению значка, самого левого в трее.
...
Рейтинг: 0 / 0
и снова трей
    #37367289
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чтоб пользователю не работать потом с треем ручкамиКакому пользователю? Ты для себя это делаешь или для других? Если для других, с какой стати ты решаешь за других, что им делать в трее?

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

Если какая-то программа, не важно как и кем запущенная, поместила свой значок в трей, значит он ей там нужен и не тебе, совершенно постороннему лицу, принимать решение об удалении его оттуда. Только самой программе или пользователю компьютера. Тем более что в винде уже есть инструмент для этого: если МНЕ мозолит глаз чей-то значок, я ставлю ему галку "скрывать всегда".
...
Рейтинг: 0 / 0
и снова трей
    #37367302
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

кароче лесом
...
Рейтинг: 0 / 0
и снова трей
    #37368077
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,
может поможет
...
Рейтинг: 0 / 0
и снова трей
    #37368091
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,

Не то опять.
...
Рейтинг: 0 / 0
и снова трей
    #37368158
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,

спс, но это тоже не то. здесь прога добавляет и удаляет свой значок. с чужим значком всё сложнее... хотя... можете показать код этой програаммы? посмотреть, по каким данным программа удаляет свою иконку из трея
...
Рейтинг: 0 / 0
и снова трей
    #37369314
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
и снова трей
    #37370871
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,

в коде кманда ударения:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Private Sub ShellTrayRemove()
 
   Dim nid As NOTIFYICONDATA
 
   If NOTIFYICONDATA_SIZE =  0  Then SetShellVersion
 
   With nid
      .cbSize = NOTIFYICONDATA_SIZE
      .hWnd = Form1.hWnd
      .uID = APP_SYSTRAY_ID 
   End With
 
   Call Shell_NotifyIcon(NIM_DELETE, nid)
 
End Sub
значит, чтобы удаоить чужую иконку нуно знать её .cbSize .hWnd и .uID. меня очень удивила строка .hWnd = Form1.hWnd. значит, хендл иконки в трее совпадает с хендлом запустившей её программы. насчёт .uID непонятно: что ещё за APP_SYSTRAY_ID. и с .cbSize туговато...
...
Рейтинг: 0 / 0
и снова трей
    #37371584
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero, так вынесете автору строки мозг
...
Рейтинг: 0 / 0
и снова трей
    #37371681
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,

не очень понял о чём вы) осталось узнать:
1) .hWnd = Form1.hWnd т.е. хендл значка совпадает с хендлом проги?
2) .cbSize = NOTIFYICONDATA_SIZE - что за фигня?
3) .uID = APP_SYSTRAY_ID - а это что за фигня?
...
Рейтинг: 0 / 0
и снова трей
    #37371701
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

// Поля структуры:
// cbSize - размер структуры в байтах.

// hWnd - дескриптор окна, которое будет получать уведомляющие сообщения,
// ассоциированные с иконкой в трэе.

// uID - определенный приложением идентификатор иконки. Можно иметь
// множество иконок с одним hWnd и различными идентификаторами.

// uFlags - массив флагов, которые указывают какие из членов структуры
// содержат корректные значения:
// NIF_ICON - поле hIcon содержит корректное значение (позволяет создать
// иконку в трэе).
// NIF_MESSAGE - поле uCallbackMessage содержит корректное значение
// (позволяет получать сообщения от иконки в трэе).
// NIF_TIP - поле szTip содержит корректное значение (позволяет создать
// всплывающую подсказку для иконки в трэе).

// uCallbackMessage - определенный приложением идентификатор сообщения.
// Система использует этот идентификатор для посылки уведомляющих
// сообщений окну, дескриптор которого хранится в поле hWnd. Эти сообщения
// посылаются, когда происходит "мышиное" сообщение в прямоугольнике, где
// расположена иконка, или иконка выбирается или активизируется с помощью
// клавиатуры. Параметр сообщения wParam содержит при этом идентификатор
// иконки в трэе, где произошло событие, а параметр сообщения lParam -
// "мышиное" или клавиатурное сообщение, ассоциированное с событием.
// Пример события: щелчок мышки по иконке в трэе.

// hIcon - дескриптор иконки (иконку можно добавлять, заменять и удалять).

// szTip - указатель на завершающуюся нулем строку (char*) с текстом
// стандартной подсказки. Максимальный размер подсказки 64 символа,
// учитывая завершающий нол
...
Рейтинг: 0 / 0
и снова трей
    #37371706
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero, даже если заполните структуру как надо, всё равно мне кажется вы не сможете удалить значок. Так как скорее всего надо выполнить функцию API из контекста потока того приложения, где нужно удалить значок. Т.е. как минимум загрузить DLL в адресное пространство нужного процесса, и запустить удалённый поток
...
Рейтинг: 0 / 0
и снова трей
    #37371712
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя нет, сейчас проверил. На двух разных процессах, удаляет значок
...
Рейтинг: 0 / 0
и снова трей
    #37371726
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,
дерзайте, взято отсюда: http://forum.codenet.ru/archive/index.php/t-3535.html
...
Рейтинг: 0 / 0
и снова трей
    #37371731
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь пример на Delphi как получить информацию об иконках в трее.
...
Рейтинг: 0 / 0
и снова трей
    #37371739
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точно так, в Сообщ. #21 от 13.10.06, 15:55, вещь, Дельфи в ВБ 6 и всё
...
Рейтинг: 0 / 0
25 сообщений из 120, страница 2 из 5
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / и снова трей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]