WINDOWS未公开函数揭密(2) (转)
WINDOWS未公开函数揭密(2) (转)[@more@]
算法设计应用实例 (转)
算法设计应用实例 (转)[@more@]½ÚÒë×ÔThe Algorithm Design ManualCopyright Steven S. Skiena All Rights Reserved Copyleft g9yuayon(¶É¶ÉÄñ) All Rights Lost <rant>ÕâÁ½ÌìVC++°æµÄËã·¨Ö®ÕùºÃ²»ÈÈÄÖ¡£¸ÕºÃ°³¿¼ÍêÒ&r
一个用VB编写的监控别人上网的软件例子 (转)
一个用VB编写的监控别人上网的软件例子 (转)[@more@]一、程序核心 本程序的核心是通过api函数获得窗口句柄并获得浏览器访问的网址,在此基础上可以实现用Winsock控件进行远程的监视和管理。 1.先创建一个工程并在窗口Form1中,并声明下面的四个API函数和两个常量: Option Explicit Private Declare Function FindWindow Lib ″user32″ Alias ″FindWindowA″ (ByVal lpCl assName As String, ByVal lpWindowName As String) As Long ′Findwindow函数的功能是找到当前运行的IE窗口的url地址的句柄 Private Declare Func
实现类似IE的打印网页功能 (转)
实现类似IE的打印网页功能 (转)[@more@] 当我们点击工具条上的“打印”按钮实现IE的打印函数功能时,发现没有“打印机安 装”对话框显示出来,程序会自动开始打印文档。这个特点也被用于microsoftword中。 在应用程序中实现这个特点,编码如下: void CMyBrowser::OnPrint() {LPOLECOMMANDTARGET pCmdTarg = NULL; m_pDisp = m_webBrowser2.GetDocument(); //get the IDispatch interface pointerASSERT(m_pDisp);m_pDisp->QueryInterface(IID_IOleCommandTarget, (LPVOID*)&pCmdTarg); //query for olecommandtarget i
基于MFC的大型数据文件处理方法 (转)
基于MFC的大型数据文件处理方法 (转)[@more@] 在Visual C++中,MFC(微软基础类库)提供了CFile和CStdioFile两个类来进行程序中的文件输入输出操作。Cfile类提供了基于二进制流的文件操作,功能类似于C语言中的fread()和fwrite()函数。CStdioFile提供了基于字符串流的文件操作,功能类似于C语言中的fgets()和fputs()函数。但是,使用这两个类进行文件操作时,对于一次文件读写的数据量的大小必须限制在65535字节以内。其原因是在VC中访问大于65535字节的缓冲区需要Huge型指针,而在CFile和CStdioFile类中,使用的是Far型的
将图象列表转换成设备无关位图 (转)
将图象列表转换成设备无关位图 (转)[@more@] 在我的PrintTree例子中,我想打印彩色的树控制.对于文本很容易,但是图标就不简单了.我试着将图象列表转换成DIB,但是我真正需要的是一个方法,能够取出一个ICON的DIB,而不是整个图象列表。下面就是我使用的具体方法:HANDLE CAdvancedTreeCtrl::ImageToDIB( CImageList* pImageList, int iImageNumber, CWnd* pWnd, BOOL bOverlay, HTREEITEM actualItem ){ // Local Variables CBitmap bitmap; CWindowDC dc( pWnd ); CDC memDC; CRect rect; CPa
何时该使用"委托"(Delegation)? (转)
何时该使用"委托"(Delegation)? (转)[@more@]由于类别继承和物件组合是物件导向软体设计的两个主要方法﹔在不便使用继承的场合里﹐常使用物件组合﹐此时也常用委托观念。XML:NAMESPACE PREFIX = O /> 物件A 把外界传来的讯息" 转送" 给物件B ﹐由B 处理之﹐我们称物件A 委托物件B 。当一群物件互相沟通分工合作时常用妥托观念。虽然C++ 并未直接支援委托功能﹐但能间接地表达出来。由于类别继承(Class Inheritance) 和物件组合(object Composition)是物件导向软体设计的两个主要方法﹔在不便使用继承的场合里﹐
也谈无标题窗口的拖放 (转)
也谈无标题窗口的拖放 (转)[@more@] 有一篇宋立波先生的文章“windows高级窗口的客户区域拖动技术及其应用”对窗口拖动技术作了大量细致的阐述,然而对我这样 一知半解的菜鸟来说,稍嫌困难,而且要处理的细节也太多,后来从微软的站点看到一个简单的方法实现,不必计算RECT,不必处理鼠标消 息的细节和窗口绘制,就能轻松实现没有标题栏的窗口移动的问题,就是使用OnNcHitTest消息。 手工增加该消息映射: 用classwizard是无法增加该消息的,在BEGIN_MESSAGE_MAP中加入消息ON_WM_NCHITTEST(),然后在头文件中加入 a
软件工程能帮多大忙? (转)
软件工程能帮多大忙? (转)[@more@]一、思想各不相同,行为却是一样的 中国的程序员多数贫寒而有大志,看到国产软件行业凋敝,拯救中国软件业的愿望便由此生根发芽。我但是,我越做就越失望。 为什么?因为胡说八道胡乱指挥“项目经理”的太多,有寡不敌众的感觉吗?不是的。胡乱指挥的人的确多,什么中文软件,什么自主知识产权,什么扶持软件产业,什么硅谷梦想,的确寡不敌众。 但这根本不重要!反过来,即使这个社会人人都是比尔.盖茨,安迪.葛洛夫,对中国的软件业的繁荣也于事无补! 对“振兴民族软件业,知识救国”的失望,是
源代码为你而开吗??Is Open Source for You? (转)
源代码为你而开吗??Is Open Source for You? (转)[@more@]apache, Cocoon and Linux aren't just useful programs, they're best-of-breed. Some of the more intemperate free software boosters, intoxicated by this success, claim that proprietary software is obsolete and that it's immoral to keep your source code secret. Well, maybe. Part 1 of 2. by Rick Wayne If your team is anything like mine, everyone has a nickname. In some companies, a newcomer practically needs a shadow phone book just to follow
解决你MCSE最大的困惑 (转)
解决你MCSE最大的困惑 (转)[@more@]解决你MCSE最大的困惑2001年4月12日9:32:2 启迪网 在NT 4.0系列考试中有三门课程可以使用中文考试,分别为70-58.NETworking Essentials、70-59 TCP/IP on NT 4、70-67 NT 4.0 Server。然而目前NT 4.0考试已经全部作废,新推出的Win2k系列考试中目前还没有可以使用中文考试的,但依据微软的惯例可能会在今年晚些时候推出中文的考试。 关于考MCSE是学英文还是学中文是想考认证的朋友最关心也是最困惑的问题,我们想这个问题的根源在于对那几本全英文教材和全英文考试的恐惧心理。在这之前我们想先
国家计算机等级考试必读 (转)
国家计算机等级考试必读 (转)[@more@]国家计算机等级考试必读2001年4月30日14:52:2 启迪网 1、该考试是什么性质?由什么机构组织实施? 该考试是测试应试者计算机应用知识和能力的等级水平考试。 全国计算机等级考试实行教育部考试中心、各省(自治区、直辖市)承办机构两级管理的体制。各省(自治区、直辖市)承办机构根据教育部考试中心有关规定在所属地区符合条件的单位设立考点。考点接收考生报名。 为了保证考试的权威性,教育部考试中心聘请全国计算机理论、教学、应用方面的著名专家,组成全国计算机等级考试委员会
关于对于VC/MFC/ATL的评论问题 (转)
关于对于VC/MFC/ATL的评论问题 (转)[@more@]关于对于VC/MFC/ATL的评论问题,其实我很早就想写一篇文章来阐述自己的观点,不过又觉得这种容易引发论战的文章实际上是在空耗大家的时间, 不如做点实际工作. 但是现在中国程序员群体的思想走向已经到了一种非常危险的一边倒的地步,上几期电脑报上登出了几名14岁的小孩子, 刚刚学会写几个程序, 就把VC列为自己的梦想. 我去年找工作的时候,连续被几个公司问会不会VC,得到我的答复之后,他们怎么也不能相信一个学了四年C,两年多C++,还利用“空闲”时间学习了Java、perl的人,一个敢于在“专长”
Java中的两个特殊变量this和super (转)
Java中的两个特殊变量this和super (转)[@more@] Java中的两个特殊变量this和superWayne 在Java中有两个非常特殊的变量:this和super,这两个变量在使用前都是不需要声明的。this变量使用在一个成员函数的内部,指向当前对象,当前对象指的是调用当前正在执行方法的那个对象。super变量是直接指向超类的构造函数,用来引用超类中的变量和方法。因此它们都是非常有用的变量,下面我想介绍一下this和super的使用方法。 1、this 让我们先看一段代码吧: class PersonInformation { String name,gender
D版 Rational Rose 2001 完全安装手册 (转)
D版 Rational Rose 2001 完全安装手册 (转)[@more@] D版 Rational Rose 2001 完全安装手册 一.安装前的准备: 1.首先确认你已经安装了windows2000(不管哪个版本都行) 2.购买《酷软(16 IN 1)》编号43.目录:RATIONALROSE.V2001-ZENITH 下即为 Rational Rose 20014.SETUPb子目下为安装文件,crack子目下为协议文件 二.安装程序: 1.启动Rational Rose 2001的安装程序 2.连点两次"NEXT" 3.在接下来的画面中选最后一项"install product before licensing,然后点"next" 4.再点一次"NEXT" 5.同意协议再点"NEXT" 6.选安装全部内容
VC++中实现程序互斥运行 (转)
VC++中实现程序互斥运行 (转)[@more@] VC++中实现程序互斥运行 在软件的开发过程中,有时需要控制一些程序不能同时运行,也就是多个程序间互斥运行(还包括禁止同一程序运行多个实例)。针对这一问题,我们在Visual C++ 6.0中利用内存映射文件实现了多个程序间的互斥运行。 在讲述具体的编程方法之前,让我们先来看看和内存映射文件操作有关的几个重要的函数: 1)CreateFileMapping函数为指定的文件创建一个文件映射对象,该函数的原型如下: HANDLE CreateFileMapping( HANDLE hFile, // 用于映射的文
在stringgrid控件中使文字内容在cell中做到上下居中 (转)
在stringgrid控件中使文字内容在cell中做到上下居中 (转)[@more@] 在stringgrid控件中使文字内容在cell中做到上下居中SeASPide 2001.4.19经多次实践,偶终于找到了解决使文字内容在每个cell单元中上下居中的办法:就是利用画板的draw方法,通过“画”出文字解决了这个问题。哈,不算是旁门左道吧~实现非常简单:设一全句变量: var Iscentre:boolean;在需要上下居中显示文字内容时,用语句: cells[x,y]:='', 并置Iscentre为真; (注意:一定要赋空值!! 原因见下) ~~~~~x,y为局部变量给Form1上的stringgrid控件添加OnDrawCell事
对于一个程序员来说偷懒很重要 (转)
对于一个程序员来说偷懒很重要 (转)[@more@]人活着为了什么??雷洛说过人活着就是为了吃饭!对于一个靠编程序来吃饭的人来说,往往一个项目工程并非一两百行代码那么简单必须有很多的代码才能构成一个软件.如果同样一个算法我每一处比你少用一行代码,那么如果有十个地方用到这个算法那么我就比你少用十行一百个地方就比你少用一百行那么我的效率就绝对比你高,升职就绝对要比你快,工资就绝对要比你多.所以偷懒是很重要的编程方法,偷懒有很多办法对于相同的地方尽量调用函数,能用静态的地方绝对不要用动态能分开处理的地方绝对不要用case
VB编程的一些心得 (转)
VB编程的一些心得 (转)[@more@]VB编程的一些心得 在大学作毕业设计的课题是编制一个教学软件, 所以很自然地和VB这种易学、易懂、界面友好漂亮的语言打上了交道。 在编写的过程中当然遇到了许多的问题, 这里将一些简单的小程序写下来与喜爱编程的朋友们分享。一、封面封面的设计是这样的,先出现一窗体,上面为你喜欢的图案。 然后出现一艘从左向右行驶着的船。 屏幕上方从两侧分别移动出“欢迎”两个字。具体的制作方法是:把预先选好的背景图案装入封面窗体中, 窗体命名为CAI。再分别在三个图像控件(image) 中装入预先制作好的位图“
一个四舍五入函数 (转)
一个四舍五入函数 (转)[@more@]一个四舍五入函数http://www.tommstudio.com(2001年4月19日) 作者:booktian 推荐:booktian 下面是保岛国整数的四舍五入函数,如果要保岛国n位小数,只需简单修改。function myround(x : extended) : extended;beginif (int(x)*10+5) > int(x*10) thenbeginresult := floor(x);end elsebeginresult := ceil(x);end;end;