powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Убрать значок из трея
113 сообщений из 113, показаны все 5 страниц
Убрать значок из трея
    #37291347
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нуно убрать значок другого приложения из трея. известны фрагмент имени другого приложения и расположение. (за готовый рабочий код 200р яндекс. мой скайп iamqwer)
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292033
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как пример есть код, который убирает из трея и ставит обратно системные часы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Dim hnd As Long
Private Sub Command1_Click()
 ShowWindow hnd,  0 
End Sub
Private Sub Command2_Click()
 ShowWindow hnd,  1 
End Sub

Private Sub Form_Load()
 hnd = FindWindow("Shell_TrayWnd", vbNullString)
 hnd = FindWindowEx(hnd,  0 , "TrayNotifyWnd", vbNullString)
 hnd = FindWindowEx(hnd,  0 , "TrayClockWClass", vbNullString)
 Command1.Caption = "скрываем часы"
 Command2.Caption = "показываем часы"
End Sub
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292041
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero, а как насчёт всю панель задач долой, пойдёт???
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292046
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
неа... программа должна работать "без палева" а исчезновение часов значка скайпа и всех частоиспользуемых приложений пользователь врят ли оценит с восторгом
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292358
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*****поднимаю топик вверх по форуму)*****
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292361
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero*****поднимаю топик вверх по форуму)*****
Смысла нет.
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292363
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtimBelowZero*****поднимаю топик вверх по форуму)*****
Смысла нет.
почему? сложно?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292379
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZeroпочему? сложно?
за 200 рублей делать невеже что то - себя не уважать!
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292440
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtimBelowZeroпочему? сложно?
за 200 рублей делать невеже что то - себя не уважать!
*****я плакаю*****
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292447
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot BelowZero]timtimя плакаю
Зря!
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292458
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot timtim]BelowZeroпропущено...

Зря!
что больше напрягает? что я невежа("темный, необразованный человек" из словаря)? или код сложный? просто добавление и извлечение из трея - основная функция любой уважающей своего программиста программы. поэтому каждый второй, я думаю, знает, как BelowZeroУбрать значок из трея. и найдётся добрый чел, который поделится своими знаниями)
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292459
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смысл
Код: plaintext
1.
Command1.Caption = "скрываем часы"
Command2.Caption = "показываем часы"
В Private Sub Form_Load объяснить можешь?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292464
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim,
мм... возможно...
Код: plaintext
1.
2.
hnd = FindWindow("Shell_TrayWnd", vbNullString) 'открыть трей
 hnd = FindWindowEx(hnd,  0 , "TrayNotifyWnd", vbNullString) 'открыть область уведомлений трея
 hnd = FindWindowEx(hnd,  0 , "TrayClockWClass", vbNullString) 'найти часы по классу "часы"
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292475
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtimСмысл
Код: plaintext
1.
Command1.Caption = "скрываем часы"
Command2.Caption = "показываем часы"
В Private Sub Form_Load объяснить можешь?
ой.. неправильно прочитал... это? просто названия кнопок, на которые нуно будет тыкать
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292477
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
hnd = FindWindowEx(hnd,  0 , "TrayNotifyWnd", vbNullString)'открыть область уведомлений трея
Где открыть?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292482
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim
Код: plaintext
hnd = FindWindowEx(hnd,  0 , "TrayNotifyWnd", vbNullString)'открыть область уведомлений трея
Где открыть?
хз... дословно "трей, уведомление"
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292483
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

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

В hnd что будет? 90 т.р.? Или что?
эм... хз
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292494
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

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

А как ты "программируешь" если ты не понимаешь что делаешь?
каждый день задаю себе этот вопрос) просто меня посещают неплохие идея в области создания программ. а вот с практической частью у меня не лады
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292509
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

Ну, лады!
Завтра тогда туфты какой-нибудь напишу ещё.
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292514
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtimBelowZero,

