文章
文章平均质量分 60
wjn1206
别拿原创说事!转载发表文章就是为了自己记忆方便学习....
展开
-
c++ cout<<*p<<endl<<*p++;被重载导致输出错误问题原因!
int main() { char *p="df"; coutcin.get(); return 0; }竞猜结果,噹当当。。。正确结果f,d为什么呢?下面正解:呵呵,首先肯定一下,你说的*p和*p++的值是完全一样的。 你的第一个程序的问题不是出在指针上,而是出在C++的流运算符将你第一个程序改为: cout cout 之后就可以得转载 2012-08-01 15:48:52 · 2893 阅读 · 0 评论 -
MFC隐藏进程,任务管理器内看不到
只要把cpp和h加入工程,include就可以了//------------------HideProcess.h--------------------?//加入MFC工程调用即可 BOOL HideProcess(); //------------------HideProcess.cpp------------------?#include "std转载 2012-10-18 11:12:13 · 1947 阅读 · 1 评论 -
列举出所有进程(包括隐藏的)
其实只要导出这些NativeAPI,在应用态也是可以用的。本文来自看雪的某人谁不记得了不好意思了!C/C++ codeHANDLE LzOpenProcess(DWORD dwDesiredAccess,BOOL bInheritHandle, DWORD dwProcessId){ NTSTATUS status=0; char *pBuf=NULL;//原创 2012-10-18 11:03:56 · 1836 阅读 · 0 评论 -
MFC 文本超链接
第一步,在Dlg类中定义一个protect成员变量HCURSOR m_hCursor,在构造函数里(或者在OnInitDialog()里)调用语句m_hCursor=AfxGetApp()->LoadCursor(IDI_CURLINK);加载鼠标;(IDI_CURLINK为鼠标的icon)第二步,在Dlg类中定义一个protect成员变量RECT m_StaticRect,表示静原创 2012-10-18 14:53:06 · 1669 阅读 · 0 评论 -
IDL中用到的关键词
1.inport: 类似于c语言中的#include,这里引入一个头文件Mydefs和另一个IDL文件Unknown.idl,在Mydefs文件中可能包含了自定义类型,在Unknown.idl文件中包含了IUnknown的定义。2.object:表示定义的是COM接口而不是RPC接口。3.uuid:uuid后面的括号括起来的是接口的IID,是接口的唯一标识。4.interface:原创 2012-10-20 10:22:27 · 683 阅读 · 0 评论 -
COM笔记(生存周期控制)
IUnknown接口实现生存周期控制的方法。每一个对象都记录了一个成为“引用计数”的数值,该数值的含义为有多少个有效指针的引用该COM对象。当客户得到了一个指向该对象的接口指针时,引用计数增加1;当客户用完接口指针时,引用计数减一。当引用计数为0的时候COM对象就应该把自己从内存中清除掉,也就是调用清除函数;引用计数的实现有三个层次。按照COM的规范一个COM组件可以实现多COM对象。原创 2012-10-19 15:19:21 · 631 阅读 · 0 评论 -
COM笔记(QueryInterface接口查询)
HRESULT QueryInterface(【in】REFIID iid,【out】void**ppv); QueryInterface 函数返回值是一个32位的整数,反映了查询结果:1. S_OK :查到了指定接口,接口的指针存放在ppv输出参数中;2.E_NOINTERFACE:对象不支持iid所指定的接口,*ppv为NULL;3.E_UNEXPECTED原创 2012-10-19 16:25:29 · 1018 阅读 · 0 评论 -
windows特殊文件 CSlid标识
目录(Directory)与文件夹(Folder)的区别 目录是DOS时代的产物,DOS文件系统是以目录树的形式将文件组织起来的,文件全部包含在目录里。任何一个文件的全名,由“目录名+文件名”两部分组成,目录名则是以“根目录+子目录+多级子目录...”组成,其中根目录是以任一26个英文字母加上冒号“:”表示的盘符,目录之间用反斜杠“/”作为路径分隔符分隔;文件名由“文件名称+扩展名”,扩展原创 2012-10-25 13:40:54 · 1538 阅读 · 0 评论 -
C++/ACM/数据结构/算法
大量资源,http://www.cppleyuan.com/?fromuid=37192 http://www.cppleyuan.com/?fromuser=nan5211203原创 2012-11-21 09:07:20 · 620 阅读 · 0 评论 -
vc++键盘钩子和鼠标钩子
该例的钩子都是写在一个DLL中的,和应用程序独立开来的全局钩子。一般情况下,如果要截获鼠标和普通按键,刚可以用下边的方法鼠标:LRESULT CALLBACK MouseProc( int nCode, // hook code WPARAM wParam, // message identifier转载 2012-12-06 09:53:40 · 9872 阅读 · 0 评论 -
U盘进行软件加密
利用U盘进行软件加密的方法 一般的U盘不具备加密的功能,虽然U盘和加密狗外形有一些相似,但是内部完全不一样的,U盘只是一个存储器芯片和简单的附属电路,而现在的智能卡加密狗都具有一个单独的CPU或者加密芯片,可以执行相当复杂的加密算法。 有的软件开发商有这样一种需求,就是使用U盘发布软件的同时,想要节约成本,防止U盘中的软件被复制,但又不想再购买昂贵的加密狗,因此想要把软件绑定在U盘上执行,转载 2012-12-25 13:22:24 · 1018 阅读 · 0 评论 -
COM的常用函数
一、初始化函数:1、CoBuildVersion 获取COM库的版本号。COM库也是在不断的升级的,这样会出现不同的版本号,当客户程序想要获取COM库的新功能和性能时必须要进行版本的检查,版本号分为主版本号和次版本号,主版本号放在返回值的高16位,次版本放在低16位。一般只要比较主版本号就可以了。2、CoInitialize COM库的初始化。COM库只有初始化后才可以使用,CoIniti转载 2012-10-12 16:34:50 · 2045 阅读 · 0 评论 -
COM个人笔记(标准类厂接口:IClassFactory)
如果在工程中需要一个类厂对象那么例如:DB对象的创建需要一个CDBSrvFactory,则类厂对象为我们提供了一个创建DB对象的函数CreateDB;HRESULT CreateDB(IDB * ppObj)这个函数只能返回IDB指针,如果对象想要实现多个接口,那就要指定初始接口HRESULT MyCreateInstance(EIID riid,void** ppObj)原创 2012-10-12 16:11:24 · 1347 阅读 · 0 评论 -
COM(个人笔记)IUnknown接口
COM对象必须具备的两大特性:多接口(QueryInterface),引用计数(AddRef and Release)。由于COM对象都必须实现这三个函数,所以COM定义了一个标准接口IUnknown:class IUnknown{public: virtual HRESULT QueryIterface(RIID riid,void**ppObj)=0; virt原创 2012-10-12 15:31:01 · 689 阅读 · 0 评论 -
OPENFILENAME结构 .
OPENFILENAME结构包含了GetOpenFileName和GetSaveFileName函数用来初始化打开或另存为对话框的信息。在用户关闭对话框后,系统返回关于用户的选择信息到这个结构中。typedef struct tagOFN { DWORD lStructSize; HWND hwndOwner; HINSTAN转载 2012-08-10 11:08:11 · 491 阅读 · 0 评论 -
WTL 中使用GDI+ 备忘 (博客园个人笔记)
WTL 中使用GDI+ 备忘#include using namespace Gdiplus;#pragma comment(lib, "gdiplus.lib")_tWinMain{HRESULT hRes = ::CoInitialize(NULL);GdiplusStartupInput gdiplusStartupInput;ULONG_PTR gdiplu转载 2012-08-15 10:28:00 · 1691 阅读 · 0 评论 -
com组件是什么
COM组件是以WIN32动态链接库(DLL)或可执行文件(EXE)形式发布的可执行代码组成。 COM组件是遵循COM规范编写的 COM组件是一些小的二进制可执行文件 COM组件可以给应用程序、操作系统以及其他组件提供服务 自定义的COM组件可以在运行时刻同其他组件连接起来构成某个应用程序 COM组件可以动态的插入或卸出应用 COM组件必须转载 2012-08-15 15:05:17 · 511 阅读 · 0 评论 -
vc 连接Access 2003
(1) 在StdAfx.h中添加下面一句话:#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")(2) 连接数据库并读取其中一个字段?123456789101112转载 2012-08-29 10:59:20 · 472 阅读 · 0 评论 -
常见的20种VC++编译错误信息
1、fatal error C1010: unexpected end of file while looking for precompiled header directive。. D# d. X- E. A9 B9 G) F寻找预编译头文件路径时遇到了不该遇到的文件尾。(一般是没有#include "stdafx.h") 7 G# b3 ]# |, k0 @+ Y9 B& y1转载 2012-09-01 10:41:47 · 1066 阅读 · 0 评论 -
记录集 _RecordsetPtr
2011-07-31 08:44 _RecordsetPtr_RecordsetPtr智能指针,它是专门为通过记录集操作数据库而设立的指针,通过该接口可以对数据库的表内的记录、字段等进行各种操作。要搞清楚:数据库和ADO的记录集是两个不同的概念, 是存在于不同物理位置的两个存储空间。 记录集相当于是实际数据的一份拷贝。 正因为记录集是相对脱离数据库而存在的, 所以才存在后面将要介绍转载 2012-08-27 15:19:51 · 1762 阅读 · 2 评论 -
NETRESOURCE
NETRESOURCE类型定义Type NETRESOURCEdwScope As LongdwType As LongdwDisplayType As LongdwUsage As LonglpLocalName As StringlpRemoteName As StringlpComment As String转载 2012-09-10 11:18:58 · 1776 阅读 · 0 评论 -
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认int 错误的解决方法
一些函数定义中,在VC6中,如果没有显示的指定返回值类型,编译器将其视为默认整型;但是vs2008/vs2010不支持默认整型,解决这个问题不能修改每个没有显示指示返回值类型的函数地方,可以用排除4430来解决;具体的在打开project->BaseClasses properties->configuration->C/C++ ->Advance中禁用特定警告中排除4430即可。转载 2012-10-08 13:56:27 · 4287 阅读 · 3 评论 -
BSTR 字符串
C-Style 字符串C程序语言本身原并不支援字串数据结构。字符串通常以一个字符数组(或称阵列)或一个指向字符资料的指标指标来表达。由于C语言的数组不包含其长度的资讯,故亦无法表示所载之字符串之长度。C语言社群对此通用之解决方案为于字符串末端增添一数值0的字符。C语言的标准程序库中的字符串处理功能亦以此为基础。C-Style 字符串特点为不直接包含长度资讯。要取得字符串之长度,就必须从头到转载 2012-10-09 10:26:55 · 622 阅读 · 0 评论 -
V_VT含义
V_VT是一个宏,其定义如下:#define V_VT(X) ((X)->vt)其含义是,对于指针X,取其指向的对象的vt成员。这个宏一般配合结构体tagVARIANT使用。tagVARIANT是一个可以存放很多不同数据类型的结构,包括整型、浮点型、日期型以及COM指针类型等等,具体存放的类型是什么可以用VARTYPE类型的成员变量vt来获知。V_VT就是获取vt的一个转载 2012-10-09 13:36:54 · 5599 阅读 · 0 评论 -
(笔记)网络7层协议
TCP/IP协议是传输控制协议/互联网络协议.他规范了网络上所有设备的通信,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式.在网络的各层中还存在着许多协议,下面列出部分网络协议规范: ARP 地址解析协议 SNMP 网络管理协议 BOOTP 让无盘站从一个中心服务器上获得IP地址 DHCP 动态主机配置协议 下面介绍网络7层协议在WIN转载 2012-12-25 14:23:35 · 447 阅读 · 0 评论