隐藏或显示托盘图标

合集下载

如何清除电脑中的无用桌面图标

如何清除电脑中的无用桌面图标

如何清除电脑中的无用桌面图标在当今科技发达的时代,电脑成为人们生活和工作中不可或缺的工具之一。

然而,随着时间的推移,我们在电脑桌面上添加了越来越多的图标,导致桌面变得杂乱无章。

本文将介绍一些方法,帮助你清除电脑中的无用桌面图标,使桌面恢复整洁。

一、分类整理图标在清除无用桌面图标之前,首先需要将桌面图标进行分类整理。

可以按照不同的用途将图标分为工作、娱乐、学习等类型,并新建相应的文件夹。

通过将图标放置到相应的文件夹中,可以简化桌面上的图标数量,增强分类管理的效果。

二、删除无用图标1. 识别无用图标:在整理图标过程中,要仔细检查每个图标的实际用途,判断其是否为无用图标。

无用图标通常是指我们很少使用或者已经不再需要的程序快捷方式,比如未安装的软件、已经删除的应用程序等。

2. 右键删除图标:对于那些识别出来的无用图标,可以直接右键点击图标,选择“删除”来清除它们。

系统会弹出一个确认对话框,确保你真的想删除该图标,点击确认后即可将其删除至回收站中。

3. 清空回收站:删除图标后,这些图标并不会立即从电脑中完全清除。

为了确保彻底地清除无用图标,建议在删除后主动清空回收站。

双击回收站图标,右键点击空白处,选择“清空回收站”选项,以便释放磁盘空间并彻底删除这些无用文件。

三、使用隐藏图标功能对于那些不经常使用但仍然有一定作用的图标,可以利用系统自带的“隐藏图标”功能进行处理,以减少桌面上的杂乱感。

1. 打开系统托盘设置:右键点击任务栏上的空白处,选择“任务栏设置”选项,在弹出的窗口中点击“选择要在任务栏上显示的图标”链接。

2. 配置隐藏图标:在“选择图标”页面,可以看到各种可选择的系统图标。

找到你希望隐藏的图标,点击相应的开关按钮将其从任务栏上隐藏。

隐藏图标将被转移到系统托盘区域,你可以通过点击托盘区域的图标来展开隐藏的图标列表。

四、使用文件夹替代图标除了隐藏图标功能之外,你还可以通过使用文件夹来代替桌面上的一些图标。

系统托盘图标隐藏解决方法

系统托盘图标隐藏解决方法

系统托盘图标不见了,你没有办法判断现在的输入法、时间、甚至没有办法调节音量。

有网友可能就会问了,系统托盘图标是什么?在哪里?其实通常我们所说的系统托盘在我们操作系统桌面的右下角。

系统托盘图标“隐藏”了该怎么办呢?通常我们会采取以下途径解决问题。

输入法图标丢失
从“控制面板”下打开“区域和语言选项”-“语言”-“详细信息”-“语言栏”,“在桌面显示语言栏”前打上√就可以了。

如图1:
图1
音量控制图标丢失
从“控制面板”中打开“声音和音频设备属性”窗口,然后勾选“将音量图标放入任务栏”复选框就行了。

如图2:
图2
任务栏丢失
打开注册表编辑器,找到
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer下的StuckRects子键,将它删除后重新启动计算机就可以了。

c#win32Api接口隐藏第三方软件应用程序的右下角图标托盘图标

c#win32Api接口隐藏第三方软件应用程序的右下角图标托盘图标