Ну, лады!
Завтра тогда туфты какой-нибудь напишу ещё.
правда! круть, а то весь день одни точные и правильные ответы и подсказки, наконец-то ждал какой-нить туфты жду не дождусь...
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37292808
Sonic_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо понимать что делает
FindWindowEx
и что такое
HWND(Handle окна)
по второй ссылке кстати есть и функция ShowWindow
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37293138
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вот что заметил....
BelowZeroзначок другого приложения
BelowZeroпросто добавление и извлечение из трея - основная функция любой уважающей своего программиста программы
Не помню, чтобы у любой уважающей себя программы был функционал "убрать из трея иконку другого приложения "
Так что Вы уточняйте - свою иконку или любую другую. Это разные вещи. Лично я считаю это неправильным, когда чья-то программа без ведома пользователя убирает из трея значки других программ.
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37293346
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Prist,

правильно, если эта программа сама запускает чужую программу. но чтобы эта чужая прогармма не мельтешила перед глазами нуно убрать из трея её значок
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37293925
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sonic_ruнадо понимать что делает
FindWindowEx
и что такое
HWND(Handle окна)
по второй ссылке кстати есть и функция ShowWindow
по ссылке:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
 procedure  TForm1.Timer1Timer(Sender: TObject); 
 var 
  Wnd: HWND;                    // Hahdle найденного окна  
  Pos: TPoint;                  // Позиция курсора  
  Rect: TRect;                  // Координаты окна  
  buff:  array [ 0 .. 255 ]  of  char;  // Буфер  
  WndText:  string ;              // Текст окна  
  NameClass:  string ;            // Класс окна  
 begin 
    // Получаем позицию курсора  
   GetCursorPos( Pos ); 
    // Получаем Handle окна под курсором  
   Wnd := WindowFromPoint( Pos ); 
   GetWindowRect( Wnd, Rect ); 
   GetWindowText( Wnd, buff, SizeOf( buff ) ); 
   WndText := StrPas( buff ); 
   GetClassName( Wnd, buff, SizeOf( buff ) ); 
   NameClass := StrPas( buff ); 
  
    // Выводим координаты курсора  
   LabelPosX.Caption := 'X: ' + IntToStr( Pos.X ); 
   LabelPosY.Caption := 'Y: ' + IntToStr( Pos.Y ); 
  
   LabelHandle.Caption := 'Handle: ' + IntToStr( Wnd ); 
   LabelName.Caption := 'Name: ' + WndText; 
   LabelClass.Caption := 'Class: ' + NameClass; 
   LabelLeft.Caption := 'Left = ' + IntToStr( Rect.Left ); 
   LabelTop.Caption := 'Top = ' + IntToStr( Rect.Top ); 
   LabelWidth.Caption := 'Width = ' + IntToStr( Rect.Right - Rect.Left ); 
   LabelHeight.Caption := 'Height = ' + IntToStr( Rect.Bottom - Rect.Top ); 
  
    // Получаем Handle родительского окна  
   Wnd := GetParent( Wnd ); 
   GetWindowRect( Wnd, Rect ); 
   GetWindowText( Wnd, buff, SizeOf( buff ) ); 
   WndText := StrPas( buff ); 
   GetClassName( Wnd, buff, SizeOf( buff ) ); 
   NameClass := StrPas( buff ); 
  
   LabelParentHandle.Caption := 'ParentHandle: ' + IntToStr( Wnd ); 
   LabelParentName.Caption := 'ParentName: ' + WndText; 
   LabelParentClass.Caption := 'ParentClass: ' + NameClass; 
   LabelParentLeft.Caption := 'ParentLeft = ' + IntToStr( Rect.Left ); 
   LabelParentTop.Caption := 'ParentTop = ' + IntToStr( Rect.Top ); 
   LabelParentWidth.Caption := 'ParentWidth = ' + IntToStr( Rect.Right - Rect.Left ); 
   LabelParentHeight.Caption := 'ParentHeight = ' + IntToStr( Rect.Bottom - Rect.Top ); 
 end ; 
Можно где-то увидеть в ВБ или ВБА???????
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37293928
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не могу сообразить... больше всего напрягает это
hnd = FindWindow("Shell_TrayWnd", vbNullString)
hnd = FindWindowEx(hnd, 0, "TrayNotifyWnd", vbNullString)
hnd = FindWindowEx(hnd, 0, "TrayClockWClass", vbNullString)

