文章分类 -  VC/MFC转载

上一页 1 2 3 4 5 6 ··· 9 下一页
VC添加服务代码(转)
摘要:VC没发现就自己花了2天时间写了个 写好后拿给 NB 看 他说他以前写了 就把代码发出来吧我的代码#include "Winsvc.h" //BOOL DisplayServices(); //查看服务//void AddServices(); //添加服务//void DelServices(); //删除服务//void StopServices(); //停止服务//void StartServices(); //启动服务BOOL DisplayServices(char *m_ServiceName) //查看服务{char RgsKey[MAX_PATH];HKE 阅读全文
posted @ 2012-03-27 15:54 carekee 阅读(1108) 评论(0) 推荐(0) 编辑
ASCII码和c库函数
摘要:ASCII码表完整版 ASCII值控制字符ASCII值控制字符ASCII值控制字符ASCII值控制字符 0NUT32(space)64@96、1SOH33!65A97a2STX34”66B98b3ETX35#67C99c4EOT36$68D100d5ENQ37%69E101e6ACK38&70F102f7BEL39,71G103g8BS40(72H104h9HT41)73I105i10LF42*74J106j11VT43+75K107k12FF44,76L108l13CR45-77M109m14SO46.78N110n15SI47/79O111o16DLE48080P112p17DCI 阅读全文
posted @ 2012-03-23 22:44 carekee 阅读(1789) 评论(0) 推荐(0) 编辑
C++所有WM消息总览表
摘要:C++所有WM消息总览表windows消息WM_ WM_NULL = $0000;WM_CREATE = $0001;应用程序创建一个窗口 WM_DESTROY = $0002;一个窗口被销毁 WM_MOVE = $0003;移动一个窗口 WM_SIZE = $0005;改变一个窗口的大小 WM_ACTIVATE = $0006;一个窗口被激活或失去激活状态; WM_SETFOCUS = $0007;获得焦点后 WM_KILLFOCUS = $0008;失去焦点 WM_ENABLE = $000A;改变enable状态 WM_SETREDRAW = $000B;设置窗口是否能重画 WM_SET 阅读全文
posted @ 2012-03-21 14:26 carekee 阅读(5097) 评论(0) 推荐(0) 编辑
VC这MFC所有WM消息和数据类型总结
摘要:hwnd 32位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)。message 用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是自定义的常量。wParam 通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。lParam 通常是一个指向内存中数据的指针。由于WParam、lParam和Pointer都是32位的,因此,它们之间可以相互转换。WM_NULL =$0000 //WM_CREATE =$0001 //应用程序创建一个窗口WM_DESTROY = $0002 //一个窗口被销毁. 阅读全文
posted @ 2012-03-21 14:24 carekee 阅读(3918) 评论(0) 推荐(0) 编辑
VC2005 向窗口的按钮发送单击消息
摘要:从窗口中的按钮发送消息。按钮会从WM_COMMAND消息的参数中,获取到发送的消息IDC_BEGIN :要接收消息的按钮IDBN_CLICKED: 单击消息,也可以是双击消息或者其它的消息LPARAM: 要接收消息按钮ID句柄[c-sharp] view plaincopyprint?PostMessage(WM_COMMAND,MAKELONG(IDC_BEGIN,BN_CLICKED),(LPARAM)(GetDlgItem(IDC_BEGIN)->GetSafeHwnd()));在重载CButton的DLL中,可以这样做::PostMessage(this->GetParen 阅读全文
posted @ 2012-03-21 14:22 carekee 阅读(1205) 评论(0) 推荐(0) 编辑
APIHOOK实例剖析
摘要:APIHOOK实例剖析 关于APIHOOK的基础知识有很多,如dll的相关知识、Hook的相关知识、系统进程与线程之间的联系等。具体可以看我的另两篇文章:"我的Dll(动态链接库)学习笔记" 和 "我的Hook学习笔记"。:)下面进入这篇文章的重点,根据APIHook源码进行APIHook的剖析。一、APIHOOK之dll部分//////////////////////////////// APIHook_Dll.cpp ////////////////////////////////////////// rivershan写于2002.9.23 /// 阅读全文
posted @ 2012-03-13 18:01 carekee 阅读(490) 评论(0) 推荐(0) 编辑
我的Hook学习笔记(转)
摘要:关于Hook一、基本概念: 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。 钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。二、运行机制:1、钩子链表和钩子子程: 每一个Hook都有一个与. 阅读全文
posted @ 2012-03-13 18:00 carekee 阅读(360) 评论(0) 推荐(0) 编辑
在DLL中使用资源(一)
摘要:在DLL中使用资源(一) 在CSDN论坛上最常看见的关于DLL的问题就是如何在DLL中使用对话框,这是一个很普遍的关于如何在DLL中使用资源的问题。这里我们从Win32 DLL和MFC DLL两个方面来分析并解决这个问题。1.Win32 DLL 在Win32 DLL中使用对话框很简单,你只需要在你的DLL中添加对话框资源,而且可以在对话框上面设置你所需要的控件。然后使用DialogBox或者CreateDialog这两个函数(或相同作用的其它函数)来创建对话框,并定义你自己的对话框回调函数处理对话框收到的消息。下面通过一个具体实例来学习如何在Win32 DLL中使用对话框,可以按照以下步骤来完 阅读全文
posted @ 2012-03-13 17:58 carekee 阅读(1517) 评论(0) 推荐(0) 编辑
在DLL中使用资源(二)
摘要:2、动态链接到MFC的DLL 在讨论关于动态链接到MFC的DLL的模块状态问题之前,先来看一个例子。本例可以通过如下步骤来完成:1)在VC菜单中File->New新建一个命名为DLLShared的MFC AppWizard的工程,下一步选择Regular DLL using shared MFC DLL。2)在工程中添加一个对话框资源,其ID为:IDD_ABOUTBOX。并在resource.h之中将IDD_ABOUTBOX 的数值改为100。3)在DLLShared.cpp中定义如下函数:void ShowDlg(){ CDialog dlg(IDD_ABOUTBOX); dlg.Do 阅读全文
posted @ 2012-03-13 17:58 carekee 阅读(298) 评论(0) 推荐(0) 编辑
DLL中调用约定和名称修饰(三)
摘要:DLL中调用约定和名称修饰(三)2、C++编译时函数(非类成员函数)名称修饰当函数使用__cdecl调用约定时,编译器进行以下工作:1.以?标识函数名的开始,后跟函数名;2.函数名后面以@@YA标识开始,后跟返回值和参数表;3.当函数的返回值或者参数与C++类无关的时候,返回值和参数表以下列代号表示: B:constD:charE:unsigned charF:shortG:unsigned shortH:intI:unsigned intJ:longK:unsigned longM:floatN:double_N:boolPA:指针(*,后面的代号表明指针类型,如果相同类型的指针连续出现,以 阅读全文
posted @ 2012-03-13 17:57 carekee 阅读(380) 评论(0) 推荐(0) 编辑
DLL中调用约定和名称修饰(一)
摘要:DLL中调用约定和名称修饰(一)调用约定(Calling Convention)是指在程序设计语言中为了实现函数调用而建立的一种协议。这种协议规定了该语言的函数中的参数传送方式、参数是否可变和由谁来处理堆栈等问题。不同的语言定义了不同的调用约定。在C++中,为了允许操作符重载和函数重载,C++编译器往往按照某种规则改写每一个入口点的符号名,以便允许同一个名字(具有不同的参数类型或者是不同的作用域)有多个用法,而不会打破现有的基于C的链接器。这项技术通常被称为名称改编(Name Mangling)或者名称修饰(Name Decoration)。许多C++编译器厂商选择了自己的名称修饰方案。因此, 阅读全文
posted @ 2012-03-13 17:56 carekee 阅读(229) 评论(0) 推荐(1) 编辑
DLL中调用约定和名称修饰(二)
摘要:DLL中调用约定和名称修饰(二)4、thiscallthiscall调用约定是C++中的非静态类成员函数的默认调用约定。thiscall只能被编译器使用,没有相应的关键字,因此不能被程序员指定。采用thiscall约定时,函数参数按照从右到左的顺序入栈,被调用的函数在返回前清理传送参数的栈,只是另外通过ECX寄存器传送一个额外的参数:this指针。这次的例子中将定义一个类,并在类中定义一个成员函数,代码如下:class CSum {public:int Add(int a, int b){return (a + b);}};void main(){ CSum sum; sum.Add(1, . 阅读全文
posted @ 2012-03-13 17:56 carekee 阅读(213) 评论(0) 推荐(0) 编辑
我的Dll(动态链接库)学习笔记(转)
摘要:DLL(Dynamic Link Libraries)专题: 比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序EXE文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间,造成系统资源的浪费;另一个缺点是,在编写大的EXE程序时,在每次修改重建时都必须调整编译所有源代码,增加了编译过程的复杂性,也不利于阶段性的单元测试。 Windows系统平台上提供了一. 阅读全文
posted @ 2012-03-13 17:55 carekee 阅读(407) 评论(0) 推荐(0) 编辑
动态链接到MFC的DLL(转)
摘要:在讨论关于动态链接到MFC的DLL的模块状态问题之前,先来看一个例子。本例可以通过如下步骤来完成: 1)在VC菜单中File->New新建一个命名为DLLShared的MFC AppWizard的工程,下一步选择Regular DLL using shared MFC DLL。2)在工程中添加一个对话框资源,其ID为:IDD_ABOUTBOX。并在resource.h之中将IDD_ABOUTBOX 的数值改为100。3)在DLLShared.cpp中定义如下函数:void ShowDlg(){ CDialog dlg(IDD_ABOUTBOX); dlg.DoModal();}4)在DL 阅读全文
posted @ 2012-03-13 17:51 carekee 阅读(563) 评论(0) 推荐(0) 编辑
深入浅出Visual C++动态链接库(Dll)编程1【转】
摘要:基础慨念1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的 EXE文件中了。但是若使用DLL,该DLL不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动.. 阅读全文
posted @ 2012-03-13 17:50 carekee 阅读(1349) 评论(0) 推荐(1) 编辑
深入浅出Visual C++动态链接库(Dll)编程2【转】
摘要:VC++动态链接库编程之MFC规则DLL 第4节我们对非MFC DLL进行了介绍,这一节将详细地讲述MFC规则DLL的创建与使用技巧。 另外,自从本文开始连载后,收到了一些读者的e-mail。有的读者提出了一些问题,笔者将在本文的最后一次连载中选取其中的典型问题进行解答。由于时间的关系,对于读者朋友的来信,笔者暂时不能一一回复,还望海涵!由于笔者的水平有限,文中难免有错误和纰漏,也热诚欢迎读者朋友不吝指正! 5. MFC规则DLL 5.1 概述 MFC规则DLL的概念体现在两方面: (1) 它是MFC的 “是MFC的”意味着可以在这种DLL的内部使用MFC; (2) 它是规... 阅读全文
posted @ 2012-03-13 17:50 carekee 阅读(422) 评论(0) 推荐(0) 编辑
VC中将bmp作为资源文件写入EXE或DLL,然后内部调用(转)
摘要:(Win32 DLL 工程,或者其他Console或MFC工程等)1。在VC编译器中,选择Insert --》Resource,选中Bitmap--》Import,将文件类型修改为所有类型。---》找到bmp文件,并载入,此时产生一个IDB_BITMAP1资源句柄。2。载入后,先别急,保存一次,则会产生这个bmp文件对应的rc资源文件。3。这个时候,如果不是MFC工程,则需要在调用LoadImage或LoadBitmap函数的.CPP文件中,先包含一句:#include "resource.h"如此,则之前产生的IDB_BITMAP1资源句柄可以被使用了,如果没有包含这个头 阅读全文
posted @ 2012-03-13 17:49 carekee 阅读(2086) 评论(0) 推荐(0) 编辑
如何检测内存泄漏问题(转)
摘要:用C写程序,为了省事儿引用了别人一些代码,一调试程序发现:内存泄露了。程序代码量有点大,而且指针基本上都是用链表管理起来的,VC的调试器并不能给检查具体哪一行泄露。我想用C写程序的人这种情况一定跟我一样遇到过好多次,其中大多数人可能也跟我一样。依次注释和检查代码来排除这个问题~~ 最近,我又遇到了这个问题,本想到群中请教下别人有没好点儿的内存检查工具来辅助我排错,结果有幸让我得到了如下的方法:引用原文先查看系统的内存泄漏报告,如下:Detected memory leaks!Dumping objects ->{1057} normal block at 0x01873BD0, 8 by 阅读全文
posted @ 2012-03-10 15:51 carekee 阅读(313) 评论(0) 推荐(0) 编辑
VC++获得微秒级时间的方法与技巧探讨(转)
摘要:获得微秒级的时间 收藏 Win 下建议如下方式:http://www.vckbase.com/document/viewdoc/?id=1301VC中基于 Windows 的精确定时中国科学院光电技术研究所 游志宇 在工业生产控制系统中,有许多需要定时完成的操作,如定时显示当前时间,定时刷新屏幕上的进度条,上位 机定时向下位机发送命令和传送数据等。特别是在对控制性能要求较高的实时控制系统和数据采集系统中,就更需要精确定时操作。 众所周知,Windows 是基于消息机制的系统,任何事件的执行都是通过发送和接收消息来完成的。 这样就带来了一些问题,如一旦计算机的CPU被某个进程占用,或系统资源.. 阅读全文
posted @ 2012-03-09 14:17 carekee 阅读(2618) 评论(0) 推荐(0) 编辑
DrawText如何使多行文字居中
摘要:(1)DT_WORDBREAK只能截断单词。例如如果输入一连串英文字符,那么它会当做一个单词来处理,而不会自动换行。而对于中文字符则可以。如果要对所有字符都可以像Edit控件中那样自动换行,那么可以使用DT_WORDBREAK | DT_EDITCONTROLDT_EDITCONTROLDuplicates the text-displaying characteristics of a multiline edit control. Specifically, the average character width is calculated in the same manner as fo 阅读全文
posted @ 2012-03-07 17:20 carekee 阅读(2309) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 9 下一页