当前位置:编程学习 > VB >>

(高手入)求将程序最小化为一个图标放在系统托盘

Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long 
找到这个API

有达人指点了这些话给我,但是我不是很明白,请有了解的人指点我一下,学vb 新人,求解 --------------------编程问答-------------------- 有了名字,查查就知道了,大把代码 --------------------编程问答-------------------- 先自己试试,不行再问。 --------------------编程问答--------------------
Option Explicit
Private Declare Function sendmessage Lib "user32" Alias "sendmessageA" (ByVal hwnd As Long, ByVal wmsg As Long, ByVal wparam As Long, iparam As Any) As Long

Private Const wm_syscommand = &H112
Private Const sc_move = &HF010&
Private Const sc_restore = &HF120&
Private Const sc_size = &HF000&

Private Sub form_load()
If WindowState = vbMinimized Then
LastState = vbNormal
Else
LastState = WindowState
End If
addtotray Me, mnutray
End Sub

Private Sub form_resizie()
Select Case WindowState
Case vbmininized
mnutraymaximize.Enabled = True
mnutrayminimize.Enabled = False
mnutrayrestore.Enabled = True
mnutraysize.Enabled = False
mnutraymove.Enabled = False

Case vbMaximized
mnutraymaximize.Enabled = False
mnutrayminimize.Enabled = True
mnutrayrestore.Enabled = True
mnutraysize.Enabled = False
mnutraymove.Enabled = False

Case vbNormal
mnutraymaximize.Enabled = True
mnutrayminimize.Enabled = True
mnutrayrestore.Enabled = False
mnutraysize.Enabled = True
mnutraymove.Enabled = True
End Select
If WindowState <> vbMinimized Then LastState = WindowState
End Sub

Private Sub form_unload(cancel As Integer)
removefromtray
End Sub

Private Sub mnufileexit_click()
Unload Me
End Sub

Private Sub mnutrayclose_click()
Unload Me
End Sub

Private Sub mnutraymaximize_click()
WindowState = vbMaximized
End Sub

Private Sub mnutrayminimize_click()
WindowState = vbMinimized
End Sub

Private Sub mnutraymove_click()
sendmessage hwnd, wm_syscommadn, sc_move, 0&
End Sub

Private Sub mnutrayrestore_cilck()
sendmessage hwnd, wm_syscommand, sc_restore, 0&
End Sub

Private Sub mnutraysize_click()
sendmessage hwnd, wm_syscommand, sc_size, 0&
End Sub


最后提示说
Private Sub form_load()
If WindowState = vbMinimized Then
LastState = vbNormal
Else
LastState = WindowState
End If
addtotray Me, mnutray
End Sub
变量未定义,这是怎么回事? --------------------编程问答-------------------- 缺少变量定义 --------------------编程问答-------------------- 呵呵,你的代码没copy全 --------------------编程问答-------------------- 留个邮箱吧,发个我以前下载的工程给你。
--------------------编程问答-------------------- 996985138@qq.com,给我一个,我看看,谢谢前辈 --------------------编程问答-------------------- 你在form开始
dim LastState  as integer试试看 --------------------编程问答--------------------
引用 7 楼 fantaesy 的回复:
996985138@qq.com,给我一个,我看看,谢谢前辈

已经发送。
--------------------编程问答-------------------- KAO!
来自 英格兰/伯明翰 ,晕 ...............

--------------------编程问答-------------------- http://www.m5home.com/blog2/blogview.asp?logID=217&cateID=2

托盘图标类,外加气泡提示 --------------------编程问答-------------------- 这里有一个例子,参考一下吧

VB程序最小化到系统托盘示例代码
--------------------编程问答--------------------
引用 11 楼 myjian 的回复:
http://www.m5home.com/blog2/blogview.asp?logID=217&cateID=2

托盘图标类,外加气泡提示

这个不错
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,