то же самое что
хомяк = зверёк
хомяк = животное хомячное и маленькое
хомяк = животное хомячное и большое

масло масляное какое-то... но если это работает, значит хомяк и правда большое маленькое хомячное животное
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294197
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эх... придётся начинать сначала... хендл окна одной и той же программы при разных запусках и разных компах разный?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294198
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZeroэх... придётся начинать сначала... хендл окна одной и той же программы при разных запусках и разных компах разный?
конечно, его выделяет ОС при создании окна.
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294201
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Prа если чужую программу открывает мой ехе то я могу сам задать чужой проге хэндл чтобы не сводить мозг хомяками... или хотя бы автоматом узнавать какой хэндл даёт чёжому окну ОС
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294204
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сорь за ошибки, не проверил перед нажатием "Опубликовать"
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294207
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZeroShocker.Prа если чужую программу открывает мой ехе то я могу сам задать чужой проге хэндл чтобы не сводить мозг хомяками... или хотя бы автоматом узнавать какой хэндл даёт чёжому окну ОСимеет место непонимание. Когда ты открываешь (допустим) свою форму, открывается МНОЖЕСТВО окон. Каждая кнопка - это окно, каждый текстбокс и т.п., у каждого свой хендл. Можешь запустить Spy++ из комплекта VB6 и наглядно все увидеть.
Когда ты запускаешь приложение , ты не создаешь окно . Кучу окон создает само приложение в результате своей работы.
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294215
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero ...а вот с практической частью у меня не лады
А с теоретической как?
Ты знаешь, что ты хочешь сделать?
Каков алгоритм?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294216
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
воть код с первой странице топика:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Dim hnd As Long
Private Sub Command1_Click()
 ShowWindow hnd,  0 
End Sub
Private Sub Command2_Click()
 ShowWindow hnd,  1 
End Sub

Private Sub Form_Load()
 hnd = FindWindow("Shell_TrayWnd", vbNullString)
 hnd = FindWindowEx(hnd,  0 , "TrayNotifyWnd", vbNullString)
 [color=red]hnd = FindWindowEx(hnd,  0 , "TrayClockWClass", vbNullString)[/color]
 Command1.Caption = "скрываем часы"
 Command2.Caption = "показываем часы"
End Sub
если заменить эту строчку на найденный хендл чужой программы, то значок этой чужой проги, наконец, уберётся с трея?..
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294218
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtimBelowZero ...а вот с практической частью у меня не лады
А с теоретической как?
Ты знаешь, что ты хочешь сделать?
Каков алгоритм?
я хочу (использую код из предыдущего топика) по неполному имени найти хэндл чужой программы и по этому хэндлу покикать значки в трее
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294222
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

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

http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=855873&msg=10761488
если я заменю
Код: plaintext
hnd = FindWindowEx(hnd,  0 , "TrayClockWClass", vbNullString)
на
Код: plaintext
hnd = FindWindowEx(hnd,  0 , vbNullString, '''''''имя чужого окна''''''')
код сможет убрать значок чужого приложения?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294229
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

нет, не сможет
палец сломаешь тыкая в небо
конкретнее будъ!
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294234
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim,

с горем попалам наверно смогу найти хэндл чужого нужного мне окна благодаря прошлому топику... но потом... не знаю... но чутьё мне подсказывает что фраза "покикать значки в трее по хэндлу" расплывается в несколько десятков строк с незнакомыми функциями. или я ошибаюсь и всё намного проще? ***наивно и хаотично жму f5***
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294235
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

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

моего? да я что-то такое находил вчера... ща ещё раз поищщу
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294240
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZeroмоего?
Т.е. ты пишешь сообщения в форуме, а код в VB набирает кто то другой?
Я правильно понял?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294242
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
Option Explicit
Private Declare Function Shell_NotifyIcon Lib "shell32.dll" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
Private Const NIM_ADD = &H0
Private Const NIM_DELETE = &H2
Private Const NIM_MODIFY = &H1
Private Const WM_MOUSEMOVE = &H200
Private Const NIF_MESSAGE = &H1
Private Const NIF_TIP = &H4
Private Const NIF_ICON = &H2
Private Const WM_LBUTTONDBLCLK = &H203
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Const WM_RBUTTONDBLCLK = &H206
Private Const WM_RBUTTONDOWN = &H204
Private Const WM_RBUTTONUP = &H205
Private Type NOTIFYICONDATA
        cbSize As Long
        hwnd As Long
        uID As Long
        uFlags As Long
        uCallbackMessage As Long
        hIcon As Long
        szTip As String *  64 
