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

运行效果 

 

posted @ 2022-05-19 17:02  ryueifu  阅读(526)  评论(0编辑  收藏  举报