c#win32Api接⼝隐藏第三⽅软件应⽤程序的右下⾓图标托盘图标使⽤⽅法SetTrayIconVisible("qq", false);//获取托盘指针private static IntPtr TrayToolbarWindow32(){IntPtr h = IntPtr.Zero;IntPtr hTemp = IntPtr.Zero;h = Win32API.FindWindow("Shell_TrayWnd", null); //托盘容器h = Win32API.FindWindowEx(h, IntPtr.Zero, "TrayNotifyWnd", null);//找到托盘h = Win32API.FindWindowEx(h, IntPtr.Zero, "SysPager", null);hTemp = Win32API.FindWindowEx(h, IntPtr.Zero, "ToolbarWindow32", null);return hTemp;}//显⽰/隐藏单个系统托盘图标,由参数caption指定图标public static void SetTrayIconVisible(string caption, bool isShow){IntPtr vHandle = TrayToolbarWindow32();int vCount = Win32API.SendMessage(vHandle, Win32API.TB_BUTTONCOUNT, 0, 0);IntPtr vProcessId = IntPtr.Zero;Win32API.GetWindowThreadProcessId(vHandle, ref vProcessId);IntPtr vProcess = Win32API.OpenProcess(Win32API.PROCESS_VM_OPERATION | Win32API.PROCESS_VM_READ | Win32API.PROCESS_VM_WRITE, IntPtr.Zero, vProcessId);IntPtr vPointer = Win32API.VirtualAllocEx(vProcess, (int)IntPtr.Zero, 0x1000,Win32API.MEM_RESERVE | Win32API.MEM_COMMIT, Win32API.PAGE_READWRITE);char[] vBuffer = new char[256];IntPtr pp = Marshal.UnsafeAddrOfPinnedArrayElement(vBuffer, 0);uint vNumberOfBytesRead = 0;try{for (int i = 0; i < vCount; i++){Win32API.SendMessage(vHandle, Win32API.TB_GETBUTTONTEXT, i, vPointer.ToInt32());Win32API.ReadProcessMemoryEx(vProcess, vPointer,Marshal.UnsafeAddrOfPinnedArrayElement(vBuffer, 0),vBuffer.Length * sizeof(char), ref vNumberOfBytesRead);int l = 0;for (int j = 0; j < vBuffer.Length; j++){if (vBuffer[j] == (char)0){l = j;break;}}string s = new string(vBuffer, 0, l);if (s.IndexOf(caption) >= 0){if (isShow)Win32API.SendMessage(vHandle, Win32API.TB_HIDEBUTTON, i, 0);elseWin32API.SendMessage(vHandle, Win32API.TB_HIDEBUTTON, i, 1);}Console.WriteLine(s);}}finally{Win32API.VirtualFreeEx(vProcess, vPointer, 0, Win32API.MEM_RELEASE);Win32API.CloseHandle(vProcess);}}using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices;/********************************************************************************* 资料收集:Jonny Sun ,* ******************************************************************************/namespace HideIcon{/// <summary>/// 操作Windows窗体,系统托盘所⽤的API函数/// </summary>public class Win32API{public const int WM_USER = 0x400;public const int WM_CLOSE = 0x10;public const int WM_GETTEXT = 0x000D;public const int WM_SETTEXT = 0x000C;public const int STANDARD_RIGHTS_REQUIRED = 0xF0000;public const int SYNCHRONIZE = 0x100000;public const int PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFF;public const int PROCESS_TERMINATE = 0x1;public const int PROCESS_VM_OPERATION = 0x8;public const int PROCESS_VM_READ = 0x10;public const int PROCESS_VM_WRITE = 0x20;public const int MEM_RESERVE = 0x2000;public const int MEM_COMMIT = 0x1000;public const int MEM_RELEASE = 0x8000;public const int PAGE_READWRITE = 0x4;public const int TB_BUTTONCOUNT = (WM_USER + 24);public const int TB_HIDEBUTTON = (WM_USER + 4);public const int TB_GETBUTTON = (WM_USER + 23);public const int TB_GETBUTTONTEXT = WM_USER + 75;public const int TB_GETBITMAP = (WM_USER + 44);public const int TB_DELETEBUTTON = (WM_USER + 22);public const int TB_ADDBUTTONS = (WM_USER + 20);public const int TB_INSERTBUTTON = (WM_USER + 21);public const int TB_ISBUTTONHIDDEN = (WM_USER + 12);public const int ILD_NORMAL = 0x0;public const int TPM_NONOTIFY = 0x80;public const int WS_VISIBLE = 268435456;//窗体可见public const int WS_MINIMIZEBOX = 131072;//有最⼩化按钮public const int WS_MAXIMIZEBOX = 65536;//有最⼤化按钮public const int WS_BORDER = 8388608;//窗体有边框public const int GWL_STYLE = (-16);//窗体样式public const int GW_HWNDFIRST = 0;public const int GW_HWNDNEXT = 2;public const int SW_HIDE = 0;public const int SW_SHOW = 5;[DllImport("User32.Dll")]public static extern void GetClassName(IntPtr hwnd, StringBuilder s, int nMaxCount);[DllImport("user32.dll", EntryPoint = "SetForegroundWindow", SetLastError = true)]public static extern void SetForegroundWindow(IntPtr hwnd);[DllImport("user32.dll", EntryPoint = "GetDlgItem", SetLastError = true)]public static extern IntPtr GetDlgItem(int nID, IntPtr phWnd);[DllImport("user32.dll", CharSet = CharSet.Auto)]public static extern int RegisterWindowMessage(string msg);[DllImport("kernel32", EntryPoint = "OpenProcess")]public static extern IntPtr OpenProcess(int dwDesiredAccess, IntPtr bInheritHandle, IntPtr dwProcessId);[DllImport("kernel32", EntryPoint = "CloseHandle")]public static extern int CloseHandle(IntPtr hObject);[DllImport("user32", EntryPoint = "GetWindowThreadProcessId")]public static extern IntPtr GetWindowThreadProcessId(IntPtr hwnd, ref IntPtr lpdwProcessId);[DllImport("user32.dll")]public static extern bool PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);[DllImport("user32", EntryPoint = "SendMessage")]public static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);[DllImport("user32", EntryPoint = "SendMessage")]public static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, IntPtr lParam);[DllImport("kernel32", EntryPoint = "ReadProcessMemory")]public static extern int ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, ref IntPtr lpBuffer, int nSize, int lpNumberOfBytesWritten);[DllImport("kernel32.dll", EntryPoint = "ReadProcessMemory")]public static extern bool ReadProcessMemoryEx(IntPtr hProcess, IntPtr lpBaseAddress, IntPtr lpBuffer, int nSize, ref uint vNumberOfBytesRead); [DllImport("kernel32", EntryPoint = "ReadProcessMemory")]public static extern int ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, int nSize, int lpNumberOfBytesWritten);[DllImport("kernel32", EntryPoint = "WriteProcessMemory")]public static extern int WriteProcessMemory(IntPtr hProcess, ref int lpBaseAddress, ref int lpBuffer, int nSize, ref int lpNumberOfBytesWritten);[DllImport("kernel32", EntryPoint = "VirtualAllocEx")]public static extern IntPtr VirtualAllocEx(IntPtr hProcess, int lpAddress, int dwSize, int flAllocationType, int flProtect);[DllImport("kernel32", EntryPoint = "VirtualFreeEx")]public static extern int VirtualFreeEx(IntPtr hProcess, IntPtr lpAddress, int dwSize, int dwFreeType);[DllImport("User32.dll")]public extern static int GetWindow(int hWnd, int wCmd);[DllImport("User32.dll")]public extern static int GetWindowLongA(int hWnd, int wIndx);[DllImport("user32.dll")]public static extern bool GetWindowText(int hWnd, StringBuilder title, int maxBufSize);[DllImport("user32.dll", CharSet = CharSet.Auto)]public extern static int GetWindowTextLength(IntPtr hWnd);[DllImport("User32.dll", EntryPoint = "FindWindow")]public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);[DllImport("user32.dll", EntryPoint = "FindWindowEx", SetLastError = true)]public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow); [DllImport("user32.dll", EntryPoint = "ShowWindow", SetLastError = true)]public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);[DllImport("user32.dll", EntryPoint = "SendMessageA")]public static extern int SendMessage(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam);}}。

