求教—vb中API函数Shell_NotifyIcon各参数作用

PrivateDeclareFunctionShell_NotifyIconLib"shell32.dll"Alias"Shell_NotifyIconA"(ByVald... Private Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
'dwMessage指定你要加入、删除、还是修改图标 分别为NIM_ADD、NIM_DELETE和NIM_MODIFY
'lpData指向NOTIFYICONDATA类型变量的指针
Private Const WM_USER As Long = &H400
Private Const NIF_ICON = &H2 'NIF_ICON指定hIcon有效
Private Const NIF_MESSAGE = &H1 'NIF_MESSAGE指定uCallbackMessage有效
Private Const NIF_TIP = &H4 'NIF_TIP指定szTip有效
Private Const WM_MOUSEMOVE As Long = &H200
Private Const NIM_ADD = &H0
Private Const NIF_INFO = &H10
Private Const NIM_MODIFY = &H1
Private Enum bFlag
NIIF_NONE = &H0
NIIF_INFO = &H1
NIIF_WARNING = &H2
NIIF_ERROR = &H3
NIIF_EXEICON = &H4
NIIF_GUID = &H5
NIIF_ICON_MASK = &HF
NIIF_NOSOUND = &H10
End Enum
Private Type NOTIFYICONDATA
cbSize As Long 'cbSize是NOTIFYICONDATA结构的大小
hwnd As Long 'hWnd是当前窗口的句柄
uID As Long 'uID指定图标的标识符
uFlags As Long 'uFlags是一组参数
uCallbackMessage As Long
'uCallbackMessage是一个自定义消息,当鼠标在图标所属的正方形区域内有消息发生,比如单击了图标时,系统就会发送一个消息到uCallbackMessage中
hIcon As Long 'hIcon是图标的句柄
szTip As String * 128 'szTip指定的文字信息会在你将鼠标移到图标上时以浮动方式显示出来
dwState As Long
dwStateMask As Long
szInfo As String * 256
uTimeoutAndVersion As Long
szInfoTitle As String * 64
dwInfoFlags As Long
End Type
Private Enum TrayRetunEventEnum
MouseMove = &H200
LeftDbClick = &H203
End Enum
Private ni As NOTIFYICONDATA
各位高手,帮我解释下没有注释的参数和变量的作用好吧,还有定义的常量有什么含义?比方说:
Private Const WM_USER As Long = &H400 &H400有什么含义,为什么一定要=&H400 ,=&H200就不行吗?它代表什么,有何作用?
我是菜鸟,最好能举个例子详细说明下,感激不尽!!
展开
 我来答
lfm13720
2009-12-08 · TA获得超过1102个赞
知道小有建树答主
回答量:896
采纳率:0%
帮助的人:0
展开全部
这些常的值,都是windows操作系统使用的,为了能让系统识别,让程序正常运行,我们就只能把这些常量定义成这个值。换句话说,这些都是微软的windows开发团队定义的,在微软提供的SDK中,包含了这些定义。

其实关键的是那个整数值,那个常量名是不重要的,比如WM_USER = &H400,你完全可以改成USER_WM = &H400,或者在用到WM_USER的地方直接换成 &H400,都可以,关键在于&H400,因为小于&H400的消息,是系统保留的,就好像 private 这个单词,是VB的保留字,我们不是能在程序将它作为一个变量一样。
包括那个结构体,为什么这样定义,其中的变量为什么是这个顺序,字符串为什么要64个字符或者说255个字符,这都是微软规定的,我们只能以这样的格式来编程,程序才能正常运行。

如果你真想搞明白这些东西的原理,建议你学一点C++的知识,用VC编程。
网海1书生
科技发烧友

2009-12-08 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
常量就像是产品的规格,规定多少就是多少,没什么好解释的,400的螺丝,你用200的螺帽去套,肯定是不行的。作为普通的程序开发员,没必要弄清楚API函数的内部结构如何,只要按照它指定的用法使用即可。就像新买来一台电视,我们只要按照说明书操作就行了,如果电视不亮,我们首先要想到自己的操作有没有问题,没问题,那就是电视的质量问题,而这已经超出我们普通用户的能力范围了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式