说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB怎样用VB在应用程序中调用API

HTML文档下载 WORD文档下载 PDF文档下载
VB怎样用VB在应用程序中调用API
作者:小锋
由于 API 过程存在于 Visual Basic 应用程序之外的文件中,在使用时必须指定过程的位置和调用参数。可以用 Declare 语句提供这类信息。在声明了 API 过程之后,可以把它当做 Visual Basic 自己的过程使用。 
  如果在 Visual Basic 中直接调用 API,那么 Visual Basic 环境下固有的安全机制将受到不利影响。这意味着在测试和调试程序时可能会遇到更多的系统故障。为了减少这种危险,在声明 API 过程、传递参数和指定类型的时候务必要小心。无论在什么情况下,一定要经常保存已经完成的工作。API 可以提供不同凡响的功能,但是要用好它也不容易。
  下例将演示如何调用 Windows API 中的过程。调用函数 SetWindowText 来改变一个窗体的标题栏。当然,在实际应用中,通常总是利用 Visual Basic 的 Caption 属性来改变标题栏。该示例的目的在于说明如何声明并调用过程。
声明 API 过程
  首先,在模块的声明部分对过程进行声明:
  Private Declare Function SetWindowText Lib "user32" _
  Alias "SetWindowTextA" (ByVal hwnd As Long, _
  ByVal lpString As String) As Long
  过程的精确语法定义可以用 API Viewer 应用程序找到,在 Win32api.txt 文件中也可以找到它。如果将 Declare 放在 Form 或者 Class 模块内,那么必须在它的前面加上 Private 关键字。同一个 API 过程在一个工程中只需声明一次;然后可以任意调用。


调用 API 过程
  在声明了函数之后,调用它的方式与标准的 Visual Basic 函数相同。在下例中,Form Load 事件调用了上面声明的过程。
  Private Sub Form_Load()
    SetWindowText Form1.hWnd, "Welcome to VB"
  End Sub
  在运行这段代码时,函数首先使用 hWnd 属性确定要修改标题栏的窗口(Form1.hWnd),然后将标题栏修改为“Welcome to VB”。
  需要牢记的是:Visual Basic 不能验证传递到 API 过程的值是否正确。如果传递了错误的值,那么过程将出错,并可能因此导致 Visual Basic 应用程序停止运行。这样就不得不重新加载和启动应用程序。在测试 API 过程时千万要小心,一定要经常地保存自己的工作。
  极少数 API 调用能够识别缺省的 Variant 数据类型。最好声明具体的变量类型并使用 Option Explicit,这样,API 的可靠性要高得多。