隐藏或显示托盘图标(Hideorshowthetrayicon)

隐藏或显示托盘图标(Hideorshowthetrayicon)

隐藏或显示托盘图标(Hide or show the tray icon)Hide or show the tray icon.Txt my life A as B, your life is B S. Failure is not terrible, the key is not the mother of success. The students now not too much quality! Come copy feather, actually by shear! Free to study Feng Shui, after the death of a tomb is made up of living can't afford to buy a house.'definition statementOption ExplicitPrivate Const WM_USER = &H400Private 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 = &H1000Private Const MEM_RESERVE = &H2000Private Const MEM_RELEASE = &H8000Private Const PAGE_READWRITE = &H4Private 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任何,ByVal nSize为长,长,长lpnumberofbyteswritten)私人声明函数WriteProcessMemory lib“功能”(ByVal hprocess 一样长,lpbaseaddress任何lpBuffer任何,ByVal nSize,长,长时间lpnumberofbyteswritten)私人声明函数getcurrentprocessid lib“功能”()长“形式窗体“需要的控件:command1,Command2、Command3,列表框“隐藏指定图标私有子command1_click()昏暗的pidexplorer一样长,二的句柄一样长,hexplorer一样长,lpicontext长我作为整数暗淡昏暗的btncount为整数昏暗的iContext作为字符串二的句柄= FindWindow(“shell_traywnd”:)二的句柄= FindWindowEx(二的句柄,0,“traynotifywnd”:)二的句柄= FindWindowEx(二的句柄,0,“syspager”:)二的句柄= FindWindowEx(二的句柄,0,“toolbarwindow32”:)getwindowthreadprocessid二的句柄,pidexplorerhexplorer = OpenProcess(process_vm_operation或process_vm_read或process_vm_write,虚假,pidexplorer)lpicontext = virtualallocex(ByVal hexplorer,ByVal 0、Len (iContext),mem_commit或mem_reserve,page_readwrite)btncount = SendMessage(二的句柄,tb_buttoncount,0, 0)昏暗的花粉一样长,sbuff作为字符串我btncount = 0 - 1(256)美元的iContext =空间LLEN = SendMessage(二的句柄,tb_getbuttontexta、我、ByVal lpIconText)hexplorer ReadProcessMemory,ByVal lpIconText,ByVal IconText,Len(iContext),0如果同步<> 1然后iContext =美金(iContext,仪器(1美元的iContext,CHR(0))- 1)如果iContext = List1.列表(List1. ListIndex)然后替换为需要隐藏的图标名称:就是鼠标放在图标上时显示的文字SendMessage二的句柄,tb_hidebutton,我,ByVal TrueSendMessage二的句柄,tb_autosize,0, 0最后如果下一个virtualfreeex hexplorer,lpicontext、Len(iContext),mem_releasehexplorer CloseHandle端子“显示指定图标私有子command2_click()昏暗的pidexplorer长,hexplorer = OpenProcess(process_vm_operation或process_vm_read或process_vm_write,虚假,pidexplorer)lpicontext = virtualallocex(ByVal hexplorer,ByVal 0、Len (iContext),mem_commit或mem_reserve,page_readwrite)btncount = SendMessage(二的句柄,tb_buttoncount,0, 0)昏暗的花粉一样长,sbuff作为字符串我btncount = 0 - 1(256)美元的iContext =空间LLEN = SendMessage(二的句柄,tb_getbuttontexta、我、ByVal lpIconText)hexplorer ReadProcessMemory,ByVal lpIconText,ByVal IconText,Len(iContext),0如果同步<> 1然后iContext =美金(iContext,仪器(1美元的iContext,CHR(0))- 1)list1.additem iContext下一个virtualfreeex hexplorer,lpicontext、Len(iContext),mem_releasehexplorer CloseHandle端子私有子form_load()command3_clickcommand1_click端子。

