excel - 无法使用vba更改任务栏中的excel图标
问题描述
我正在使用以下代码将 Windows 任务栏中的单词图标从通常的单词图标更改为我制作的图标。
但这不起作用...仅更改应用程序或用户窗体左上角的小图标。(不是任务栏)
我在网上尝试了解决方案,包括此链接( 如何在加载时更改任务栏中的 Excel 图标, 无法使用 vba 更改 excel 图标(在任务栏中))并在 stackoverflow.com 上进行搜索,但无济于事。
我正在使用 Windows 10 和 word 2010(我也在 excel 上尝试过这段代码,但它是一样的。)
我希望有人能帮帮忙....
#If VBA7 And Win64 Then
Private Declare PtrSafe Function ExtractIconA Lib "shell32.dll" _
(ByVal hInst As LongPtr, _
ByVal lpszExeFileName As String, _
ByVal nIconIndex As Long) As LongPtr
Private Declare PtrSafe Function SendMessageA Lib "user32" _
(ByVal hwnd As LongPtr, _
ByVal wMsg As Long, _
ByVal wParam As LongPtr, _
ByVal lParam As LongPtr) As LongPtr
Declare PtrSafe Function GetActiveWindow32 Lib "user32" Alias "GetActiveWindow" () As Long
Private Const ICON_SMALL As LongPtr = 0&
Private Const ICON_BIG As LongPtr = 1&
Dim hwndIcon As LongPtr
#Else
Declare Function GetActiveWindow32 Lib "user32" Alias "GetActiveWindow" () As Integer
Declare Function SendMessage32 Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Declare Function ExtractIcon32 Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
Private Const ICON_SMALL As Long = 0&
Private Const ICON_BIG As Long = 1&
Dim hwndIcon As Long
#End If
Private Const WM_SETICON As Long = &H80
Public Sub ChangeApplicationIcon()
bigIcon_Path = ThisDocument.path & "\DataDontTouch\Icon\32X32B32.ico"
smallIcon_Path = ThisDocument.path & "\DataDontTouch\Icon\16X16B32.ico"
bigIcon = ExtractIconA(0, bigIcon_Path, 0)
smallIcon = ExtractIconA(0, smallIcon_Path, 0)
SendMessageA GetActiveWindow32(), &H80, 0&, smallIcon
SendMessageA GetActiveWindow32(), &H80, 1&, bigIcon
ActiveWindow.Caption = "Fast.exe"
End Sub
解决方案
推荐阅读
- arrays - 将项目添加到猫鼬引用对象数组时出现问题
- ruby-on-rails - ERB `each_with_index` 中的模运算符
- c# - 将文件数组从 Jquery ajax 发送到控制器操作
- laravel - Laravel cors 无法在 Apache 服务器上运行
- php - 带有数据库和 API 数据的 PHP for 循环仅计算 1 个结果
- javascript - 仅在选定项目的 vue.js 模板中隐藏和显示 div?
- python-3.x - 如何将不同的输入存储在一个变量中并打印出来?
- haskell - Reader monad 能做哪些应用函数不能做的事情?
- javascript - 为什么这个 mongoose 'findOne' 查询总是返回 null?
- angular - Angular 7 / Rxjs:链接和嵌套可观察对象