怎样显示右下角的小图标

怎样显示右下角的小图标 如图 隐藏图标那个是不能选择的。所以不知道怎么改

最简便方法:
在右下角的空白处单击右键,选择"属性",然后再选择"自定义",然后你就可以看到那些那些小图标,然后单击"在不活动时隐藏",再点击那下拉图标,就会有三个选项"总是隐藏\在不活动时隐藏\总是显示",然后选择"总是隐藏",然后单击"确定",再单击"应用",最后再单击"确定",就可以把你想隐藏的图标隐藏起来了,想显示的话,方法一样,选择"在不活动时隐藏"或者"总是显示"就可以了,可以根据自己的需要!

若楼主电脑技术不错,可尝试以下:
代 表 该 程 序 的 小 图 标 就 会 隐 藏 在 屏 幕 的 右 下 角( 即 任 务 栏 的 右 边), 如“ 金 山 词 霸”、“ 东 方 快 车” 等, 而 我 们 用Visual Basic 编 制 的 程 序 在 最 小 化 后, 图 标 却 总 是 出 现 在 任 务 栏 的 中 央, 并 且 占 据 较 大 的 空 间。 如 何 让 我 们 自 己 的 程 序 也 能 将 最 小 化 图 标 放 在 任 务 栏 的 右 边 呢 ? 我 们 可 以 通 过Windows API 函 数 调 用 来 实 现 该 功 能。