隐藏托盘图标

隐藏托盘图标
不借用软件方法
1.通过”开始--运行”, 在”运行”中输入gpedit.msc,打开”组策略编辑器”
2.依次定位到”用户配置--管理模板--任务栏和开始菜单”,双击右侧窗口中的”隐藏通知区域”,将其设置为”已启用”,确认操作并退出编辑器.
3.此时,隐藏通知区域(即系统托盘)并没有开始起作用,通常我们要注销系统或重新启动,如果你不想重新启动系统,也可以通过”Ctrl+shift+Esc"组合键打开任务管理器,选中并结束Explorer.exe进程,然后再重新运行此进程,这时系统托盘就彻底隐藏了起来.
如果需要在不影响当前任务的情况下(即不重启,不注销)重新显示系统托盘,可以将组策略中的值恢复,然后重新调用一次Explorer进程即可.
这个方法会把托盘区全部隐藏 你也可以下载一个HideHelper 软件隐藏你要隐藏的系统托盘图标
一秒一卡,十分潇洒。一走一停Байду номын сангаас十分有型。三秒一卡,等我到傻。五步一停,摆个造型。一心等待,缓冲失败。卡卡停停 ,不服不行。

如何隐藏qq托盘的图标

如何隐藏qq托盘的图标

如何隐藏QQ托盘的图标
很多上班族上班的时候想要挂QQ,但是电脑托盘上图标又显示,拍被领导看到会责怪,如果可以隐藏的话那就不用当心了。

这里就叫一下大家如何隐藏QQ图标。