End Type
Private tray As NOTIFYICONDATA

Private Sub Command1_Click()
    Shell_NotifyIcon NIM_ADD, tray
End Sub

Private Sub Command2_Click()
    Shell_NotifyIcon NIM_DELETE, tray
End Sub

Private Sub Form_Load()
    Command1.Caption = "эта кнопка добавляет иконку в трей"
    Command2.Caption = "удаляет"
    tray.cbSize = Len(tray)
    tray.hIcon = Me.Icon
    tray.hwnd = Me.hwnd
    tray.szTip = "всплывающая подсказка" & Chr( 0 )
    tray.uCallbackMessage = WM_MOUSEMOVE
    tray.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
    tray.uID =  0 
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim msg As Long

    msg = X / Screen.TwipsPerPixelX

    Select Case msg
        Case WM_LBUTTONDBLCLK
            Me.Print "Äâîéíîé êëèê ëåâîé êíîïêîé"
        Case WM_LBUTTONDOWN
            Me.Print "Ëåâàÿ êíîïêà ìûøè íàæàòà"
        Case WM_LBUTTONUP
            Me.Print "Ëåâàÿ êíîïêà ìûøè îòæàòà"
        Case WM_RBUTTONDBLCLK
            Me.Print "Äâîéíîé êëèê ïðàâîé êíîïêîé"
        Case WM_RBUTTONDOWN
            Me.Print "Ïðàâàÿ êíîïêà ìûøè íàæàòà"
        Case WM_RBUTTONUP
            Me.Print "Ïðàâàÿ êíîïêà ìûøè îòæàòà"
    End Select
End Sub
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294245
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtimBelowZeroмоего?
Т.е. ты пишешь сообщения в форуме, а код в VB набирает кто то другой?
Я правильно понял?
я имел ввиду код, который добюавляет и удаляет из трея иконку моего приложения?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294249
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

У тебя есть код который добавляет\меняет иконку твоего приложения.
Что ты предпринял дальше для достижения своей цели?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294251
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtimBelowZero,

У тебя есть код который добавляет\меняет иконку твоего приложения.
Что ты предпринял дальше для достижения своей цели?
эм... код сверху в сообщении с крестиком) дальше ищу строчку кода, от которой зависит, с каким окном будет работать прога и запихать туда код, чтобы удался не свой ярлык из трея а чужой...
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294252
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtimУ тебя есть код который добавляет\меняет иконку твоего приложения.
сорь я думал это вопрос
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294255
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero .... дальше ищу строчку кода , от которой зависит, с каким окном будет работать прога и запихать туда код , чтобы удался не свой ярлык из трея а чужой...
Про запихать туда код расскажи языком VB.
Что делал?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294265
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim,

отходил...
такс... ищем главную строчку
Код: plaintext
Shell_NotifyIcon NIM_DELETE, tray
так... шелнотифайикон функция... ним делете - убрать значок... tray это наверно трей) никаких обозначений окон имён и хэндлов нет... значит они по умолчанию 0. значит куда-нить надо впихнуть удаление не по умолчанию а по хэндлу или искать другой код...
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294281
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в инете нет ничего похожего но я нашёл очень замечательный сайт с описанием:
"Но и не будет здесь и жеваных-пережеваных 'Как поместить иконку в трей'"
т.е. эта тема жёвана-пережёвана где-то там, куда не долетают лучи солнца и не работает техника
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294283
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

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

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

Тебе для начала надо найти окно с классом что то типа Toolbar.
Сможешь?
какое окно? чужого приложения? и класс этого приложения? *...... что такое тулбар..
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294295
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero...... что такое тулбар..
Это вроде того откуда ты хочешь убрать иконку.
Интернетом пользоваться умеешь? О Google слышал?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294299
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не понимаю... есть чужая прога, известны фрагмент имени проги, расположение(может даже хэндл). как зная это покикать значок из трея?...
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294304
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

