当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 最近发现金山词霸屏幕取词功能导致连连看在ET内执行的时候堆栈溢出而连连看单机版则无此问题。
 

 

 ·有关字节码处理的笔记    »显示摘要«
    摘要: 一般而言,为了节省内存,又要保证有足够多的operator,字节码被声明为unsigned char类型,因此对于一个虚拟机能够拥有的运算指令只能在255之内。但是有些解释语言为了提高运行效率,却需要更多运算指令来实现内置函数,一旦超过255,unsigned char显然是不够的。 mudos作为解释lpc语言的虚拟机同样存在这样的问题,它的解决方法如下: 1. 所有operator,e......
    摘要:今天下午我参与了公司招聘项目经理的面试工作,这也是我第一次参加这样的工作!公司的所有项目经理级以上的人都参加了这次面试工作(当然我不是,我参与是因为招聘到是我们部门当项目经理)!可见公司对这个职位的重视程度,当然我们公司在软件行业应该不算小吧,大概有200号人。 应聘者是一个30多岁的人,穿着比较干净整洁也比较正式,在这点上也看出了他对这次面试的重视程度。和很多公司一样,穿着也是考核应聘者的一方面......


金山词霸2003导致我的程序堆栈溢出错误

最近发现金山词霸屏幕取词功能导致连连看在et内执行的时候堆栈溢出

而连连看单机版则无此问题.郁闷异常,分析金山词霸的取词功能如下: 【程序编程相关:模板类的练习——栈

【推荐阅读:模板和异常的问题

【扩展信息:模板类的练习——队列

1 屏幕抓词

  屏幕抓词(或者叫动态翻译)是指随着鼠标的移动,软件能够随时获知屏幕上鼠标位置的单词或汉字,并翻译出来提示用户.它对於上网浏览.在线阅读外文文章等很有帮助作用,因此许多词典软件都提供了屏幕抓词功能.

  屏幕抓词的关键是如何获得鼠标位置的字符串,windows的动态链接与消息响应机制为之提供了实现途径. 概括地说,主要通过下面的几个步骤来取得屏幕上鼠标位置的字符串:

  . 代码拦截:windows以dll方式提供系统服务,可以方便地获取windows字符输出api的地址,修改其入口代码,拦截应用程序对它们的调用.

  .  鼠标hook:安装wh—mouseproc类型的全局鼠标hook过程,监视鼠标在整个屏幕上的移动.

  .   屏幕刷新:使鼠标周围一块区域无效,并强制鼠标位置的窗口刷新屏幕输出.窗口过程响应wm—ncpaint与wm—paint消息,调用exttextout/textout等字符输出api更新无效区域里面的字符串.这些调用被我们截获,从堆栈里取得窗口过程传给字符api的参数,如字符串地址.长度.输出坐标.hdc.裁剪区等信息.

2 取词的过程,

          0 判断鼠标是否在一个地方停留了一段时间

          1 取得鼠标当前位置

          2 以鼠标位置为中心生成一个矩形

          3 挂上api钩子

          4 让这个矩形产生重画消息

          5 在钩子里等输出字符


...   下一页
 ·plog    »显示摘要«
    摘要:声明:本文为原创文章,如须转载请注明 如有问题请到bbs.tsinghua.edu.cn webdev版日前由于需要在php5上运行plog,但网上下载的plog_0.3.2_cn包不能直接使用(未汉化的没有看,应该也不行)又找不到资料,只能自己研究,侥幸成功,不敢把经验独享,写个总结供其他有同样需要的人做参考。 以下步骤在windows2000 advanced server系统实现使用plo......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE