Подскажите, пожалуйста, как можно убрать из системного трея определённый значок?
"Скрывать неиспользуемые значки", пжл, не предлагайте, ибо это не решение.
"Скрывать неиспользуемые значки", пжл, не предлагайте, ибо это не решение.
мб кто-нить еще предложит способ...
;===============================================================
;===============================================================
;===============================================================
.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
;===============================================================
;===============================================================
;===============================================================
;===============================================================
;===============================================================
;===============================================================
.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/32088071
командным параметром передаешь заголовок главного окна программы иконку которого надо удалить из трея.
ICON.EXE µTorrent 2.0.4
на муторенте проверял
после перезагрузки експлорера в трее появляется сразу две иконки. я иконку скрыл а не удалил. надо все таки разбираться как ее удалить
http://zalil.ru/32088073
вот эта удаляет а не скрывает иконку. после перезагрузки експлорера одна только иконка появляется
чтоб вообще не появлялась это наверно надо хукнуть експлорер, а может просто зарегистрировать сообщение о выводе иконки как общее. но все ранво скрывающая программа должна все время быть запущена
http://zalil.ru/32088092
вот ета еще лучше удаляет, трей обновляется сам
@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
трей обновляется сам
Страницы: 1
Предыдущая тема: Перезагрузка компьютера