Найди заначек в трее и кокни.
Чего непонятного?
Приведи полный код того, что ты сделал.
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294315
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtimНайди заначек в трее и кокни.
для этого нуно знать как по хэндлу найти значок в трее... единственный дельный совет в инете кикнуть весь процесс приложения тогда значка не будет)
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294317
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может просто в коде
Код: plaintext
tray.hwnd = Me.hwnd
заменить на нужный hwnd?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294323
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZeroможет просто в коде
Код: plaintext
tray.hwnd = Me.hwnd
заменить на нужный hwnd?
Me.hwnd - это иконка ЧУЖОГО приложения?
Ты пробовал Сам что то сделать?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294325
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtimBelowZeroможет просто в коде
Код: plaintext
tray.hwnd = Me.hwnd
заменить на нужный hwnd?
Me.hwnd - это иконка ЧУЖОГО приложения?
Ты пробовал Сам что то сделать?
просто если Ме кикает свою иконку то возможно другой hwnd кикает другую иконку)
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294326
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не, не так

tray.hwnd - это иконка ЧУЖОГО приложения?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294327
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,
Покажи код внедрения в чужой процесс.
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294329
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtimBelowZero,
Покажи код внедрения в чужой процесс.
в процесс чужого приложения можно "внедриться" ***понимаю, что это безнадёжно***
если кто знает 400 руб за готовый код киканья чужой иконки из трея
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294330
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*мой скайп iamqwer яндекс vb6
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294332
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZeroесли кто знает 400 руб за готовый код киканья чужой иконки из трея
За 350 £ сделаю, так уж и быть.
Готов платить?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294337
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtimBelowZeroесли кто знает 400 руб за готовый код киканья чужой иконки из трея
За 350 £ сделаю, так уж и быть.
Готов платить?\350e = 10 косарей=средняя зарплата в россии за месяц. нет пасяп
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294340
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero350e = 10 косарей
350 £ - это триста пятьдесят фунтов стерлингов.
Косари не нужны.
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294342
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtimBelowZeroесли кто знает 400 руб за готовый код киканья чужой иконки из трея
За 350 £ сделаю, так уж и быть.
Готов платить?
больше всего мне нравится то, что ты знаешь, какой будет ответ. но при этом спрашиваешь. это, конечно, хорошо, не хочу сам с собой в топике болтать, но всё же... у тебя т.е. у вас есть много свободного времени, может тада поможете с кодом или пойдём в cs...
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294344
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

или пойдём в cs...
шо это???
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294348
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtimBelowZero350e = 10 косарей
350 £ - это триста пятьдесят фунтов стерлингов.
Косари не нужны.
интересно как это будет происходить при согласии
один скажет код потом деньги, второй скажет деньги потом код
утро вечера мудреней
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294350
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович ЭндрюBelowZero,

или пойдём в cs...
шо это???
counter strike 1.6... если решите(всё равно флудим) скидывайте сервы, хоть делом займёмся) ***без сарказма, я серьёзно***
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294351
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

Изливать понос в топиках данного форума правилами не запрещается.
А cs это где? Я не местный.
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294355
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim350 £ - это триста пятьдесят фунтов стерлингов.
Косари не нужны.
а сколько это в рублях?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294357
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZeroа сколько это в рублях?
~16 000
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294361
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim,

а.... ну в принципе... я предлагал за 400 руб... между 400 и 16000 разница небольшая......:/..... го тада дальше флудить... или подожду пока кто-нить создаст такой код на Vb6. на vb.net вроде в запросе выдавались результаты
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294364
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

Да, ты прав!
Лучше поиграть в тупую стрелялку, чем напрячь последнюю извилину.
Твоё будущее - охранник.
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294366
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim,

моё будущее - инженер... наверно... пока не определился) в vb не силён, так как изучаю как хобби ровно пол года, не по профессии.
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294368
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кста я пытаюсь напрячь, но внедрение в чужой процесс меня убило. неужели нет простой функции для отправки трею сообщения о закрытии ярлыка по хэндлу этого чужого окна....
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294369
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

