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个参数:
- hwnd:窗口的句柄:设置为0则对话框显示在桌面。设置为Application.hwnd则对话框显示在Excel里。也可用FindWindow函数来获取。
- szApp:左上角的文字,通常为软件名称
- szOtherStuff:显示在对话框中央的文本,可以是公司名称
- hIcon:自定义图标的句柄,设置为0则默认是微软的图标。也可使用LoadPicture函数返回一个自定义文件的图标句柄。
首先看一下最基本的用法。
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
运行效果