Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Скрыть значок в системном трее

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

atimur81

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
у меня цель такая: не хочу чтобы в трее отображались значки программ Radmin и Hamachi. причем никогда! как это сделать? кто знает?

Всего записей: 1 | Зарегистр. 18-11-2011 | Отправлено: 18:59 18-11-2011
doktorpilulkin

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
какие то трей менеджеры попадались, но из за ненадобности никогда не пользовался. спрятать иконку не сложно. только никакие nnncron-ы не помогут. иконка это не окно, это кнопка на панели задач. написать программку не очень сложно, примеры есть в инете. нужно получить доступ к процессу експлорера, получить хендл експлорера, потомпанели задач, потом трея, потом получить список всех иконок в трее, найти нужную и послать ей NIM_DELETE. без перезагрузки експлорера программы врядли проверяют что с их иконкой, если выводят в трее сообщения что угодно может быть. попросить можно в теме Си например. я бы мог да лень. будет настроение сяду может быть
 
проще вообще трей убрать или панель задач
 
Добавлено:
http://forum.ru-board.com/topic.cgi?forum=33&bm=1&topic=3174&start=3800#lt
 
вот тема СИ если кто то как раз с треем возится может сделать. можно на другом форуме счастья попытать, или с другим языком - дельфи каким нибудь
 
Добавлено:
http://rouse.drkb.ru/winapi.php#fwsystrayinfo
вот работающий пример на паскале только его компилить надо. я до "найти иконку" дошел, а вот как ее удалить не знаю пока, грохнул себе весь трей
 
Добавлено:
ура сделал!!!!!!!!!!!!!
http://zalil.ru/32088071
командным параметром передаешь заголовок главного окна программы иконку которого надо удалить из трея.  
ICON.EXE µTorrent 2.0.4
на муторенте проверял
 
после перезагрузки експлорера в трее появляется сразу две иконки. я иконку скрыл а не удалил. надо все таки разбираться как ее удалить
 
http://zalil.ru/32088073
вот эта удаляет а не скрывает иконку. после перезагрузки експлорера одна только иконка появляется
 
чтоб вообще не появлялась это наверно надо хукнуть експлорер, а может просто зарегистрировать сообщение о выводе иконки как общее. но все ранво скрывающая программа должна все время быть запущена
 
http://zalil.ru/32088092
вот ета еще лучше удаляет, трей обновляется сам
 
Добавлено:
вообщем удалить чужую иконку из трея вообще проще пареной репы ниче не надо искать ни доступ получать. просто посылаешь любой иконке сообщение удалиться она и удаляется
 

Цитата:
 
;===============================================================
;===============================================================
;===============================================================
 
    .386
    .model flat,stdcall
    option casemap:none
 
;===============================================================
 
    include \masm32\include\windows.inc
 
    include \masm32\include\user32.inc
    include \masm32\include\kernel32.inc
    include \masm32\include\shell32.inc
 
    includelib \masm32\lib\user32.lib
    includelib \masm32\lib\kernel32.lib
    includelib \masm32\lib\shell32.lib
 
;===============================================================
 
.data
 
MyFile            db "µTorrent 2.0.4",0
 
.data?
note            NOTIFYICONDATA <>
 
.code
start:
    invoke FindWindow,0,ADDR MyFile
    mov note.hwnd, eax
    mov note.cbSize,sizeof NOTIFYICONDATA
    invoke Shell_NotifyIcon,NIM_DELETE,addr note
 
;===============================================================
 
    invoke    ExitProcess,0
 
end start
 
;===============================================================
;===============================================================
;===============================================================
 

Всего записей: 2341 | Зарегистр. 30-08-2010 | Отправлено: 03:13 19-11-2011 | Исправлено: doktorpilulkin, 06:59 19-11-2011
doktorpilulkin

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
попробовал сделать для удаления иконки по имени процесса из интересу, может пригодится кому то готовый код. тут некоторая проблема что окон верхнего уровня несколько, но и иконок в принципе может быть не одна, проверку на иконки уже лень делать да они и смысла не имеет - и так работает.
http://www.masm32.com/ - компилятор

Цитата:
 
;===============================================================
;===============================================================
;===============================================================
 
    .386
    .model flat,stdcall
    option casemap:none
 
;===============================================================
 
    include \masm32\include\windows.inc
 
    include \masm32\include\user32.inc
    include \masm32\include\kernel32.inc
    include \masm32\include\shell32.inc
 
    includelib \masm32\lib\user32.lib
    includelib \masm32\lib\kernel32.lib
    includelib \masm32\lib\shell32.lib
 
;===============================================================
 
EnumWind        PROTO WORD,:DWORD
 
.data
MyFile            db "utorrent.exe",0
 
.data?
note            NOTIFYICONDATA <>
hSnapshot        HANDLE ?
ProcEntry        PROCESSENTRY32 <>
LParam            dd ?
ProcId            dd ?
;buffer            db 512 dup (?)
 
.code
start:
 
    invoke CreateToolhelp32Snapshot, TH32CS_SNAPPROCESS, 0
    .IF eax != INVALID_HANDLE_VALUE
    mov hSnapshot,eax
    mov ProcEntry.dwSize,SIZEOF ProcEntry
    invoke Process32First, hSnapshot,addr ProcEntry
    .IF eax