Получается, что херовое ты себе хобби выбрал:)
На этом откланиваюсь.
Извини если что.
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294370
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim,

всё норм и так 4 страницы нафлудили на сегодня хватит) приходи завтра поговорим о девушках, играх, может быть даже о программах успеем)
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294509
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero, так и не пойму
1 есть код для установления открытых окон, их количества и названия?
2 открытое окно это строго то что на панели задач имеется?
3 есть код для установления запущеных приложений, их количества и названия?
4 есть код для установления запущенных процессов, их количества и названия?
5 есть код для установления иконок в трее, их количества и названия?
если есть коды выложите пжл
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294552
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,
1 есть код для установления открытых окон их количества и названия
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=855294&msg=10749463
коднаходит и закрывает окно по куску его имени
2 в данном случае да. а вообще Shocker.ProКаждая кнопка - это окно, каждый текстбокс и т.п., у каждого свой хендл. Можешь запустить Spy++ из комплекта VB6 и наглядно все увидеть.
Когда ты запускаешь приложение, ты не создаешь окно. Кучу окон создает само приложение в результате своей работы.
3,4 есть код для установления запущеных процессов, но их затрагивать не нуно, т.к. приложение должно продолжать работать. +и так известно, что нужный процесс чужого притложения сейчас работает.
5 нет. есть для отправки\удаления иконки своего ехе(чуть выше по топику)
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294633
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1 прога закидывает иконку в трей... другая должна эту иконку оттуда удалить... этот код, как я думал, должен удалять иконку чужого приложения из трея по имени(Form1). но.... ничего
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Type NOTIFYICONDATA
        cbSize As Long
        hwnd As Long
        uID As Long
        uFlags As Long
        uCallbackMessage As Long
        hIcon As Long
        szTip As String *  64 
    End Type
 Private Const NIM_DELETE = &H2
Private NID As NOTIFYICONDATA
Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean

 Private g_nidSysTray As NOTIFYICONDATA 'Sys tray user defined data type

Private Sub Form_Load()
NID.hwnd = FindWindow(vbNullString, "Form1")
Shell_NotifyIcon NIM_DELETE, NID
End Sub
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294639
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в инете ещё предложили способ авторВозможно, повесить хук на вызов функции Shell_NotifyIcon и узнать, с какими параметрами иконка кладется в трей?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294641
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

Код: plaintext
1.
2.
3.
4.
5.
6.
 Dim ret As Long
    ret = FindWindow("Shell_TrayWnd", "")
    ret = FindWindowEx(ret,  0 , "TrayNotifyWnd", vbNullString)
    ret = FindWindowEx(ret,  0 , "SysPager", vbNullString)
    ret = FindWindowEx(ret,  0 , "ToolbarWindow32", vbNullString)
    ret = SendMessage(ret, TB_BUTTONCOUNT,  0 ,  0 )
    MsgBox ret
Получишь количество иконок в трее.
Далее эти иконки надо перебрать и удалить нужную:)
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294652
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim,

количество иконок в трее 0
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294654
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на других форумах по другим языкам вычитал, что ещё нуно знать id икнки в трее
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=855873&msg=10762816
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294656
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а узнать uID можно только внедрившись в процесс эксплорера
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294659
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,
это у тебя 0 возвращает?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294662
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim,

теперь 13... с этим кодом 0
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
    (ByVal hWnd As Long, _
     ByVal wMsg As Long, _
     ByVal wParam As Long, _
     ByRef lParam As Any) _
    As Long
Private Sub Form_Load()
Dim ret As Long
    ret = FindWindow("Shell_TrayWnd", "")
    ret = FindWindowEx(ret,  0 , "TrayNotifyWnd", vbNullString)
    ret = FindWindowEx(ret,  0 , "SysPager", vbNullString)
    ret = FindWindowEx(ret,  0 , "ToolbarWindow32", vbNullString)
    ret = SendMessage(ret, TB_BUTTONCOUNT,  0 ,  0 )
    Text1.Text = ret
