• 鼠标指针好看图案 > 鼠标指针:指针技术
  • 鼠标指针:指针技术

    免费下载 下载该文档 文档格式:PDF   更新时间:2009-11-03   下载次数:0   点击次数:1
    文档基本属性
    文档语言:
    文档格式:pdf
    文档作者:微软用户
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    鼠标指针:指针技术
    疯狂代码 http://CrazyCoder.cn/ :http:/CrazyCoder.cn/VisualBasic/Article15736.html 想当年东方不败黑木崖密室战仅凭根绣花针独战 4大高手神出鬼没堪称天下武林第高手若想成为VB里东方不败 熟习VB葵花宝典掌握VB指针技术乃是不 2法门 欲练神功引刀……其实掌握VB指针技术并不需要那么痛苦说穿了也就那么几招再勤加练习终可至神出鬼没的境 废话少说让我们先从指针定义说起 ,指针是什么 不需要去找什么标准定义它就是个32位整数在C语言和在VB里都可以用Long类型来表示在32位Windows平台 下它和普通32位长整型数没有什么区别只不过它值是个内存地址正是这个整数象针样指向个内存地址所以就有 了指针概念 有统计表明很大部分缺陷和内存访问有关正是指针直接和内存打交道所以指针直以来被看成个危险东西以至于 不少语言如著名JAVA都不提供对指针操作支持所有内存访问方面处理都由编译器来完成而象C和C指针使用则 是基本功指针给了员极大自由去随心所欲地处理内存访问很多非常巧妙东西都要依靠指针技术来完成 有关门高级设计语言是不是应该取消指针操作有关没有指针操作算不算门语言优点我在这里不讨论互联网上有 关这方面没有结果讨论已经造成了占用几个GB资源无论最终你是不是要下定决心修习指针技术葵花宝典了解这 门功夫总是有益处 注意:在VB里官方是不鼓励使用什么指针本文所讲任何东西你都别指望取得官方技术支持切都要靠我们自己努 力切都更刺激! 让我们开始神奇VB指针探险吧! 2,来看看指针能做什么 有什么用 先来看两个功能都是交换两个字串: 【】:\'标准做法SwapStr Sub SwapStr(sA As String, sB As String) Dim sTmp As String sTmp = sA: sA = sB: sB = sTmp End Sub 【 2】:\'用指针做法SwapPtr Private Declare Sub CopyMemory Lib \"kernel32\" Alias \"RtlMoveMemory\" _ (Destination As Any, Source As Any, ByVal Length As Long) Sub SwapPtr(sA As String, sB As String) Dim lTmp As Long CopyMemory lTmp, ByVal VarPtr(sA), 4 CopyMemory ByVal VarPtr(sA), ByVal VarPtr(sB), 4
    CopyMemory ByVal VarPtr(sB), lTmp, 4 End Sub 你是不是以为第个要快它看着简单而且不用API(API需要额外处理VB文档明确指出大量API将降低性能)但事实 上在VB集成环境中运行 2要比快 4分的;而编译成本机代码或p-code 2基本上要比快倍下面是两个在编译成本 机代码后运行区别次数所花时间比较: 运行100000次SwapStr需要170毫秒SwapPtr需要90毫秒 运行200000次SwapStr需要340毫秒SwapPtr需要170毫秒 运行2000000次SwapStr需要3300毫秒SwapPtr需要1500毫秒 确API是需要额外指令来处理但是由于使用了指针技术它没有进行临时字串分配和拷贝因此速度提高了不少 如何样想不到吧!C/C员那么依赖指针无非也是使用指针往往能更直接去处理问题根源更有驾驭切快感他们不 是不知道使用指针危险他们不是不愿意开卫星定位无级变速汽车只是骑摩托更有快感而有些地方只有摩托才走 得过去 和在C里类似在VB里我们使用指针也不过 3个理由: 是效率这是种态度种追求在VB里也样; 2是不能不用操作系统是C写它时刻都在提醒我们它需要指针; 3是突破限制VB想照料我们切VB给了我们很强类型检查VB象我们老妈样对我们关心到有时我们会受不了想偶 尔不听妈妈话吗 你需要指针! 但由于缺少官方技术支持在VB里指针变得很神秘因此在C里些基本技术在VB里就变得比较困难本文目就是要提 供给大家种简单思路方法来将C处理指针技术拿到VB里来并告诉你什么是可行什么可行但必须要小心什么是可 能但不可行什么是根本就不可能 3, 程咬金 3板斧 是 2基本上就已经让我们看到VB指针技术模样了整理总结下在VB里用指针技术我们需要掌握 3样东西 :CopyMemoryVarPtr/StrPtr/ObjPtr, AdressOf. 3把斧头程咬金 3板斧在VB里Hack工具 1,CopyMemory 有关CopyMemory和Bruce McKinney大师传奇MSDNKnowledge Base中就有文章介绍你可以搜索\"ID: Q129947\"文章正是这位大师给32位VB带来了这个可以移动内存API也正是有了这个API我们才能利用指针完 成我们原来想都不敢想些工作感谢Bruce McKinney为我们带来了VB指针革命 如CopyMemory声明它是定义在Kernel32.dll中RtlMoveMemory这个API32位C库中memcpy就是这个API包 装如MSDN文档中所言它功能是将从Source指针所指处开始长度为Length内存拷贝到Destination所指内存处 它不会管我们有没有读写该内存所应有权限但它想读写被系统所保护内存时我们就会得到著名Access Violation Fault(内存越权访问)甚至会引起更著名general protection (GP) fault(通用保护) 所以在进行本系列 文章里实验时请注意随时保存你文件在VB集成环境中将\"工具\"->\"选项\"中\"环境\"选项卡里\"启动时\"设为 \"保存改变\"并记住在\"立即\"窗口中执行危险代码的前定要保存我们工作成果

    下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 PDF格式下载
  • 您可能感兴趣的
  • 鼠标指针图案  桌面鼠标指针图案下载  鼠标指针图案免费下载  鼠标指针图案大全  下载鼠标个性指针图案  精美鼠标指针图案下载  非主流鼠标指针图案  电脑鼠标指针图案  一箭穿心鼠标指针图案