ShellAbout API函数“关于”对话框中显示自定义图标(VBA版)

ShellAbout函数声明如下:

Private Declare Function ShellAbout Lib "shell32.dll" Alias "ShellAboutA" (ByVal hwnd As Long, ByVal szApp As String, ByVal szOtherStuff As String, ByVal hIcon As Long) As Long

它包含4个参数:

首先看一下最基本的用法。

ShellAbout Application.hwnd, "象棋软件", "QQ群:61840693", 0&

运行上述代码,Excel弹出这个对话框。

可以看到左边没有显示图标。下面来显示我电脑中的一个ico文件作为图标。修改代码如下

Sub 设置对话框图标()
    Dim Icon As stdole.IPictureDisp
    Set Icon = stdole.StdFunctions.LoadPicture("E:\VB6常用的ico图标\WATCH01.ICO")
    ShellAbout hwnd:=0, szApp:="自定义图标", szOtherStuff:="手表", hIcon:=Icon
End Sub

运行效果