转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
VB的API编程精粹         ★★★★

VB的API编程精粹

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2617 更新时间:2009/4/23 15:42:24
>

Private Sub Form_Unload(Cancel As Integer)

''''程序退出前是热键有效

CndEnable_Click

End Sub

若将此功能和屏幕保护程序结合到一起,那您的屏幕 保护程序一定增色许多。

API函数的简单调用例子就是这么容易,相信现在您 对API的调用已不再感到神秘了,接下来我们就看看一个 比较复杂的应用。

第三节:高手进阶

上面的关于API的调用的例子只是为了带您去Win dows API世界中去探索一下。相信您已探索到了一点眉 目并想去实现一些更"好玩"的东西了。好!下面就向您 介绍一个很"好玩"同时又会使您的程序看起来更专业化 的一个API调用。

相信您的机器上一定装有"金山词霸",试着启动它 您发现了什么?启动画面过后它"不见了"。把鼠标移到 桌面的右下角,原来它以图标的形式"藏在" Windows 的托盘中。用鼠标右击它还会弹出一个菜单功能项供您 选择。现在您一定想把自己的程序也放到托盘,这样您的 程序多具有专业水准!

下面是此功能的实现步骤:

1.这里我们调用的API函数是: "Shell_NotifyIcon",在您的模块中添加如下的函数声明 和常量声明:

''''以下常量告诉系统在托盘中您的图标上发生了什么 操作

''''常量声明

Public Const WM_MOUSEMOVE = &H200 ''''在图标上移动鼠标

Public Const WM_LBUTTONDOWN = &H201 ''''鼠标左键按下

Public Const WM_LBUTTONUP = &H202 ''''鼠标左键释放

Public Const WM_LBUTTONDBLCLK = &H203 ''''双击鼠标左键

Public Const WM_RBUTTONDOWN = &H204 ''''鼠标右键按下

Public Const WM_RBUTTONUP = &H205 ''''鼠标右键释放

Public Const WM_RBUTTONDBLCLK = &H206 ''''双击鼠标右键

Public Const WM_SETHOTKEY = &H32 ''''响应您定义的热键

''''API函数声明

Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias " Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long

''''自定义一个调用API Shell_NotifyIcon要用到的类 型"NOTIFYICONDATA"

Public Type NOTIFYICONDATA

cdSize As Long ''''NOTIFYICONDATA类型的大小

hwnd As Long ''''你的应用程序窗体的名柄

uId As Long ''''应用程序图标资源的ID号

uFlags As Long ''''使那些参数有效它是以下枚举类型中的

''''NIF_MESSAGE、NIF_ICON、NIF_TIP三组的组合

uCallbackMessage As Long ''''鼠标移动时把此消息发给该图标的窗体

hIcon As Long ''''图标名柄

szTip As String*64 ''''当鼠标在图标上时显示的Tip文本

End Type

''''这是一个枚举类型它告诉API Shell_NotifyIcon去做什么操作

Public Enum enm_NIM_Shell

NIM_ADD=&H40 ''''在“金碟”中加一图标

NIM_MODIFY=&H1 ''''修改“金碟”中的图标

NIM_DELETE=&H2 ''''删除“金碟”中的图标

NIF_MESSAGE=&H1 ''''使类型"NOTIFYICONDATA"中的uCallbackMessage有效

NIF_ICON=&H2 ''''使类型"NOTIFYICONDATA"中的hIcon有效

NIF_TIP=&H4 ''''使类型"NOTIFYICONDATA"中的szTip有效

WM_MOUSEMOVE=&H200 ''''使鼠标移动消息有效

End Enum

''''定义一个"NOTIFYICONDATA"类型的变量

Public nidProgramData As NOTIFYICONDATA

以上是函数及常量声明和自定义的一个类型变量,下 面是此API函数的调用方法:

2. 在窗体上用菜单编辑一个具有如下信息的菜单项:

主菜单:无标题、名称(mainMenu)

子菜单:标题(API编程)、名称(submnul);

标题(退出)、名称(submnu2).

这里只是举个例子,具体的功能你可以根据你的具体需要来编辑此菜单项

3. 在窗体的Load事件中添加如下代码:

Private Sub Form_Load()

''''隐藏窗体

With Me

.Top =-10000

.Left = -10000

.WindowState = vbMinimized

End With

''''设置类型NOTIFYICONDATA所具有的特征

With nidprogramData

.cbSize = Len(nidProgramData)

.hwnd = Me.hwnd .uld = vbNull

.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE

''''触发鼠标移动消息

.uCallbackMessage = WM_MOUSEMOVE

.hIcon = Me.Icon ''''“托盘”中放入窗体图标,你可以把窗体的图标换成你所喜欢的图标

.szTip ="VB 的 Win32 API 编程" & vbNullChar

End With

''''调用该函数

Shell_NotifyIcon NIM_ADD,nidprogramData

End Sub

''''根据不同的鼠标消息做不同的操作

Private Sub Form_MouseMove(Button As inte ger, Shift As lnteger, x As Single, Y As Single)

On Error GoTo Form_MouseMove_err:

上一页  [1] [2] [3] [4] [5]  下一页


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台