1.首先要打开系统设置。

2.然后依次点击基本设置-热键-设置热键。

3然后把提取消息的热键设置为一个方便按下的数字。

当然也不要和其他快捷键起冲突哦。

我这里设置的是ctrl+alt+z,点击快捷键设置的地方、按下键盘上面的ctrl+alt+z键即可!!【最好设置简单一点的,比如f11就可以直接点击f11了】
4.设置之后回到主面板,把主面板里面的“在任务栏通知区域显示QQ图标”前面的勾勾去掉。

然后把QQ最小化就可以了,如果要看消息的话,直接点击设置好的提取消息的快捷键就可以看到了哦。

系统托盘上显示和隐藏应用应用程序界面

p c u C , i( n e : d hM n S d r 1 e

样, 当他 们 暂 不 被 使 用 或 者 在 后 台运 行 时 藏 身 于 Wi o s的 n w d
i f伸 l a

系统 托 盘 之 中 用 户 希 望 看 到其 操 作 界 面 时 . 当 只嚣 在 系 统 托 盘 中选 取 即 可 , 取 时 还 可 弹 出 应用 程 序 的 弹 出 式 菜 单 . 统 托 盘 选 紊 菜单 的巧 妙使 用 可 以使 用 应 用 程 序 使 用起 来 更 加 简 单 方 便 . 别 特
p du S o C i ( e dr 瑚 h  ̄l l k Sw e:TO } ): c B ̄t
p e u Ma l l k S n e :TOlet ;  ̄ d m x C i ( d  ̄ c e  ̄ e)
pmt ( T d a t y V盯 Ms f g TMe
的 系统托 盘之 中, 用 当
蚁 、 I Q 等程 序一样 , OC 当他 们 暂 不 被 使 用 或 者 在 后 台运 行 时 藏 身 于 Wid n0
户 希 望 看 到 其 操 作 界 面 时 . 需 在 系统 托 盘 中选 取 即 可 , 取 时还 可 弹 出应 用 程 序 的 弹 出 式 菜 单 。 只 选
T o l~ F m
a T mL )
Pg M e e mp  ̄M TP u op pM e nu;
然 后 编写 处 理 应 用 程序 最 小 化 消 息的 方 法 :
po e ue Mif e d r T bet ; rcd r On n S n e= O j ) c 2 蝙 写 对 消息 wM R 、 T AYN T F 跟 踪检 酬进 行 处理 O 1Y

电脑右下角任务栏图标太长隐藏的方法

电脑右下角任务栏图标太长隐藏的方法
电脑桌面右下角的任务栏可以帮我们归纳一些在后台运行的软件,让我们可以很轻松的找到后台软件,但有些时候由于后台软件太多,导致桌面任务栏看起来十分拥挤,今天小编就为大家带来了电脑右下角任务栏图标太长如何隐藏的设置方法,希望能够帮到大家。

电脑右下角任务栏图标太长的隐藏设置方法
右键点击桌面空白处,选择属性;
在弹出选项卡中点击通知区域&mdash;&mdash;自定义;
在弹出选项卡中把需要设置隐藏或显示的图标进行设置即可。

首先我们选择在任务栏的空白区域点击右键选择属性;
然后在任务栏和属性菜单的中间位置设置通知区域,点击自定义进入设置;
在自定义中选择任务栏上出现的图标,我们的选择是把“始终在任务栏上显示所有图标和通知”前的勾去掉,这样我们可以编辑图标的行为了;
在可编辑图标行为那里,有显示图标的说明是显示在通知区域的,其他都是隐藏图标;
隐藏后我们可以点击箭头查看其他图标及打开的应用,这样我们来qq消息就看不到了,需要自己点进去看,好处就是领导看不到了,坏处就是自己不能及时看到消息。

电脑右下角任务栏图标太长隐藏的相关文章:
1.Win7任务栏右下角的隐藏图标小三角形不见了怎么办
2.Win7任务栏右下角的隐藏三角形不见了怎么办
3.Win7隐藏任务栏右侧图标的方法
4.任务栏图标消失怎么恢复
5.如何显示电脑桌面右下角全部图片
6.win7桌面右下角通知区域图标消失怎么办。

C#托盘应用详解