一、 如 何 添 加 和 隐 藏 图 标
---- 在Windows 的 动 态 连 接 库Shell32.dll 中 有 一 个 名 为Shell_NotifyIconA 的Windows API 函 数, 其 功 能 是 对 任 务 栏 的 右 下 角 图 标 进 行 操 作, 包 括 添 加、 删 除 和 修 改。Shell_NotifyIconA 函 数 的VB 声 明 格 式 如 下:
---- Declare Function Shell_NotifyIconA Lib "SHELL32 " (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As IntegerShell_NotifyIconA 有 两 个 参 数DwMessage 和lpData。DwMessage 为 操 作 图 标 的 方 式, 可 能 的 取 值 和 含 义 如 下:

---- 0( 向 任 务 栏 添 加 图 标)
---- 1( 修 改 任 务 栏 中 的 图 标)
---- 2( 删 除 任 务 栏 中 的 图 标)

---- lpData 是 自 定 义 数 据 类 型NOTIFYICONDATA 的 数 据, 该 自 定 义 数 据 结 构 由 以 下 成 员 构 成:

---- 1. cbSize: 需 填 写NOTIFYICONDATA 数 据 结 构 的 长 度, 在 使 用 时 可 通 过VB 的 标 准 函 数Len 来 计 算, 如nid 为NOTIFYICONDATA 类 型 的 变 量, 则cbSize 为Len(nid)。

---- 2. hWnd: 最 小 化 窗 体 的 句 柄。

---- 3. uID: 使 用 者 为 图 标 所 设 定 的 ID, 可 自 定。

---- 4. uFlags: 用 来 设 定 后 面 三 个 成 员(uCallbackMessage、hIcon、szTip) 是 否 有 效, 等 于 1 时 为uCallbackMessage 有 效, 将 来 使 用 者 在 图 标 上 按 下 鼠 标 键 时, Windows 会 发 出 消 息 给 窗 体 程 序; 等 于 2 时 为hIcon 有 效, 表 示 要 显 示 图 标( 如 果 不 显 示 图 标, 用 户 只 是 无 法 看 见 图 标, 但 仍 然 可 在 任 务 栏 的 图 标 应 该 出 现 的 位 置 上 操 作); 等 于 4 时 为szTip 有 效, 当 用 户 将 鼠 标 指 针 放 在 图 标 上 时, 要 显 示 提 示 信 息, 否 则 不 显 示。 通 常 将uFlags 设 定 成 7( 即 1 + 2 + 4), 表 示 全 部 有 效。

---- 5. uCallbackMessage: 当 用 户 在 图 标 上 按 下 鼠 标 按 键 时,Windows 发 给 应 用 程 序 的 消 息 编 号。

---- 6. hIcon: 图 标 句 柄。

---- 7. szTip: 当 用 户 将 鼠 标 指 针 放 在 图 标 上 时 显 示 的 提 示 信 息。

---- 在 调 用Shell_NotifyIconA 函 数 之 前, 必 须 将NOTIFYICONDATA 类 型 变 量 的 以 上 各 成 员 填 写 正 确 的 内 容。

---- 该 函 数 如 果 调 用 成 功 则 返 回1, 否 则 返 回0。

---- 了 解 了Shell_NotifyIconA 函 数 的 功 能 和 用 法 后, 我 们 可 以 很 容 易 地 将 图 标 添 加 在 任 务 栏 的 右 边, 或 者 从 任 务 栏 上 将 图 标 删 除。

---- 如: 假 设 我 们 事 先 声 明 了 一 个NOTIFYICONDATA 型 的 变 量nid, 且 已 经 给 它 的 所 有 成 员 赋 予 了 合 适 的 值, 那 么, 下 面 的 两 条 语 句 分 别 可 完 成 添 加 和 删 除 图 标 的 任 务:

Shell_NotifyIconA( 0, nid) ' 添加图标
Shell_NotifyIconA( 2, nid) ' 删除图标

二、 如 何 响 应 鼠 标 按 键
---- 按 照 上 面 的 方 法, 我 们 可 以 将 最 小 化 后 的 图 标 放 在 任 务 栏 的 右 边, 那 么 当 我 们 在 该 图 标 上 按 下 鼠 标 按 键 时 会 发 生 什 么 事 情 呢 ? 很 遗 憾, 什 么 也 没 有 发 生, 最 小 化 的 窗 体 不 会 象 我 们 希 望 的 那 样 恢 复 正 常 显 示 状 态。
---- 这 时 怎 么 回 事 呢 ? 很 简 单, 前 面 我 们 只 是 将 图 标 添 加 到 了 任 务 栏 上, 而 并 没 有 对 鼠 标 事 件 做 任 何 的 工 作, 为 了 对 鼠 标 按 键 作 出 响 应, 我 们 还 有 一 些 事 情 要 做。

---- 前 面 已 经 说 过, 如 果 将 将NOTIFYICONDATA 类 型 变 量 的 成 员uFlags 设 定 为1, 则 当 用 户 在 图 标 上 按 下 鼠 标 按 键 时,Windows 会 将 编 号 为uCallbackMessage 的 消 息 发 送 到 应 用 程 序, 因 此, 为 了 能 响 应 鼠 标 事 件, 我 们 必 须 在 程 序 中 对 该 消 息 进 行 处 理。

---- 需 要 注 意 的 是, 由 于Windows 自 身 的 消 息 处 理 机 制 的 限 制, 我 们 无 法 直 接 干 预Windows 的 自 身 消 息 处 理 过 程, 所 以 只 有 采 用 一 种 类 似 于 从 前DOS 环 境 下 截 获 中 断 的“ 曲 线 救 国“ 的 方 法 来 处 理 消 息, 过 程 是:

---- 在 窗 体 最 小 化 后, 立 即 读 取 该 窗 体 原 消 息 处 理 过 程 的 地 址 并 记 录 在 一 个 全 局 变 量 中, 方 法 是 调 用Windows API 函 数GetWindowLong, 其 声 明 如 下:

---- Declare Function GetWindowLong Lib "user32 " Alias "GetWindowLongA " (ByVal hWnd As Long, ByVal nIndex As Long) As Long 其 中hWnd 为 窗 体 句 柄,nIndex 为 过 程 类 型, 这 里 为-4(Windows 默 认 过 程)。

---- (2) 编 写 自 己 的 消 息 处 理 过 程, 注 意 参 数 的 数 量 和 类 型 必 须 按 照 下 面 的 格 式( 过 程 名 可 随 意):

---- Sub WndProcForIcon(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long)

---- (3) 将 自 己 的 消 息 处 理 过 程 设 置 为 默 认 的 消 息 处 理 程 序, 方 法 是 调 用Windows API 函 数SetWindowLong, 其 声 明 如 下:

---- Declare Function SetWindowLong Lib "user32 " Alias "SetWindowLongA " (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

---- 其 中hWnd 与nIndex 含 义 同 上,dwNewLong 为 自 定 义 过 程 的 地 址, 可 使 用VB 的 求 地 址 运 算 符AddressOf 得 到, 如AddressOf WndProcForIcon 可 得 到 自 定 义 过 程WndProcForIcon 的 地 址。

---- (4) 当 鼠 标 事 件 发 生 后, 自 己 的 消 息 处 理 过 程( 现 在 已 成 为 默 认 的 消 息 处 理 过 程) 首 先 进 行 处 理, 一 般 是 根 据 按 键 将 窗 体 恢 复 或 弹 出 一 个PopUp 菜 单 供 用 户 选 择。

---- (5) 让Windows 去 执 行 原 消 息 处 理 过 程( 该 过 程 的 地 址 由 全 局 变 量 保 存), 方 法 是 调 用Windows API 函 数CallWindowProc, 其 声 明 如 下:

---- Declare Function CallWindowProc Lib "user32 " Alias "CallWindowProcA " (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

---- 其 中lpPrevWndFunc 为 原 消 息 处 理 程 序 的 地 址, 其 它 参 数 与 自 定 义 消 息 处 理 过 程 中 的 参 数 相 对 应。

---- 细 心 的 读 者 一 定 会 发 现, 如 果 在 上 述 第3 步 完 成 后, 没 有 进 行 第5 步, 即: 使 用setWindowLong 改 变 了 原 先 消 息 处 理 程 序 的 地 址, 却 没 有 在 程 序 结 束 前 将 地 址 设 定 回 来, 那 程 序 将 不 会 正 常 结 束, 往 往 会 造 成 死 机, 因 此, 程 序 中 一 定 要 小 心 处 理 这 个 问 题。

---- 另 外, 为 了 正 确 的 处 理 消 息, 还 有 一 个 问 题 需 要 解 决, 就 是 如 何 识 别 消 息 是 否 是 由 图 标 发 出 的 ? 这 一 点 可 以 这 样 解 决: 利 用 一 个 全 局 变 量 记 录 下NOTIFYICONDATA 型 变 量 的 成 员uCallbackMessage( 消 息 号) 的 值, 然 后 在 消 息 处 理 程 序 中 检 查Windows 传 回 的 消 息 号(MsgNo) 是 否 与 其 一 致, 如 果 一 致, 则 说 明 消 息 的 确 是 由 图 标 发 出 的, 应 该 进 行 处 理, 否 则 即 可 忽 略。 如 本 文 后 面 的 程 序 实 例 就 用 全 局 变 量IconMsg 来 实 现 这 一 功 能( 具 体 请 参 照 程 序 代 码)。
程 序 实 例
---- 下 面, 我 们 通 过 一 个 简 单 的 实 例 来 实 现 上 述 方 法:
---- 1、 窗 体 布 局

---- 新 建 一 个 工 程IconTest, 新 建 一 个 标 准 窗 体frmIconTest, 在 窗 体 上 放 置 三 个 命 令 按 钮, 名 称(Name) 分 别 为cmdCreateIcon、cmdNormalMin 和cmdExit, 标 题(Caption) 分 别 为“ 最 小 化 到 右 下 角”、“ 普 通 最 小 化” 和“ 退 出”。

---- 2、 代 码

---- 添 加 一 个 模 块modIconTest, 在 其 中 编 写 如 下 的 代 码:

Option Explicit
'定义常量
Public Const GWL_WNDPROC = (-4)
Public Const WM_LBUTTONDOWN = &H201
Public Const NIM_ADD = 0
Public Const NIM_DELETE = 2
Public Const NIF_MESSAGE = 1
Public Const NIF_ICON = 2
Public Const NIF_TIP = 4
'定义全局变量
Public IconMsg As Long '消息编号
Public OldWinProc As Long '原消息处理程序的地址
'定义自定义数据类型
Public 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
'Windows API函数声明
Declare Function CallWindowProc Lib "user32 " Alias
"CallWindowProcA " (ByVal lpPrevWndFunc As Long,
ByVal hWnd As Long, ByVal Msg As Long, ByVal
wParam As Long, ByVal lParam As Long) As Long
Declare Function GetWindowLong Lib "user32 "
Alias "GetWindowLongA " (ByVal hWnd As Long,
ByVal nIndex As Long) As Long
Declare Function SetWindowLong Lib "user32 " Alias
"SetWindowLongA " (ByVal hWnd As Long, ByVal nIndex
As Long, ByVal dwNewLong As Long) As Long
Declare Function Shell_NotifyIconA Lib "SHELL32 " (ByVal
dwMessage As Long, lpData As NOTIFYICONDATA) As Integer
'自定义消息处理程序
Sub MyProc(ByVal hWnd As Long, ByVal Msg As Long,
ByVal wParam As Long, ByVal lParam As Long)
'根据Msg判断,消息是否是图标发出的,
如果是,再进行处理
If Msg = IconMsg Then
If lParam = WM_LBUTTONDOWN Then
frmIconTest.Show '如果在图标上按
下了左键则显示窗体
End If
End If
'执行全程变量OldWinProc记录的原
消息处理程序的地址中的消息处理程序
CallWindowProc OldWinProc, hWnd, Msg, wParam, lParam
End Sub
在frmIconTest的窗体模块中编写如下代码:
Option Explicit
Dim HadAdd As Boolean
Dim nid As NOTIFYICONDATA
Private Sub cmdEnd_Click()
If HadAdd Then
'如果曾向右下角添加过小图标
'则根据事先记录的OldWinProc
恢复原来的消息处理程序,并删除图标
SetWindowLong frmIconTest.hWnd,
GWL_WNDPROC, OldWinProc
Call Shell_NotifyIconA(NIM_DELETE, nid)
'删除图标
End If
Unload Me '卸载窗体
End Sub
Private Sub cmdCreateIcon_Click()
If Not HadAdd Then
'如果没有产生过图标,则添加图标到右下角
With nid
'以下填写nid变量的所有成员
.cbSize = Len(nid) '填写自定义数据类型的长度
.hWnd = frmIconTest.hWnd '填写窗体的句柄
.uID = 9999 '图标的Id,可随意
'允许显示图标、提示并产生消息
.uFlags = NIF_ICON + NIF_TIP + NIF_MESSAGE
.hIcon = frmIconTest.Icon.Handle '图标句柄
.szTip = "单击鼠标左键恢复窗体! " '提示信息
.uCallbackMessage = 2 '图标的消息号
End With
Shell_NotifyIconA NIM_ADD, nid '添加图标
IconMsg = nid.uCallbackMessage
'用全局变量记录消息号,
'读取frmIconTest正常的消息处理程序
的地址保存在全程变量OldWinProc中
OldWinProc = GetWindowLong(frmIconTest.hWnd,
GWL_WNDPROC)
'用自定义过程MyProc的地址
代替正常消息处理程序的地址
SetWindowLong frmIconTest.hWnd,
GWL_WNDPROC, AddressOf MyProc
frmIconTest.Hide '隐藏窗体
HadAdd = True '置“已经添加图标”标志
Else
frmIconTest.Hide '如果已经有小图标了,
则直接隐藏窗体
End If
End Sub
Private Sub cmdNormalMin_Click()
frmIconTest.WindowState = 1 '普通最小化窗体
End Sub
Private Sub Form_Load()
HadAdd = False '将“是否添加了图标的标志”置为False
'下面为窗体装载图标,读者应当根据自己的VB目录而定
frmIconTest.Icon= oadPicture( "c:\MyIcon\files10.ico ")
End Sub
Declare Function SetWindowPos& Lib "user32 " (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)

Declare Function CallWindowProc Lib "user32 " Alias "CallWindowProcA " (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Declare Function SetWindowLong Lib "user32 " Alias "SetWindowLongA " (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function Shell_NotifyIcon Lib "shell32.dll " Alias "Shell_NotifyIconA " (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long

Public Const WM_USER = &H400
Public Const WM_LBUTTONUP = &H202
Public Const WM_MBUTTONUP = &H208
Public Const WM_RBUTTONUP = &H205
Public Const TRAY_CALLBACK = (WM_USER + 1001&)
Public Const GWL_WNDPROC = (-4)
Public Const GWL_USERDATA = (-21)
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4
Public Const NIM_ADD = &H0
Public Const NIF_MESSAGE = &H1
Public Const NIM_MODIFY = &H1
Public Const NIM_DELETE = &H2
Public Sub AddToTray(frm As Form, mnu As Menu) '\\\\\\\\\\\
' ShowInTaskbar must be set to False at
' design time because it is read-only at
' run time.

' Save the form and menu for later use.
Set frm_toolbar = frm
Set TheMenu = mnu

' Install the form 's icon in the tray.
With TheData
.uID = 0
.hwnd = frm.hwnd
.cbSize = Len(TheData)
.hIcon = frm.Icon.Handle
.uFlags = NIF_ICON
.uCallbackMessage = TRAY_CALLBACK
.uFlags = .uFlags Or NIF_MESSAGE
.cbSize = Len(TheData)
End With
Shell_NotifyIcon NIM_ADD, TheData
End Sub
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-11-22
隐藏不活动的图标”的选项变成了灰色的不可用状态,无法进行勾选 不能隐藏不活动图标
解决办法

无意中修改了组策略中某些设置,导致注册表中的相关键值发生了变化,从而使得“隐藏不活动的图标”的选项设置被禁用了,请按照以下方法进行修复。

(1)点击“开始→运行”,在运行框中输入“gpedit.msc”,回车后打开组策略编辑器。

(2)依次展开“用户配置→管理模板→任务栏和开始菜单”,在右侧窗格中将“关闭通知区域清理”设置为“未配置”、隐藏通知区域----未配置

(3)关闭组策略编辑器,重启后即可生效。

以上是设置为默认值,如果默认值不是开启的话,那就把隐藏通知区域设置为启动
第2个回答  2010-11-22
右下空白处,右键-工具栏-快速启动勾上本回答被提问者采纳

电脑右下角的图标全部不见了怎么恢复呢?
1、 点击桌面右下角的小白色箭头,在弹出页面选择自定义,如下图所示!2、在弹出自定义页面将系统音量设置改为“显示通知和图标”,然后点击确定按钮!如下图所示!二、可能系统进程错误,;具体步骤如下:1、同时按下CTRL+shift+ESC 调出任务管理器,如下图所示i!2、在任务管理器中选择进程--找到e...

电脑右下角的图标怎么显示出来
答案:电脑右下角的图标可以通过设置显示出来。详细解释:1. 操作系统中的设置:在电脑操作系统中,通常可以通过调整任务栏设置来显示或隐藏桌面右下角的图标。2. 操作步骤:具体的操作步骤可能因不同的操作系统版本而异。一般而言,用户可以通过右击任务栏空白处,选择“任务栏设置”,在相关选...

为什么我的电脑右下角的小图标不见了?
-在桌面上单击右键,然后选择“显示设置”。-在显示设置窗口中,单击“任务栏”选项。-检查“选择哪些图标在任务栏中显示”选项,确保要显示的选项都选中了。第三,检查任务管理器中的进程。每个小图标都由一个进程负责,检查任务管理器(按Ctrl+Shift+Esc),查看是否有一个相关的进程没有运行,如果没...

右下角的小图标不见了,怎么办?
一、首先,打开Windows7系统,在桌面下方任务栏选中,点击鼠标右键,在右键菜单中选择呢“属性”,点击打开。二、然后,在对话框中选择“自定义”,点击打开。三、然后,将所有程序,都设置为“仅显示通知”,点击“确定”保存设置。四、最后,即可在右下角的任务栏看到小图标放到一个小框中完成,问题解...

怎么恢复电脑右下角的小图标
X中恢复电脑右下角的小图标的具体操作步骤:操作\/步骤 1 右键点右下角图标 右键点击右下角^指示的图标。2 点击任务栏设置 打开并点击任务栏设置。3 点击选择图标 点击选择图标放在任务栏上。4 点音量和网络图标 然后点击音量和网络图标。5 小图标已恢复 最后即可见到小图标已恢复。

怎么恢复电脑右下角的小图标
要恢复电脑右下角的小图标,可以按照以下步骤操作:1、将鼠标放在任务栏上,点击鼠标右键选择“任务栏设置”。在任务栏设置中,找到“在任务栏上显示所有图标”的选项,并确保它是打开的。2、检查通知区域设置,确保“在任务栏上始终显示所有图标”选项是打开的。3、检查“启用或关闭系统图标”设置,确保...

Win10右下角的图标怎么全显示?
一、检查系统通知设置 在Windows 10中,系统通知和图标显示通常与用户的系统设置紧密相关。首先,你需要检查系统通知的设置。点击右下角的通知图标,进入通知和动作中心,查看是否已启用所有图标的通知功能。如果被隐藏的某些应用图标可能是暂时关闭通知导致的。点击开启相关应用的通知按钮,这些图标便会重新显示...

电脑右下角的图标被隐藏了怎么办怎么恢复图标
1.首先在任务栏空白出单击鼠标右键,弹出选项栏。2.然后点击任务栏设置。3.在任务栏选项栏里找到通知区域。4.在通知区域里点击“选择那些图标显示在任务栏上”。5.在弹出的设置框里点击左上角的开关键,将通知区域始终显示所有图标打开。6.然后电脑右下角的隐藏图标就都显示出来了。

怎样把右下角的电量显示图标弄出来
1、电脑右下角显示的图标一般都是比较小的,而且会隐藏起来的,因此如果想让其显示出来的话,是需要进行设置的,要不然会显示如图所示的样子。2、点击任务栏,将鼠标点击任务栏,然后点击鼠标右键,这时候可以弹出一些功能选项,直接选择其中一个可以进行设置。3、点击上面的工具栏,这时候会有一个下拉框...

任务栏不显示应用图标怎么办
方法\/步骤 1,在Windows10的任务栏上点击鼠标右键。2,点击右键菜单中的【任务栏设置】。3,在设置窗口中找到并且点击图示的【打开或关闭系统图标】。4,在打开的界面中点击开启图示的选项。5,关闭设置界面。6,这样,任务栏就显示相应图标了。

相似回答