手游开发经验谈:付费体系决定游戏收成好与坏? 惠普推出全新ProLiant Gen9服务器 腾讯安全出杀手锏 搭建全国最大Wi-Fi开放平台帮助网友免费蹭网 云与数据安全实践尽在ISC 2014(免费门票) 开源的对决,MapR将Apache Drill引入企业应用 令程序员费解的10个语言特性 走进雅虎北京全球研发中心:五年光阴缔造雅虎全球创新引擎 超强集成游戏编辑器!开源跨平台引擎Wave 求别再侵犯儿童隐私!FTC狠罚Yelp和TinyCo 华为应用市场助力开发者 软硬结合造就强大生态系统 【CTO俱乐部看板研修班北京站现场速递】看板方法:渐进变革的过程 《近匠》不背单词,用“沉浸”征服英语学习 ETpl——强复用、灵活、高性能的JavaScript模板引擎 MDCC 2014大会日程概览发布 最新嘉宾议题揭秘 终于来了,微信企业号正式开启公测! 【问底】王帅:深入PHP内核(一)——弱类型变量原理探究 谷歌Kubernetes专访:未来BigTable开发只是课后习题 首届“最具价值CTO”评选来啦!我们在找你! 【CTO俱乐部走进顺丰总部】活动图文直播进行中 中国第一个云主机评测发布:天翼云性价比第一、青云质量第一 Ruby 2.1.3发布,降低内存消耗、修复众多Bug! OpenHW2014开源硬件总决赛鏖战西安 AMD力推异构计算 《坦克世界:闪电战》:PC转手游,不止免费! 【讲师】道里云毛文波:网络虚拟化与SDN实现Docker连通 性能测试:SequoiaDB vs. MongoDB vs. Cassandra vs. HBase 华云数据推运营型PaaS Plus平台,联合Tmax走出“去IOE”的云化之路 聚焦移动新势力 MDCC 2014免费展位团队名单公布 详解Google Authenticator工作原理 云计算的乐高玩具,Docker从根本上改变应用程序开发 【先锋】eSage缔造异构虚拟化管理技术,做数据中心核心思想执行者 Uplinq2014:亲身体验Vuforia与智能眼镜设备 htm里面调用一个jsp页。用javaScript 怎么实现。 怎样添加*.dll文件,如cj60lib.dll,系统自带的吗? 关于记录修改的SQL语句!!! VC的DLL文件怎样在BC中使用?我试过不行 JAVA问题请教 打包运行错误can't start main setup program! 如何把表单上单选框组的内容传给报表啊 iptable怎样限制用户上网? 靠,我的表不能排序啊.....郁闷.... iptable怎样限制用户上网? 求教:输入1个集合,输出它的子集 请问,linux下能用access吗? 问一个“一个页面只能有一个form的问题“ 有关主板BIOS ROM的奇怪问题 请教各位高手,在VB中添加数字排列组合的代码如何编写?多谢!(在线等) # # # # # 200分诚心求教(由于限制,只能先放100),哪位能解决小妹这个问题啊 # # # # # 请问谁知道oracle中计算查询时间的命令? 有关操作系统的几个问题?感谢大家的指点? 大学四年心得-转帖 ORACLE 在本机WIN2000 上装了服务器端后,还需要装客户端才能进行数据库的一般操作吗? 关于PLC向计算机发送数据的问题。 构造函数? # # # # # 200分诚心求教(由于限制,只能先放100),哪位能解决小妹这个问题啊 # # # # # 据大力新闻中心消息:SQLServer版是CSDN气氛最好的版块。 在弹出窗口时出现问题 请多多指教:帮我推荐一本Asp.net+C#的书,入门和稍微难点的。谢谢了 想学java的库类 请各位大大推荐一本书 请问在VC6中如何调用chm帮助文件 简单的控件问题 ADO调用存储过程(ORACLE),用CommandText的问题 字体固定后,所有字符(包括汉字)的高度都相同吗? 请问applet和application之间有什么不同呢? 字体固定后,所有字符(包括汉字)的高度都相同吗 为什么看帖不回帖? 关于用c#操纵word的问题 为什么在WIN下可以,在LINUX下不行呀? 大数除法 那位高手解答一下 键盘被锁定!!!急 CSDN现在是怎么了!!!登录不了,想办法进来了背景又是一片白,左边菜单列表又不见了 找到新东家,祝各位兄弟中秋节快乐! 有喜欢骑自行车的吗,进来聊聊,你的车多少钱啊 怎么用javamail发送html页面的邮件? 请问各位一个网页路径问题,谢谢了。急急!分不够再加,本人在线等候!!! 简单问题 为什么我用FLASH做出来的GIF格式的图很大?一些最简单的都有3MB左右!谢谢高手来指教!! 很奇怪的问题,redhat9+adsl+iptable老是丢包,而且达到30%,在2k下没有这样的问题 2太电脑连网,为什么双击网络邻居的时候跳出对话框说无法浏览网络? 菜鸟请大家看看这个程序错误出在那? 请问一个进度条的问题?有谁用过x-scan软件 有关生成既有文本又有图形文件的问题,应该如何解决,在线等! 在庙里见一个佛前面摆着七碗水七盏灯是什么意思 哪些是有鳞的鱼 为什么鱼有鳞鱼长鳞有什么用 什么样的鱼有鳞? 一只鱼有鳞多少片? 微积分的问题,计算:1-e^λx的导数是什么.(1)1-e^λx 的导数是什么(2)-(1/2) x^(-2) |(下限1,上限∞)的这个,带入+∞后,原式变成什么?(3)还有,∫[1,∞] Ce^(-x))dx ,我积完分后是:-Ce^-x,应该是错 一个微积分的问题 麻烦大家帮我看看这样做错在哪里?如图 答案是发散的 但是我不知道我这样错在哪个地方 麻烦大家帮我看看 增添光彩怎么造句呀? 重金属离子会导致蛋白质分子变性,为探究铜离子对唾液淀粉酶活性的影响,某同学进行了实验,实验步骤如下.(一)实验步骤 ①取两支洁净的试管,编号A、B,A管加入1% CuSO4溶液和pH6.8缓冲液各1m 英语翻译Most advertising researchers who work for and advertisingBusinesses assume that consistent ,long-term advertising campaigns are an effective way to project a solid,enduring image and to maintain an ongoing relationship between consumers a 某国2012年初共有人口500万,该年内出生并成活婴儿4.85万人,死亡人数5.2万人,该国2012年度的人口增长率为 兰溪男子因儿子学习差被指责 动手打伤两名男子入室盗窃 自以为剪断监控就不老公全家都爱说脏话 女子向法院起诉离大学教师:我为什么把12岁女儿送进远曾经爱美的她在翠苑流浪8个多月 超市杭州市中级法院招聘速录员属事业编制 清华大学附属中学在浙大招老师 录用者桐庐干部乔迁摆宴 专家:人情往来易生永康首座500千伏输变电所明年开建宁波出台国内首个网购争议处理办法(组杭州萧山错案四名当事人已提国家赔偿申货物丢失3天 失而复得世界期待中国通过市场化改革 释放新的failed: 当年我让成龙开双眼皮《备忘beiwang日本自卫队法修正案获参院通过正式生效今到长春文庙聆听古代文学里的爱情传奇■简讯关于全面深化改革若干重大问题的决定红色路虎校园翻车网友:博士姐姐好淡定帮你问13家事业单位招聘29人花都开好了异能高手在校园莫负青春漂泊红颜紫云山中的快乐生活淑女也难追迷失空间战天神决冒牌精灵洪荒意传魔兽世界之超级玩家鹿港旅游赤坎古镇旅游银屏山旅游洪湖旅游玉珠峰旅游辽源旅游定日旅游云和旅游兴安旅游元谋旅游新路海旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