C#托盘应用详解一.托盘程序的主要步骤及解决方法:为什么说用Visual C#可以十分方便的做一个托盘程序,主要的原因是在.Net框架的软件开发包( .Net FrameWork SDK )中的WinForm组件中定义了一个专门用来开发托盘程序的组件--NotifyIcon组件。

下面就来介绍一下这个组件的具体用法和程序设计中的主要的技巧。

(1).如何在程序运行后隐藏窗体:我们知道托盘程序运行后是无法看见主窗体的,他只会显示在工具栏上。

在用Visual C#设计此类程序的时候,可以用二种方法使得程序运行后不显示主窗体。

其中一种方法是重载主窗体中的OnActivated( )事件,OnActivated( )事件是在窗体激活的时候才触发的。

通过重载此事件可以达到隐藏主窗体的目的。

具体程序代码如下:protected override void OnActivated ( EventArgs e ){this.Hide ( ) ;}另外一种方法是在初始化主窗体的时候完成的,通过设定主窗体的属性来达到不显示的目的。

具体的程序代码如下:this.MaximizeBox = false ;this.MinimizeBox = false ;this.WindowState = System.Windows.Forms.FormWindowState.Minimized ;在本文介绍的程序中,使用了第二种方法。

(2).如何为托盘程序设定显示图标:在NotifyIcon组件中有一个属性icon就是来设定托盘图标的,由于Visual C#是一个完全的OOP (面向对象)语言,在Visual C#中任何东西都可以作为对象来处理。

当然对应一个icon来说,也可以用对象的方法来处理他。

我们通过下列语句来得到一个icon对象:private Icon mNetTrayIcon = new Icon ( "Tray.ico" ) ;请注意:在编译好的程序中,必须要在同一个目录中有一个Tray.ico图标文件,否则程序运行时候会出错的。

Qt窗口的一些简单设置-标题、图标、最大化最小化按钮、任务栏图标

Qt窗⼝的⼀些简单设置-标题、图标、最⼤化最⼩化按钮、任务栏图标零零碎碎看了很多Qt例⼦,有⼀些很零散的窗体控制⽅法,在这总结⼀些。

1.更改窗体标题this->setWindowTitle("窗体标题");窗体标题”就是更改的窗体标题2.控制窗体⼤⼩1this->setMaximumSize(300,300); //窗体最⼤尺⼨2this->setMinimumSize(300,300); //窗体最⼩尺⼨3this->setMinimumHeight(300); //单独设置窗体⾼的最⼩值4this->setMaximumWidth(300); //单独设置窗体宽的最⼩值也可以通过窗体布局控制窗体⼤⼩1 QGridLayout *mainLayout = new QGridLayout; //窗体中控件为⽹格布局2 mainLayout->setSizeConstraint(QLayout::SetFixedSize); //布局⼤⼩不变在构造函数中的这个函数强制设置窗体的布局为固定⼤⼩,⽤户不可⾃⾏调整对话框⼤⼩。

布局管理器将会负责调整⼤⼩的任务,当⼀些⼦窗⼝期间显⽰或隐藏的时候⾃动的调整对话框的⼤⼩,以保证对话框总是以优化了的⼤⼩显⽰。

在官⽅⽂档中setSizeConstraint给的解释为:sizeConstraint:SizeConstraint. This property holds the resize mode of the layout.这个函数主要是通过布局管理器对布局⼤⼩进⾏限制,与上⾯介绍的窗体⼤⼩有所不同。

函数SetFixedSize如下:void QWidget::setFixedSize(const QSize &s);设置控件的最⼤和最⼩尺⼨为s,防⽌控件⼤⼩的变化。

3.更改窗体图标⾸先在项⽬右键-->添加新⽂件,弹出如下对话框在左侧选中Qt,右侧选择Qt Resource File,然后Choose,页⾯如下:如果路径没错的话就⾃⼰命⼀个名字例如:icon,然后下⼀步,⼀路next知道完成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