@@:
    invoke lstrcmpi, addr MyFile, addr ProcEntry.szExeFile
    test eax,eax
    jz @F
    invoke Process32Next, hSnapshot,addr ProcEntry
    test eax,eax
    jnz @B
    invoke CloseHandle, hSnapshot
    .ENDIF
    .ENDIF
    invoke    ExitProcess,0
@@:
    invoke EnumWindows, addr EnumWind, addr LParam
 
;===============================================================
 
    invoke    ExitProcess,0
 
    EnumWind proc hwndWind:DWORD,lParam:DWORD
    invoke  GetWindowThreadProcessId,hwndWind,addr ProcId
    mov eax, ProcId
    .if ProcEntry.th32ProcessID==eax
    mov eax, hwndWind
    mov note.hwnd, eax
    mov note.cbSize,sizeof NOTIFYICONDATA
    invoke Shell_NotifyIcon,NIM_DELETE,addr note
    ;invoke GetWindowText, hwndWind, addr buffer, 512
    ;invoke MessageBox,0,addr buffer,0,0
    ;invoke MessageBox,0,addr ProcEntry.szExeFile,0,0
    .endif
    mov eax, 1
    ret
 
    EnumWind endp
 
end start
 
;===============================================================
;===============================================================
;===============================================================
 

 
Добавлено:
вот как было проще сделать - перебрать все иконки в трее, и каждую проверить на имя процесса ее создавшего - если имя совпадает удалить. потом как нибудь сделаю
 
Добавлено:
http://zalil.ru/32096494
вот так и сделал, командным параметром передается имя процесса, определяется его ID, потом создается список иконок трея и у каждого проверяется ID владельца иконки - если совпадает то иконка удаляется.

Всего записей: 2341 | Зарегистр. 30-08-2010 | Отправлено: 14:27 20-11-2011
kaspol

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ура сделал!!!!!!!!!!!!!  
http://zalil.ru/32088071  
 командным параметром передаешь заголовок главного окна программы иконку которого надо удалить из трея.  
 ICON.EXE µTorrent 2.0.4  
 на муторенте проверял  
   
 после перезагрузки експлорера в трее появляется сразу две иконки. я иконку скрыл а не удалил. надо все таки разбираться как ее удалить  
   
http://zalil.ru/32088073  
 вот эта удаляет а не скрывает иконку. после перезагрузки експлорера одна только иконка появляется  
   
 чтоб вообще не появлялась это наверно надо хукнуть експлорер, а может просто зарегистрировать сообщение о выводе иконки как общее. но все ранво скрывающая программа должна все время быть запущена  
   
http://zalil.ru/32088092  
 вот ета еще лучше удаляет, трей обновляется сам

 
А можете перезалить эти программки куда-нибудь в другое место? А то очень нужны, но там их уже нет...

Всего записей: 1 | Зарегистр. 26-04-2012 | Отправлено: 05:29 26-04-2012 | Исправлено: kaspol, 18:31 27-04-2012
rem0_k



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
перезалейте плыз

Всего записей: 71 | Зарегистр. 29-06-2008 | Отправлено: 14:28 21-02-2013
diman123123

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
попробуйте прогу  Application as Service  
 
тока ее и саму прятать надо.

Всего записей: 36 | Зарегистр. 29-01-2009 | Отправлено: 20:42 22-08-2015
bomzzz



Запрет на пост
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а у меня второй ник забанили. надо было в теме ассемблера попросить, или чтоб теме Си подсказали как скомпилить. хорошо код сохранился.
куда бы я сейчас не залил рано или поздно файл удалится. вот сайта масма
http://www.masm32.com/
вот тема ассемблера
http://forum.ru-board.com/topic.cgi?forum=33&bm=1&topic=7682&start=2420#lt
установить масм просто - как обычную программу. компилится таким батником

Цитата:
@echo off
color 0a
cd %~dp1
C:\masm32\bin\ml.exe /c /coff "%~1"
C:\masm32\bin\link.exe /subsystem:windows "%~n1.obj"
del "%~n1.obj"
pause

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

Цитата:
трей обновляется сам  

вот это в упор не могу вспомнить что означает. еще на форуме есть где то тема с программой скрывающей и показывающей окно программы. чтоб качать торренты на работе
 
Подробнее...
 
https://cloud.mail.ru/public/DDEw/DfAkzxcsD
 
Добавлено:
еще фигня такая, не забывайте такой коленкор - я уторрент свернул в трей и убрал иконку. а как его то вытащить назад? пришлось процесс прибивать в диспетчере, а потом для опытов использовать программку для делания окна видимым
 
   
 
 
вот это мой персональный макроассемблер с расширенными библиотеками создан большой группой авторов, так что можно полноценные драйвера писать, и как пример консоль нативного режима с драйвером для windows xp. там все батники для компиляции любых программ в любых режимах, в том числе драйверов есть внутри.
masm.zip 16,0 МБ (16 868 872 байт)

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 12:49 23-08-2015 | Исправлено: bomzzz, 20:13 23-08-2015
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Скрыть значок в системном трее


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru