- 博客(83)
- 资源 (29)
- 收藏
- 关注
原创 动态链接库使用.def导出一个c++类的函数
1、导出函数的参数为char*时候,调用规约要使用__stdcall,使用__cdecl会报错。2、给win32程序添加.def的时候,要在项目属性-》连接器-》输入-》模块定义文件 里面添加你的def,才没有乱七八糟前缀的导出函数。比如:创建一个EnableKeyboard.def文件,里面包含下面内容,就是导出类里的Keyboard_Enable函数。LIBRARY"k
2016-05-20 18:18:30 4619
转载 修改VS2008(vc)中工程解决方案类的名字
修改VS2008(vc)中工程/解决方案/类的名字原文地址:http://blog.csdn.net/chenvsa/article/details/6288372 因为不小心打错了或其他原因会修改vs2008的工程/解决方案/类的名字 以下是方法: 一、先修改工程名/解决方案名 举例,原先的工程名为AAA 想要改成BBB 1.找到工
2016-03-16 10:54:29 2266
转载 STL中bind2nd的用法
原文路径,感谢分享:http://blog.csdn.net/starlee/article/details/1486327比如我们有下面的类:class ClxECS{public: int DoSomething() { // 这里以输出一句话来代替具体的操作 cout "Output from method
2015-03-25 11:46:22 752
原创 #pragma pack (n) 惹的祸
今天遇到了一个问题,使用数据流传输的数据在解析的时候数据错位,想了很久,发现是#pragma pack (n)惹的祸。首先,解析方使用了编译字节设置,但是在发送方没有使用,于是用同样的结构体解析数据时候,有两个字节被0占用了。后来统一使用,问题解决。如下图的struct结构体:不使用#pragma pack (1)时候,在解析RemotPort后是没问题的,再解析Remot
2015-03-19 15:29:19 1191
转载 为何与0xff进行与运算
为何与0xff进行与运算在剖析该问题前请看如下代码public static String bytes2HexString(byte[] b) { String ret = ""; for (int i = 0; i String hex = Integer.toHexString(b[ i ] & 0xFF); if (hex.len
2015-03-18 16:50:30 6940 1
转载 TDI Filter 过滤驱动
By Fanxiushu 2013, 引用和转载请注明原作者为了让大家有兴趣阅读下去,举个正在使用的可能大家都比较熟悉的例子: 360 的安全卫士里,有个流量防火墙的功能,它可以监视每个进程的流量情况,可以限制上传下载速度,等等。他的驱动部分的就是一个 TDI Filter 驱动。TDI Filter ,这是个快被微软淘汰的驱动模式,但是为了兼容,又不得不使用的驱动。
2015-03-11 10:44:13 1034
转载 64位进程调用32位dll的解决方法
最近做在Windows XP X64,VS2005环境下做32位程序编译为64位程序的工作,遇到了一些64位编程中可能遇到的问题:如内联汇编(解决方法改为C/C++代码),long类型的变化,最关键的遇到了64位进程需要调用32位dll的问题。由于有一些32位dll没有源代码,无法重新编译为64位dll,所以只能想办法解决64位进程调用32位dll问题,这个问题让我很是挠头了几天。相关资料
2014-12-18 17:38:29 2315 1
转载 C++ 运算符流操作符重载和友元
/************************************************************************************************ * 名 称: friend.cpp * 功 能:学习C++ Premier 的笔记之操作符重载,友元 * 描 述:1、友元函数:允许函数访问类的所有成员。
2014-09-23 15:13:38 1041
转载 How to obtain crash dump in win8
很遗憾,Metro没有直接的方式可以让应用去生成dump,你只能用这些Debug的API来尝试收集一些信息 http://msdn.microsoft.com/en-us/library/windows/desktop/br205755.aspx不过我们还是可以通过另一种方式生成dump的,在应用崩溃后,被一些调试器比如VS Debugger 捕获后暂停,或者有什么消息框弹出
2014-09-22 17:16:19 756
转载 Windows8下Visual Studio 2003全文搜索未响应解决办法
最近换了Win8 RTM用2003的时候发现又不能全文搜索了,一搜就未响应。第一步在安装目录找到这个X:\Program Files\Microsoft Visual Studio.NET 2003\Common7\IDE
2014-09-19 11:29:58 2328 1
原创 Com组件的内存分配和释放,CredentialProvider SHStrDup 字符串拷贝问题
一、简介熟悉CredentialProvider的同学应该知道,他为一个Com组件,于是,在这里的内存分配(字符串拷贝)的一系列操作就要按照con的标准来。二、Com组件的内存分配和释放COM提供的任务内存分配器,通过IMalloc接口调用。此接口由CoGetMalloc返回。分配内存可以使用IMalloc::Alloc,释放可由IMalloc::Free完成。为了简化CO
2014-09-01 12:01:38 3734
原创 在父窗口的中间位置显示子窗口 MFC
CRect rect;GetWindowRect(rect);//该函数返回指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出。//rect获得的坐标为当前窗体的坐标,对于显示器屏幕的最左上角为(0,0)点坐标,向下移动多少就加值多少//假设要显示的对话框宽320,高140,(320,140),left、right是X轴坐标,left-right则为宽父窗体的宽,同理
2014-08-07 11:53:24 13851
转载 定义struct
1、struct REC{int n; char c;};REC t1,t2;//修改 struct REC t1,t2;因为不是所有编译器都支持你那种写法2、typedef struct REC{int n=0;char c=’A’;}t1,t2;REC t1,t2不知道你什么意思,不过可以这样写typedef struct {int n=0;char c=
2014-07-29 15:10:43 840
原创 CString与string之间的转换
1、CString -> stringCString strCstrSource("Is a test");string strTarget;strTarget = strCstrSource.GetBuffer(0);2、 string->CStringstring strSource = "Is a test";CString strCstrTarget;
2014-07-28 15:29:14 1993
转载 Windows Server 2008 R2 域控制器部署指南
http://technet.microsoft.com/zh-cn/cloud/gg462955.aspx
2014-05-20 14:11:44 1636
转载 配置域控服务器
将一台成员服务器提升为域服务器(域控制器)的步骤 目前很多公司的网络中的PC数量均超过10台,按照微软的说法,一般网络中的PC数目低于10台,则建议采对等网的工作模式,而如果超过10台,则建议采用域的管理模式,因为域可以提供一种集中式的管理,这相比于对等网的分散管理有非常多的好处,下面讲解如何把一台成员服务器提升为域控制器: 本篇文章中所有的成员服务器均采用微软的Windows
2014-05-19 18:11:58 9753
转载 OpenSSL 信息摘要算法
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用.
2014-04-24 14:41:54 2868
转载 win7系统,网络ID是灰色的。就是要看网络工作组计算机的那个“网络 ID”的那个按钮。
win7系统,网络ID是灰色的。就是要看网络工作组计算机的那个“网络 ID”的那个按钮。1首选确认自己WIN7系统不是家庭版,家庭版是没有域功能。2其次检查服务是否自动和启用:计算机-右击管理-服务和应用程序--服务 Workstation 服务 TCP/IP NetBIO
2014-04-02 17:16:01 21821 1
原创 Windows 7 设定使用者登入前先按 Ctrl-Alt-Delete
1、如何Windows 7 设定使用者登入前先按 Ctrl-Alt-Delete 2、开始中调出“运行”,(或者按 windows键+ R键)并输入netplwiz,调出用户账户控制3、点击“高级”。4、在“安全登录”中选择“要求用户按Ctrl-Alt-Delete(R)”。
2014-03-14 15:55:12 1274
转载 VC++ DLL 导出函数
VC++ DLL 导出函数 经常使用VC6的Dependency查看DLL导出函数的名字,会发现有DLL导出函数的名字有时大不相同,导致不同的原因大多是和编译DLL时候指定DLL导出函数的界定符有关系。VC++支持两种语言:即C/C++,这也是造成DLL导出函数差异的根源我们用VS2008新建个DLL工程,工程名为“TestDLL”把默认的源文件后缀 .CPP改
2014-03-12 15:48:31 9909 2
原创 loadlibrary 返回错误126 找不到指定的模块
hLibE = LoadLibrary(Dll_name);int n = GetlaseError();````````````````````````````````````````````````````````````````n 一直返回126,找都不到指定的模块。但是链接库Dll_name是在工程目录下的丫。找了很久,发现要加载的链接库Dll_name是存在的,但是要载入
2014-03-12 15:25:15 12162 4
转载 GetCurrentDirectory & GetModuleFileName
GetCurrentDirectory只是返回操作系统的当前目录,并不一定返回你的应用程序的目录。比如你在应用程序中调用了打开文件对话框,你选择了一个文件,那么,这个文件所在的目录就成了操作系统的当前目录了。因此,千万不要用这个函数作为获取应用程序目录的手段。获取当前应用程序主目录的方法是GetModuleFileName,先获取应用程序文件路径,然后截取调应用程序文件名称就是应用程序主目录了
2014-02-20 15:08:48 1031 2
原创 登录方式CredentialProvider的优点
总结一下新的登录方式CredentialProvider的优点: 1、实现所谓的“会话隔离”使用Credential Provider 方式实现“操作系统服务以及其他关键进程”和“用户进程”在不同的 会话(session)中运行,这样有利于提高安全性。 2、基于COM的设计,使得登录界面可以添加微软给定的控件,来实现开发者想要实现的功能。即用一致的外观和方法来完成不同的
2014-01-23 16:11:14 5221
原创 win7-CredentialProvider使用域账户登录
背景:用户是针对于固定域的,要求使用域账户登录。在CredentialProvider实例中,如果用户没有使用域账户,程序会默认获取到当前的计算机名称 if (GetComputerNameW(wsz, &cch)) 并作为域的参数传递给hr = KerbInteractiveUnlockLogonInit(wsz, _rgFieldStrings[SFI_E
2014-01-22 10:28:00 6192 1
原创 驱动蓝屏后简单的分析dump文件
1: kd> !analyze–vDebugging Details:------------------ *** ERROR: Moduleload completed but symbols could not be loaded for ntnfapi.sys EXCEPTION_CODE:(NTSTATUS) 0xc0000005 - 0x%08lx FAU
2014-01-09 19:38:52 10932 1
转载 Big Endian 和 Little Endian
Big Endian 和 Little Endian 一、字节序来自:http://ayazh.gjjblog.com/archives/1058846/谈到字节序的问题,必然牵涉到两大CPU派系。那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列采用big endian方式存储数据,而x86系列则采用little end
2013-12-31 15:55:00 701
原创 inet_addr()和IN_ADDR
1、inet_addr()的功能是将一个点分十进制的IPv4转换成一个长整数型数(u_long类型)原文:The Windows Sockets inet_addr function converts a string containing an (Ipv4) Internet Protocol dotted address into a proper address for the
2013-12-27 17:20:14 8241 2
原创 net start 驱动 返回:发生系统错误6 句柄无效
使用vs2013编译驱动win7版本,编译之前没有Set the KMDF version导致错误net start 驱动 返回:。“发生系统错误6 句柄无效”文档中说:The operating system that you specified in your configuration is called the target operating system
2013-12-24 16:09:06 5434 1
转载 win7 下VS2003 全文搜索就停止反应的解决方案
Win7 32bit/64bit环境下,在使用VS2003的查找功能时,会导致VS2003无响应。解决方法:找到VS2003的安装目录,修改"...\Microsoft Visual Studio .NET 2003\Common7\IDE"目录下的devenv.exe的属性,将其兼容性中的“禁用视觉主题”打钩,如图:如不禁用桌面元素,则在VS2003中移动浮动窗口时会不太
2013-12-22 15:34:05 2883 2
转载 WDF
WDF是Vista及其以后OS的驱动模型,意为Windows Driver Foundation,此模型比WDM更先进、合理(微软是这样说的),将WDF中关于电源、PnP等一些复杂的细节由微软实现,所以在此模型上开发驱动会 比以前要简单。
2013-12-22 15:30:42 955
原创 筛选器“headerfiles”下已存在项目“***.h”
筛选器“header files”下已存在项目“***.h”vs2013添加现有头文件后,再次打开文件会出现问题:筛选器“header files”下已存在项目“***.h”解决方案是 重新添加现有头文件,在项目右键点击添加,而不是在“header files”点击右键。
2013-12-19 11:11:52 3633
转载 驱动对象、设备对象、设备栈----驱动程序基础概念
简要说明 1. 向内存中载入一个驱动程序文件,就会有一个驱动对象(DRIVER_OBJECT)产生 2. 以驱动 i8042prt 为例简要说明过程(在这里我先做个说明,对于同时插有 ps/2 键盘和 ps/2 鼠标的计算机上, i8042prt 会创建两个设备对象,一个用于键盘,一个用于鼠标。i8042prt 是完成 ps/2 键盘驱动主要功能的驱动程
2013-12-17 11:02:53 744
转载 ipch文件夹和.sdf文件是什么 vs2010(转)
在使用Visual Studio 2010开发C++程序的时候,会发现有一些奇怪的文件被创建出来,比如一个叫ipch的文件夹,和一个与工程同名的.sdf文件,而且ipch下面的文件和.sdf文件都很大,至少有10M,大项目可能超过100M,那这些文件是干什么用的呢?这些文件是Visual Studio用来保存预编译的头文件和Intellisense用的,删除这些文件对于工程的开发完全没有影响。那如
2013-12-13 10:46:32 1617 1
原创 使用指针忘记分配空间,导致WideCharToMultiByte崩溃
上下文环境:wchPassword是一个宽字符的字符串,想要转换成窄的被老代码调用。代码:char *chCKeyPassWord;int nCKeyLength = WideCharToMultiByte(CP_ACP,0,wchPassword,-1,chCKeyPassWord,0,NULL,NULL);WideCharToMultiByte(CP_ACP,0,wch
2013-12-12 15:29:49 1884
转载 解决windows7驱动调试KdPrint不能输出的问题
我使用的是双机调试方式,开始以为调试起来会很方便,环境很快搭好,但问题来了,另一台机器上的windbg 上怎么也打印不出来。后来通过查找资料,看到有人介绍修改注册表的办法来解决内核输出的问题。具体办法是在注册表HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/中新建key,名字为Debug Print
2013-12-08 12:26:22 3279 1
转载 KdPrint/DbgPrint and UNICODE_STRING/ANSI_STRING
KdPrint/DbgPrint and UNICODE_STRING/ANSI_STRINGKdPrint/DbgPrint and UNICODE_STRING/ANSI_STRING KdPrint/DbgPrint and UNICODE_STRING/ANSI_STRINGJust to remember:NT likes string of the follow
2013-12-07 14:49:08 3317 1
转载 带参数的构造函数
一、带参数的构造函数可以知道:①带参数的构造函数中的形参,其对应的实参在定义对象时给定。②用这种方法可以方便地实现对不同的对象进行不同的初始化。在例9.1中构造函数不带参数,在函数体中对数据成员赋初值。这种方式使该类的每一个对象都得到同一组初值(例如例9.1中各数据成员的初值均为0)。但是有时用户希望对不同的对象赋予不同的初值。可以采用带参数的构造函数,在调用不
2013-11-20 17:34:12 4484
转载 回调函数调用类成员函数的方法
回调函数调用类成员函数的方法利用MFC或者其它的C++应用编写回调函数是非常麻烦的,其根本原因是回调函数是基于C编程的Windows SDK的技术,不是针对C++的,程序员可以将一个C函数直接作为回调函数,但是如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过。其错误是普通的C++成员函数都隐含了一个传递函数作为参数,亦即“this”指针,C++通过传递一个
2013-11-18 15:06:46 1059
转载 windbg虚拟机调试符号表设置
在D盘建立一个MySysSymbols文件夹,用于存放自己的符号文件. 然后给这个文件夹创建一个快捷方式,把它放到C:\Documents and Settings\你的用户名\SendTo文件夹下. 这样,以后编译完驱动以后,直接在符号文件上右击->发送到"MySysSymbols"就可以了,
2013-11-08 15:22:37 1758
翻译 Filter & Filter Engine 名词解释
FilterA filter defines several filtering conditions for filtering TCP/IP network data and an action that is to be taken on the data if all the filtering conditions are true.一个过滤器为tcp/ip网络数据定义了几个过滤
2013-11-05 20:54:14 1360
产品经理扩展阅读书籍目录.docx
2019-06-24
创新公司-皮克斯的启示.zip
2019-06-24
PMP备考资料可打印版(PMBOK第六版)
2019-04-30
浪潮云海PPT
2019-03-07
企业云战略
2019-03-07
SDN技术白皮书
2019-03-07
驱动对象查看器 winObj
2013-12-19
dos命令之CD
2013-09-12
MFC对话框服务程序
2013-09-10
创建一个everyone可以访问权限的注册表键值
2012-11-17
Vista_Win7_Credential_Provider_5个例子
2012-07-06
XML-DTD实例讲解
2011-08-24
提升操作注册表的特权限
2011-07-21
计算机软件开发规范 GB 8566-88
2011-07-21
Windows内存管理机制及C++内存分配
2011-06-21
VC++技术内幕(第五版).chm
2011-05-31
Windows程序设计
2010-11-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人