End Sub
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294666
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

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

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

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

Private Const WM_USER = &H400
Private Const TB_BUTTONCOUNT = (WM_USER + 24)
тепреь работает...
так... выделить блок памяти нужного размера в контексте процесса-владельца трея...
зачем?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294673
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чтобы внедриться в этот процесс?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294677
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

что бы получить сведения о иконке и удалить нужную
Код: plaintext
ret = SendMessage(ret, TB_DELETEBUTTON,  1 ,  0 )
это удалит иконку с № 1.
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294678
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim,

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

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

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

нет.
Надо надо пребрать все иконки, по id иконки посмотреть какому процессу пренадлежит иконка и если это нужный процесс то убрать иконку.
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294686
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim,

это сложновато... предложенный выше способ не работает разве?..
я не знаю, какой функцией узнать айди каждой иконки а потом по айди узнать имя процесса(
+ это не поможет, т.к. нужно скрыть одно из двух одинаковых окон и процессы у них одинаковые
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294689
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поискал по другим сайтам - везде застряли на этой теме. на одном из языков, правда, решили проблему, но, как говорит автор кода, работает только под ХР
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294690
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

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

тада последний вопрос в этом топике: как удалить 13 иконку? подставил
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim ret As Long
    ret = FindWindow("Shell_TrayWnd", "")
    ret = FindWindowEx(ret,  0 , "TrayNotifyWnd", vbNullString)
    ret = FindWindowEx(ret,  0 , "SysPager", vbNullString)
    ret = FindWindowEx(ret,  0 , "ToolbarWindow32", vbNullString)
    ret = SendMessage(ret, TB_BUTTONCOUNT,  0 ,  0 )
    Text1.Text = ret
    ret = SendMessage(ret, TB_DELETEBUTTON,  13 ,  0 )
ничего не происходит
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294703
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

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

если кикать 1 иконку или 12 всё ранво ничего не происходит и их остаётся 13. трей даже не шелохнулся)
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294710
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

эта константа TB_DELETEBUTTON определена у тебя?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294714
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
    (ByVal hWnd As Long, _
     ByVal wMsg As Long, _
     ByVal wParam As Long, _
     ByRef lParam As Any) _
    As Long
    Private Const WM_USER = &H400
    Private Const TB_BUTTONCOUNT = (WM_USER +  24 )
    Private Const TB_DELETEBUTTON = (WM_USER +  22 )
Private Sub Form_Load()
Dim ret As Long
    ret = FindWindow("Shell_TrayWnd", "")
    ret = FindWindowEx(ret,  0 , "TrayNotifyWnd", vbNullString)
    ret = FindWindowEx(ret,  0 , "SysPager", vbNullString)
    ret = FindWindowEx(ret,  0 , "ToolbarWindow32", vbNullString)
    ret = SendMessage(ret, TB_BUTTONCOUNT,  0 ,  0 )
    Text1.Text = ret
    ret = SendMessage(ret, TB_DELETEBUTTON,  1 ,  0 )
End Sub

никак..
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294717
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

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

получилось, но теперь иконки убиваются хаотически независимо от номера(
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294724
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя... возможно, что последняя добавленная иконка получает номер 0. надо будет это проверить. либо нет никакой связи между номером и порядком запуска. я убил иконку, убив перед этим все остальные иконки до одной)
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37294774
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim,

cпс за помощь.
в моём случае узнавать айди проги для имени процесса не обязательно(даже не нужно), можно просто убить нулевой ярлык(я проверил, если в трее 100 ярлыков, тот, который добавился в трей первым, имеет номер 99, последний добавленный - 0). правда, любое изменение на компе, и всё рухнет... авось ещё никогда не подводил) Значит, этот топик первый, в котором удалось удалить значок чужой проги из трея) p/s тим, номер яда?
...
Рейтинг: 0 / 0
Убрать значок из трея
    #37295514
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

итого, топик длинный легче снова спросить - есть код, перечисляющий все иконки находящиеся в трее?? Выложите пжл
...
Рейтинг: 0 / 0
113 сообщений из 113, показаны все 5 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Убрать значок из трея
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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