为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 隐藏或显示托盘图标

隐藏或显示托盘图标

2018-03-16 7页 doc 25KB 7阅读

用户头像

is_668482

暂无简介

举报
隐藏或显示托盘图标隐藏或显示托盘图标 Òþ?Ø?òÏÔÊ?ÍÐÅÌÍ??ê.txtÎÒµÄÈËÉúÓÐA ÃæÒ?ÓÐBÃæ??ÄãµÄÈËÉúÓÐSÃæÒ?ÓÐBÃæ?? Ê??Ü???ÉÅÂ???Ø?ü??ÊÇ??ÊÇ?É??ËûÂè??ÏÖÔÚµÄ?óÑ?ÉúÌ?Ã?ËØÖÊÁË???ýÀ???Ã?Æ????ÓÈ?ÓÃ?ôÇÐ??ÓÐ?ÕÑ??çË?È???ËÀºóÕ??öºÃÄ?Ò?ËãÃÖ??ÁËÉúÇ?Âò??ÆðºÃ??µÄÒź???'ÉùÃ???Òå Option Explicit Private Const WM_U...
隐藏或显示托盘图标
隐藏或显示托盘图标 Òþ?Ø?òÏÔÊ?ÍÐÅÌÍ??ê.txtÎÒµÄÈËÉúÓÐA ÃæÒ?ÓÐBÃæ??ÄãµÄÈËÉúÓÐSÃæÒ?ÓÐBÃæ?? Ê??Ü???ÉÅÂ???Ø?ü??ÊÇ??ÊÇ?É??ËûÂè??ÏÖÔÚµÄ?óÑ?ÉúÌ?Ã?ËØÖÊÁË???ýÀ???Ã?Æ????ÓÈ?ÓÃ?ôÇÐ??ÓÐ?ÕÑ??çË?È???ËÀºóÕ??öºÃÄ?Ò?ËãÃÖ??ÁËÉúÇ?Âò??ÆðºÃ??µÄÒź???'ÉùÃ???Òå Option Explicit Private Const WM_USER = &H400 Private Const TB_BUTTONCOUNT = (WM_USER + 24) Private Const TB_HIDEBUTTON = (WM_USER + 4) Private Const TB_GETBUTTONTEXTA = (WM_USER + 45) Private Const TB_AUTOSIZE = (WM_USER + 33) Private Const MEM_COMMIT = &H1000 Private Const MEM_RESERVE = &H2000 Private Const MEM_RELEASE = &H8000 Private Const PAGE_READWRITE = &H4 Private Const PROCESS_VM_OPERATION = (&H8) Private Const PROCESS_VM_READ = (&H10) Private Const PROCESS_VM_WRITE = (&H20) 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, lParam As Any) As Long Private Declare Function VirtualAllocEx Lib "kernel32.dll" (ByVal hProcess As Long, lpAddress As Any, ByRef dwSize As Long, ByVal flAllocationType As Long, ByVal flProtect As Long) As Long Private Declare Function VirtualFreeEx Lib "kernel32.dll" (ByVal hProcess As Long, lpAddress As Any, ByRef dwSize As Long, ByVal dwFreeType As Long) As Long Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWnd As Long, lpdwProcessId As Long) As Long Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long 'Form??Ìå 'ÐèÒªµÄ?Ø?þ?ºCommand1??Command2??Command3??ListBox Private Sub Command1_Click() 'Òþ?ØÖ???Í??ê Dim pIdExplorer As Long, hwnd2 As Long, hExplorer As Long, lpIconText As Long Dim i As Integer Dim BtnCount As Integer Dim IconText As String hwnd2 = FindWindow("Shell_TrayWnd", vbNullString) hwnd2 = FindWindowEx(hwnd2, 0, "TrayNotifyWnd", vbNullString) hwnd2 = FindWindowEx(hwnd2, 0, "SysPager", vbNullString) hwnd2 = FindWindowEx(hwnd2, 0, "ToolbarWindow32", vbNullString) GetWindowThreadProcessId hwnd2, pIdExplorer hExplorer = OpenProcess(PROCESS_VM_OPERATION Or PROCESS_VM_READ Or PROCESS_VM_WRITE, False, pIdExplorer) lpIconText = VirtualAllocEx(ByVal hExplorer, ByVal 0&, Len(IconText), MEM_COMMIT Or MEM_RESERVE, PAGE_READWRITE) BtnCount = SendMessage(hwnd2, TB_BUTTONCOUNT, 0, 0) Dim lLen As Long, sBuff As String For i = 0 To BtnCount - 1 IconText = Space$(256) lLen = SendMessage(hwnd2, TB_GETBUTTONTEXTA, i, ByVal lpIconText) ReadProcessMemory hExplorer, ByVal lpIconText, ByVal IconText, Len(IconText), 0 If lLen <> -1 Then IconText = Left$(IconText, InStr(1, IconText, Chr$(0)) - 1) If IconText = List1.List(List1.ListIndex) Then ' Ìæ??ΪÐèÒªÒþ?صÄÍ??êÃû?Æ?º?ÍÊÇÊó?ê?ÅÔÚÍ??êÉÏÊ?ÏÔÊ?µÄÎÄ×Ö SendMessage hwnd2, TB_HIDEBUTTON, i, ByVal True SendMessage hwnd2, TB_AUTOSIZE, 0, 0 End If Next VirtualFreeEx hExplorer, lpIconText, Len(IconText), MEM_RELEASE CloseHandle hExplorer End Sub Private Sub Command2_Click() 'ÏÔÊ?Ö???Í??ê Dim pIdExplorer As Long, hwnd2 As Long, hExplorer As Long, lpIconText As Long Dim i As Integer Dim BtnCount As Integer Dim IconText As String hwnd2 = FindWindow("Shell_TrayWnd", vbNullString) hwnd2 = FindWindowEx(hwnd2, 0, "TrayNotifyWnd", vbNullString) hwnd2 = FindWindowEx(hwnd2, 0, "SysPager", vbNullString) hwnd2 = FindWindowEx(hwnd2, 0, "ToolbarWindow32", vbNullString) GetWindowThreadProcessId hwnd2, pIdExplorer hExplorer = OpenProcess(PROCESS_VM_OPERATION Or PROCESS_VM_READ Or PROCESS_VM_WRITE, False, pIdExplorer) lpIconText = VirtualAllocEx(ByVal hExplorer, ByVal 0&, Len(IconText), MEM_COMMIT Or MEM_RESERVE, PAGE_READWRITE) BtnCount = SendMessage(hwnd2, TB_BUTTONCOUNT, 0, 0) Dim lLen As Long, sBuff As String For i = 0 To BtnCount - 1 IconText = Space$(256) lLen = SendMessage(hwnd2, TB_GETBUTTONTEXTA, i, ByVal lpIconText) ReadProcessMemory hExplorer, ByVal lpIconText, ByVal IconText, Len(IconText), 0 If lLen <> -1 Then IconText = Left$(IconText, InStr(1, IconText, Chr$(0)) - 1) If IconText = List1.List(List1.ListIndex) Then ' ' Ìæ??ΪÐèÒªÒþ?صÄÍ??êÃû?Æ?º?ÍÊÇÊó?ê?ÅÔÚÍ??êÉÏÊ?ÏÔÊ?µÄÎÄ×Ö SendMessage hwnd2, TB_HIDEBUTTON, i, ByVal False SendMessage hwnd2, TB_AUTOSIZE, 0, 0 End If Next VirtualFreeEx hExplorer, lpIconText, Len(IconText), MEM_RELEASE CloseHandle hExplorer End Sub Private Sub Command3_Click() 'Ë?ÐÂÍ??êÁÐ?í List1.Clear Dim pIdExplorer As Long, hwnd2 As Long, hExplorer As Long, lpIconText As Long Dim i As Integer Dim BtnCount As Integer Dim IconText As String hwnd2 = FindWindow("Shell_TrayWnd", vbNullString) hwnd2 = FindWindowEx(hwnd2, 0, "TrayNotifyWnd", vbNullString) hwnd2 = FindWindowEx(hwnd2, 0, "SysPager", vbNullString) hwnd2 = FindWindowEx(hwnd2, 0, "ToolbarWindow32", vbNullString) GetWindowThreadProcessId hwnd2, pIdExplorer hExplorer = OpenProcess(PROCESS_VM_OPERATION Or PROCESS_VM_READ Or PROCESS_VM_WRITE, False, pIdExplorer) lpIconText = VirtualAllocEx(ByVal hExplorer, ByVal 0&, Len(IconText), MEM_COMMIT Or MEM_RESERVE, PAGE_READWRITE) BtnCount = SendMessage(hwnd2, TB_BUTTONCOUNT, 0, 0) Dim lLen As Long, sBuff As String For i = 0 To BtnCount - 1 IconText = Space$(256) lLen = SendMessage(hwnd2, TB_GETBUTTONTEXTA, i, ByVal lpIconText) ReadProcessMemory hExplorer, ByVal lpIconText, ByVal IconText, Len(IconText), 0 If lLen <> -1 Then IconText = Left$(IconText, InStr(1, IconText, Chr$(0)) - 1) List1.AddItem IconText Next VirtualFreeEx hExplorer, lpIconText, Len(IconText), MEM_RELEASE CloseHandle hExplorer End Sub Private Sub Form_Load() Command3_Click Command1_Click End Sub
/
本文档为【隐藏或显示托盘图标】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索