'ÉùÃ÷¶¨ÒåOption ExplicitPrivate Const WM_USER = &H400Private 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 = &H1000Private Const MEM_RESERVE = &H2000Private Const MEM_RELEASE = &H8000Private Const PAGE_READWRITE = &H4Private 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 LongPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPrivate 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 LongPrivate Declare Function VirtualFreeEx Lib "kernel32.dll" (ByVal hProcess As Long, lpAddress As Any, ByRef dwSize As Long, ByVal dwFreeType As Long) As LongPrivate Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As LongPrivate Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As LongPrivate Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWnd As Long, lpdwProcessId As Long) As LongPrivate Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As LongPrivate Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSizeAs Long, lpNumberOfBytesWritten As Long) As LongPrivate Declare Function GetCurrentProcessId Lib "kernel32" () As Long'Form´°Ìå'ÐèÒªµÄ¿Ø¼þ£ºCommand1£¬Command2£¬Command3£¬ListBoxPrivate Sub Command1_Click() 'Òþ²ØÖ¸¶¨Í¼±êDim pIdExplorer As Long, hwnd2 As Long, hExplorer As Long, lpIconText As LongDim i As IntegerDim BtnCount As IntegerDim IconText As Stringhwnd2 = FindWindow("Shell_TrayWnd", vbNullString)hwnd2 = FindWindowEx(hwnd2, 0, "TrayNotifyWnd", vbNullString)hwnd2 = FindWindowEx(hwnd2, 0, "SysPager", vbNullString)hwnd2 = FindWindowEx(hwnd2, 0, "ToolbarWindow32", vbNullString)GetWindowThreadProcessId hwnd2, pIdExplorerhExplorer = 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 StringFor i = 0 To BtnCount - 1IconText = Space$(256)lLen = SendMessage(hwnd2, TB_GETBUTTONTEXTA, i, ByVal lpIconText)ReadProcessMemory hExplorer, ByVal lpIconText, ByVal IconText, Len(IconText), 0If 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 TrueSendMessage hwnd2, TB_AUTOSIZE, 0, 0End IfNextVirtualFreeEx hExplorer, lpIconText, Len(IconText), MEM_RELEASE CloseHandle hExplorerEnd SubPrivate Sub Command2_Click() 'ÏÔʾָ¶¨Í¼±êDim pIdExplorer As Long, hwnd2 As Long, hExplorer As Long, lpIconText As LongDim i As IntegerDim BtnCount As IntegerDim IconText As Stringhwnd2 = FindWindow("Shell_TrayWnd", vbNullString)hwnd2 = FindWindowEx(hwnd2, 0, "TrayNotifyWnd", vbNullString)hwnd2 = FindWindowEx(hwnd2, 0, "SysPager", vbNullString)hwnd2 = FindWindowEx(hwnd2, 0, "ToolbarWindow32", vbNullString)GetWindowThreadProcessId hwnd2, pIdExplorerhExplorer = 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 StringFor i = 0 To BtnCount - 1IconText = Space$(256)lLen = SendMessage(hwnd2, TB_GETBUTTONTEXTA, i, ByVal lpIconText)ReadProcessMemory hExplorer, ByVal lpIconText, ByVal IconText, Len(IconText), 0If 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 FalseSendMessage hwnd2, TB_AUTOSIZE, 0, 0End IfNextVirtualFreeEx hExplorer, lpIconText, Len(IconText), MEM_RELEASE CloseHandle hExplorerEnd SubPrivate Sub Command3_Click() 'Ë¢ÐÂͼ±êÁбíList1.ClearDim pIdExplorer As Long, hwnd2 As Long, hExplorer As Long, lpIconText As LongDim i As IntegerDim BtnCount As IntegerDim IconText As Stringhwnd2 = FindWindow("Shell_TrayWnd", vbNullString)hwnd2 = FindWindowEx(hwnd2, 0, "TrayNotifyWnd", vbNullString)hwnd2 = FindWindowEx(hwnd2, 0, "SysPager", vbNullString)hwnd2 = FindWindowEx(hwnd2, 0, "ToolbarWindow32", vbNullString)GetWindowThreadProcessId hwnd2, pIdExplorerhExplorer = 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 StringFor i = 0 To BtnCount - 1IconText = Space$(256)lLen = SendMessage(hwnd2, TB_GETBUTTONTEXTA, i, ByVal lpIconText)ReadProcessMemory hExplorer, ByVal lpIconText, ByVal IconText, Len(IconText), 0If lLen <> -1 Then IconText = Left$(IconText, InStr(1, IconText, Chr$(0)) - 1)List1.AddItem IconTextNextVirtualFreeEx hExplorer, lpIconText, Len(IconText), MEM_RELEASE CloseHandle hExplorerEnd SubPrivate Sub Form_Load()Command3_ClickCommand1_ClickEnd Sub。

相关文档
最新文档