网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月31日漏签0天
vb吧 关注:156,085贴子:1,166,232
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1 2 3 下一页 尾页
  • 39回复贴,共3页
  • ,跳到 页  
<<返回vb吧
>0< 加载中...

Explorer 崩溃重启后的任务栏图标重建

  • 只看楼主
  • 收藏

  • 回复
  • 璐村惂鐢ㄦ埛_007ZJ3U馃惥
  • 求过二级
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
任务栏图标大家都会使用了吧,但是如果在软件运行过程中,Explorer 出现异常而重新启动(即Explorer.exe被关闭后重新运行)了,任务栏图标会消失而不是跟着重新出现。要解决这个问题,需要使用一个API:RegisterWindowMessage,这个函数需要一个String类型的参数,返回值为long型,用途是注册一个唯一的新的Windows窗口消息,要注册任务栏重启的消息,我们应该这样写:

MsgTaskbarRestart = RegisterWindowMessage("TaskbarCreated")

返回值即为消息的标识符。如果出现错误,返回值为0。
系统要求:安装了Internet Explorer 4.0及以上版本的Windows操作系统。
下面是完整源代码,如有任何问题,或需要完整源工程,请发邮件给我。
---------------------------------------------------------
'Form1 中

'Explorer 崩溃重启后的任务栏图标重建
'作者 可爱猪
'Email:lovelypig43@163.com

Option Explicit

Private Declare Function RegisterWindowMessage Lib "user32" Alias "RegisterWindowMessageA" (ByVal lpString As String) As Long

Private Const NIM_DELETE = &H2

Private Sub Form_Load()
Call AddTrayIcon
MsgTaskbarRestart = RegisterWindowMessage("TaskbarCreated")
OldWndProc = SetWindowLong(hwnd, GWL_WNDPROC, AddressOf WndProc)
End Sub

Private Sub Form_Unload(Cancel As Integer)
Call Shell_NotifyIcon(NIM_DELETE, ano)
Call SetWindowLong(hwnd, GWL_WNDPROC, OldWndProc)
End Sub

---------------------------------------------------------
'Module1 中

'Explorer 崩溃重启后的任务栏图标重建
'作者 可爱猪
'Email:lovelypig43@163.com

Option Explicit

Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
Private 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

Public Const GWL_WNDPROC = (-4)
Private Const WM_USER = &H400
Private Const WM_NOTIFYICON = WM_USER + &H100
Private Const NIF_ICON = &H2
Private Const NIF_TIP = &H4
Private Const NIF_MESSAGE = &H1
Private Const NIM_ADD = &H0

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

Public MsgTaskbarRestart As Long
Public OldWndProc As Long
Public ano As NOTIFYICONDATA

Function WndProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If uMsg <> MsgTaskbarRestart Then
    WndProc = CallWindowProc(OldWndProc, hwnd, uMsg, wParam, lParam)
Else
    Call AddTrayIcon
    WndProc = True
End If
End Function

Public Sub AddTrayIcon()
With ano
   .cbSize = Len(ano)
   .hIcon = Form1.Icon
   .hwnd = Form1.hwnd
   .szTip = "Exolorer 重启后任务栏图标自动重建   -by 可爱猪" & Chr(0)
   .uCallbackMessage = WM_NOTIFYICON
   .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
   .uID = 0
End With
Call Shell_NotifyIcon(NIM_ADD, ano)
End Sub


  • 璐村惂鐢ㄦ埛_007ZJ3U馃惥
  • 求过二级
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这么好的代码怎么没人顶,是不屑还是看不懂?
这可是我好不容易整理的啊,麻烦看了的说句话好吗?


2025-08-31 02:46:09
广告
不感兴趣
开通SVIP免广告
  • 后代
  • 暴力枚举
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我看了,没太懂
但是顶了


  • 218.91.81.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我好喜欢


  • 60.17.137.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我帮顶,我初学看——不过也要顶


  • 221.13.157.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不懂!!!!


  • 221.220.105.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
精品


  • webird
  • 函数调用
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
很有用,但又不常用…


2025-08-31 02:40:09
广告
不感兴趣
开通SVIP免广告
  • 202.117.48.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这段代码要运行在哪里才能让我的任务栏不再重启阿~~~
我的任务栏一直重启,每3分钟一次
阿阿 阿阿阿阿 阿我好崩溃阿
大虾救命


  • 璐村惂鐢ㄦ埛_007J3Ae馃惥
  • 递归爆栈
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这段代码不是可以解决“重启”的,是解决重起否的图标问题,我想你用的是XP吧,XP不但能重启任务栏,而且还能死机,呵呵,建议你杀毒先,实在步行就重装系统


  • cbm666
  • 子类化
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
哎,楼主啊, 自从拜读了你的大作之后, 我现在就碰到2个头痛的问题啊,

"都是天使惹的祸", 你就帮忙解决吧,谢啦!

呵呵.


  • VB探索者
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
多谢楼主了,须然还没试用,但想必日后一定有用的,我调试程序时就经常会出现这种“崩溃重启后的任务栏图标重建”的情况


  • tieppi
  • 求过二级
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
还只看了个开头,明天有空再看:) 先顶


  • 61.159.63.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
因为看不懂,所以要


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 3 下一页 尾页
  • 39回复贴,共3页
  • ,跳到 页  
<<返回vb吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示