Windows消息机制初谈 (转)
Windows消息机制初谈 (转)[@more@]windows系统是一个消息驱动的OS,什么是消息呢?我很难说得清楚,也很难下一个定义(谁在嘘我),我下面从不同的几个方面讲解一下,希望大家看了后有一点了解。 1、消息的组成:一个消息由一个消息名称(UINT),和两个参数(WPARAM,LPARAM)。当用户进行了输入或是窗口的状态发生改变时系统都会发送消息到某一个窗口。例如当菜单转中之后会有WM_COMMAND消息发送,WPARAM的高字中(HIword(wParam))是命令的ID号,对菜单来讲就是菜单ID。当然用户也可以定义自己的消息名称,也可以利用自定义消息来发送通
保护模式下的特权级检查 (转)
保护模式下的特权级检查 (转)[@more@]下面是一些关于特权级转换的说明,其中重点介绍特权级转换时的检查,类似于变换特权时的堆栈切换,任务切换过程和任务的嵌套等未加说明,可参阅有关专著.段内转移和实模式下一样,不涉及特权级的转换和任务间的切换,所以重点说一说任务内段间的转移和任务间的转移. 任务内相同特权级的转移:段间直接转移和段间直接调用: 1.检查目标地址指针内的选择子指示的描述符是否为空,目标代码段描述符不能为空描述符,即该选择子的高14位不能为0 2.由选择子内的TI位(第2位)决定是从GDT还是从LDT中读出目标代
DirectX学习手记(二) (转)
DirectX学习手记(二) (转)[@more@]DirectX学习手记(二) happyfire 2002/8/11 此回说说怎样用DirectDraw向表面上贴图,包括创建离屏表面,设置调色板,载入位图到表面,透明色,页面丢失等。 二. 用DirectDraw贴图 先让我们回忆一下上一回的内容。为了初始化DirectDraw我们首先创建了一个DirectDraw对象,然后设置了协作模式(全屏+独占),设置显示模式,然后创建主表面,提取后台缓冲表面指针。至此可以在后台表面上进行操作,然后flip到前台显示出来。最后程序结束前释放所有的directdraw对象。好了,现在说说怎样向后台表面贴图,
DirectX学习手记(-) (转)
DirectX学习手记(-) (转)[@more@]DirectX学习手记(-) HappyFire 2002/8/2 题记:玩了很多的游戏,不禁萌发了自己做游戏的念头,于是7月份从网上收集了N多资料。7月20几号在家开始了闭关式的学习,一直到昨天,我的第一个地图类封装完毕,并乘胜追击到凌晨3点,做好了地图编辑器的0.9版。早上起来觉得有点累(才睡了几个小时,呵呵),于是把这些天的学习经历回忆一下,权当是休息。这个过程是一个从对游戏编程一无所知到略识其理得过程,我想对于像我这样的初学者应该有所帮助吧,至少可以少走些弯路。 一. 初识DirectX 在放假之前,我
没头没尾--项目开发笔记 C#企业级模板理解 (转)
没头没尾--项目开发笔记 C#企业级模板理解 (转)[@more@]标题:没头没尾--项目开发笔记 关键词:分布式开发 C# 项目分工 11月19号:下午,天气不冷肚子痛 从本质上来说…………,我其实也不清楚C#比Java有什么提升。宣传的材料上或网站上写的多好多好,从书店买的书看了看也没看好有什么特别的地方。都是一大堆的类继承来继承去的。管它的,先做出来东东再说。 接着上午的写吧。我想首先对C#的企业级分布式的模板简单的说一下。 下面的理解都是我已经忘记是看谁的例子的理解的了,也许是microsoft的宠物店例子,也许是别人写的
Cultured Perl: 吸引 C 和 Java 程序员目光的 Perl 5.6 (转)
Cultured Perl: 吸引 C 和 Java 程序员目光的 Perl 5.6 (转)[@more@]XML:NAMESPACE PREFIX = O /> perl 5.6 的新特性在哪些方面优于 C/C++/Java ? Teodor ZlatanovProgrammer, Northern Light, Inc.January 2001 笔者侧重于阐述 Perl 与 C 或 Java 不同的独特之处。您一定会为 Perl 这些在其他语言中看不到的特性而心花怒放:操作符的容错能力、一项任务多种实现、标点、正则表达式以及变量机制等。所有这些都赋予您的手指更灵活的魔力。在某些方面 Perl 的确能给 C 和 Java 程序员很多有用帮助,可惜目前它还远达不到众所周知
TC20下的内联汇编 (转)
TC20下的内联汇编 (转)[@more@]格式:按照TC2.0的帮助系统所以说的,在TC2.0下是可以用汇编的,方法是使用asm关键字:其格式是: asm opcode <operands> <;newline>,如同别的注释一样,<>之间的表示可选的;例如: main() { char *c="hello,worldnr$"; asm mov ah,9;asm mov dx,c;asm int 33; printf("You sucessed!n"); } 或者是: main(){ char *c="hello,worldnr$"; asm mov ah,9 asm mov dx,c asm int 33 printf("You su
c++ builder里四种处理“鼠标离开窗体”事件的方法 (转)
c++ builder里四种处理“鼠标离开窗体”事件的方法 (转)[@more@] 在处理窗体消息的时候,我想不少人都会碰到鼠标离开窗体的消息(下面称之为MouseLeave)。在C++ Builder里,并没有直接提供处理这种消息的方法,需要我们自己动手来做。通过参考一些资料,我发现在C++ Builder里面处理MouseLeave,不外乎以下四种方法,现写出来供大家参考。如果有什么不对之处,请指正。 (一)、笨拙的Timer 每每提到捕捉鼠标离开窗体的消息的时候,也许有人就会马上想到用Timer来处理。不错,这种方法很简单,也确实有效。只须在Timer的O
中文乱码问题 (转)
中文乱码问题 (转)[@more@]/*编码转换,确保写数据库的时候不会出现乱码*/package dbJavaBean; public class CodingConvert{ public CodingConvert() { // } public String toGb(String uniStr){ String gbStr = ""; if(uniStr == null){ uniStr = ""; } try{ byte[] tempByte = uniStr.getBytes("ISO8859_1"); gbStr = new String(tempByte,"GB2312"); } catch(Exception ex){ } return gbStr; } public String toUni
应用WSDK - 实践WebServices的路由和路由选择(上) (转)
应用WSDK - 实践WebServices的路由和路由选择(上) (转)[@more@]应用WSDK - 实践webservices的路由和路由选择 小气的神 2002-11-18 XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> Article Type: In-Depth 难度等级:8/9 版本:3.46 不久之前,我想我们曾经讨论过有关WSDK问题,那时我们讨论的是有关DIME的问题。而当我努力的试图调试WSDK中接下来的功能时,我遇到了一些问题,简单的说,我总是无法实现SOAP的简单路由,而出现的错误是让我有些沮丧的,几乎是反反复复
jdbc-odbc连接数据库 (转)
jdbc-odbc连接数据库 (转)[@more@]/*jdbc-odbc连接数据库*/ package dbJavaBean; import java.sql.*; public class Opendb { String sDBdriver="sun.JDBC.odbc.JdbcOdbcDriver"; String SCOnnStr="jdbc:odbc:one"; Connection conn=null; ResultSet rs=null; public Opendb() { try { Class.forName(sDBDriver); } catch(java.lang.ClassNotFoundException e){ System.err.print(e.getMessage()); } } public ResultSet executeQuery(String sql){ rs=null
asp中的cookie (转)
asp中的cookie (转)[@more@]请教cookie的 使用方法! 多谢! 例子用于接收Cookies.ie display table --> Cookie Name Cookie Value Delete Cookie oop through the cookie collection displaying each cookie we find For Each Item in Request.Cookies %>
ASP 与ADO 在Web 数 据 库 查 询 中 的 应 用 (转)
ASP 与ADO 在Web 数 据 库 查 询 中 的 应 用 (转)[@more@] ---- * 具 体 实 现 ---- 查 询 主 页 面 为 港 澳 证 件 信 息 查 询, 对 应 程 序 为gacx.as p, 查 询 结 果 以 两 种 方 式 显 示, 一 种 是 显 示 主 要 信 息- 港 澳 证 件 信 息 查 询 结 果 列 表, 对 应 程 序 为gacxlb.ASP, 一 种 是 显 示 全 部 信 息- 港 澳 证 件 信 息 查 询 结 果, 对 应 程 序 为gacx xq.asp, 如 果 查 询 条 件 不 能 满 足 时, 还 将 显 示 一 个 提 示 页 面, 告 诉 用 户 不 存 在 满 足 条 件 的 结 果, 这 由 程 序gacxt
接触VC (转)
接触VC (转)[@more@] 预设目录:XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 第一部分:WinSDK 第二部分:MFC类基础,C++程序编写规范介绍 第三部分:MFC基于对话框程序 第四部分:Dll动态链接库 第五部分:COM组件基础 第六部分:COM组件几个常用技术:IDispatch,可连接对象. 第七部分:COM组件的应用,以及MFC的COM编写 第一部分:WinSDK 学习VC已近一年了,回顾我的学习历史真是相当的艰苦。既没有老师教,图书馆里也没有好书可看。为了买到好书,身上的银子几近花光,不得不过节衣缩
S D K 学 习 笔 记1 sdk基础 (转)
S D K 学 习 笔 记1 sdk基础 (转)[@more@]S D K 学 习 笔 记 SDK 是 Software Development Kit的缩写。这在msdn上有体现:“The microsoft Commerce Server 2000 Software Development Kit (SDK) includes..."。见过比较好的中 文解释"SDK是帮助 C 程序员创建 windows 应用程序的一套软件工具。"(《MFC 开 发Win95/Nt4 应用程序》)。不过我的理解是 "SDK 是 windows 应用程序基础开发工 具包"。 SDK,在早期 windows平台下开发的师兄师姐对这个是再熟悉不过的了,他们天 天用,无时无刻不在用着。就如同我
有关于JAVA中的CLASSPATH的作用 (转)
有关于JAVA中的CLASSPATH的作用 (转)[@more@]CLASSPATH是什么?它的作用是什么? 它是Javac编译器的一个环境变量。 它的作用与import、package关键字有关。 当你写下improt java.util.*时,编译器面对import关键字时,就知道你要引入java.util这个package中的类;但是编译器如何知道你把这个package放在哪里了呢?所以你首先得告诉编译器这个package的所在位置;如何告诉它呢?就是设置CLASSPATH啦 :) 如果java.util这个package在c:jdk 目录下,你得把c:jdk这个路径设置到CLASSPATH中去!当编译器面对import java.util.
C++编译器怎么实现异常处理3 (转)
C++编译器怎么实现异常处理3 (转)[@more@]C++和异常 再回头来说我们在第一节里说到的 EXCEPTION_REGISTRATION结构,这个结构是用来注册操作系统的异常回调函数的,当异常发生时,该函数将被调用。 VC++扩展了异常回调函数得语法,增加了两个新的参数: struct EXCEPTION_REGISTRATION{ EXCEPTION_REGISTRATION *prev; Dword handler; int id; DWORD ebp;}; vc ++里,除了一些例外,在每个函数的头部生成EXCEPTION_REGISTRATION结构的局部变量(作者注:编译器可能在一个函数里根本不生成任何异常相关的代
使用CPU时间戳进行高精度计时 (转)
使用CPU时间戳进行高精度计时 (转)[@more@]使用cpu时间戳进行高精度计时 对关注性能的程序开发人员而言,一个好的计时部件既是益友,也是良师。计时器既可以作为程序组件帮助程序员精确的控制程序进程,又是一件有力的调试武器,在有经验的程序员手里可以尽快的确定程序的性能瓶颈,或者对不同的算法作出有说服力的性能比较。在windows平台下,常用的计时器有两种,一种是timeGetTime多媒体计时器,它可以提供毫秒级的计时。但这个精度对很多应用场合而言还是太粗糙了。另一种是QueryPerformanceCount计数器,随系统的不同可以提供微秒级
像qq一样变换图标 (转)
像qq一样变换图标 (转)[@more@] 像qq一样变换图标在写代码之前,我先介绍一个函数。以下摘至msdn2002shell_NotifyIcon 函数--------------------------------------------------------------------------------发送一个消息到任务兰的状态区语法BOOL Shell_NotifyIcon( Dword dwMessage,PNOTIFYICONDATA lpdata);参数 dwMessage传入的DWORD参数制定将要发生的动作。可以是以下几个值 NIM_ADD添加图标到状态区. NOTIFYICONDATA结构的hWnd和uId指出那个将对那个图标进行操作。 NIM_DELETE删除图标。NIM_MODIFY修改图标NIM_SETFOCUS5.0版本
返回字串的拼音首字母 (转)
返回字串的拼音首字母 (转)[@more@]//////////////////////////////////////////////////////////////file://函数名:gf_getfirstletter(string)file://功能:返回字串的拼音首字母,支持混合字符串(可以包含非汉字)file://参数:as_inputstringfile://返回值:stringfile://created 大同 张和平 Mailto:dtzhp@yeah.NET">dtzhp@yeah.net//////////////////////////////////////////////////////////////long istring ls_ch,ls_returnStrFor i=1 to Len(as_InputString) file://依次处理as_InputString中每个字符 ls_ch=Mid(