- 博客(12)
- 资源 (84)
- 收藏
- 关注
原创 Ctrl + Z
BOOL CXXWnd::PreTranslateMessage(MSG* pMsg) { if( pMsg->message == WM_KEYDOWN ) { BYTE keybytes[256]; memset(keybytes, 0, 256); GetKeyboardState(keybytes); if (
2009-12-30 17:26:00 753
原创 error C3872: '0x3000': this character is not allowed in an identifier 解决方法
编译时遇到这个错误多半是从网上拷贝一段代码到VS里然后编译时产生的,这是因为拷贝过来的代码里有全角空格的原因。 解决方法就是把这段代码放到记事本里用UltraEdit或者其他有查找替换功能的编辑软件里,选择替换把全角空格替换成半角就好了。
2009-12-29 09:46:00 7710
转载 关于初始化C++类成员
转自:http://www.vckbase.com/document/viewdoc/?id=584在使用C++编程的过程当中,常常需要对类成员进行初始化,通常的方法有两种: 第一种方法: CMYClass::CSomeClass(){ x=0; y=1;}第二种方法: CSomeClass::CSomeClass() : x(0), y(1){
2009-12-28 21:33:00 559
原创 InvalidateRect中的“部分区域”理解
Sandrer问:经常看到书上、网上的资料说 InvalidateRect 能使窗口中部分区域无效 调用 UpdateWindow() 就能检测程序的无效区域,然后发送 WM_PAINT 消息给窗口 但是一般我做程序的时候,在 WM_PAINT 消息的处理过程中的代码都是画整个窗口客户区的 InvalidateRect 对我的程序来说是不是没用(因为每次处理 WM_PAINT 的时候都是整个客户区
2009-12-28 09:17:00 2028 1
原创 用SetUpDi系列函数获得系统设备信息
用SetupDi系列函数可以获得系统中一些设备的信息。1 SetupDiGetClassDevs函数 MSDN中这样描述:The SetupDiGetClassDevs function returns a handle to a device information set that contains requested device information eleme
2009-12-27 12:04:00 20378 1
转载 CreateThread函数设置安全权限
调用CreateThread函数,系统将创建一个线程内核对象,调用该函数的进程可以给这个新创建的内核对象赋予安全属性,如果在调用CreateThread函数时把该参数设为NULL,则系统将给予这个内核对象缺省的安全描述,也可以分配和初始化一个SECURITY_ATTRIBUTES结构体,设置了安全权限,然后再传给CreateThread函数。 SECURITY_ATTRIBUTES
2009-12-25 11:16:00 1566
转载 beginthread还是CreateThread
_beginthread还是CreateThread 程序员对于Windows程序中应该用_beginthread还是CreateThread来创建线程,一直有所争论。本文将从对CRT源代码出发探讨这个问题。 I. 起因今天一个朋友问我程序中究竟应该使用_beginthread还是CreateThread,并且告诉我如果使用不当可能会有内存泄漏。其实我过去对这个问题也是一知半解,为了对
2009-12-25 11:03:00 648
转载 文字旋转90度
文字旋转90度 一,新建一个单文档工程ChangeFont。 二,修改ChangeFontView::OnDraw函数,代码如下: void CChangeFontView::OnDraw(CDC* pDC) { CChangeFontDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); CFont* pFont = pDC->GetCurrentFont(
2009-12-17 20:24:00 1576
转载 VC下关于debug和release的区别的讨论
VC下关于debug和release的区别的讨论(网上总结)2008-09-17 02:30 P.M. 最近写代码过程中,发现 Debug 下运行正常,Release 下就会出现问题,百思不得其解,而Release 下又无法进行调试,于是只能采用printf方式逐步定位到问题所在处,才发现原来是给定的一个数组未初始化,导致后面处理异常。网上查找了些资料,在这罗
2009-12-17 09:47:00 694 2
转载 关于Invalidate、InvalidateRect和UpdateWindow
关于Invalidate、InvalidateRect和UpdateWindow // 转载,这个资料对我很有帮助。(1)Invalidate Invalidate标记一个需要重绘的无效区域,并不意味着调用该函数后就立刻进行重绘。类似于PostMessage(WM_PAINT),需要处理到WM_PAINT消息时才真正重绘。以为您Invalidate之后还有其他的语句正在执行,程序没
2009-12-16 20:25:00 675
原创 做CMOS测试时需注意的事项
做cmos pattern测试时需注意几个地方可能不能写,它们是:DAY_ALRM,MON_ALRM,CENTURY.这三个值在cmos中的位置可以在ACPI Table中的FACP Table的offset 106,107,108处获得。此table的值在win7下可以通过GetSystemFirmwareTable获得。示例如下: UINT retVal = GetSystem
2009-12-16 14:06:00 1279 2
转载 WinDBG调试Windows 7内核
WinDBG调试Windows 7内核Windows 7下很多内核的数据结构都变掉了,比如EPROCESS的偏移。欲使用WinDbg进行内核调试,做几件事情1、运行 bcdedit -debug on 开启调试,需要重启生效2、到http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx 下载符
2009-12-10 14:03:00 1768
勒索病毒WannaCry深度技术分析
2018-08-01
图形控件ZedGraph使用傻瓜教程
2017-06-05
PCIbridge-subtr
2010-11-15
7-Zip 压缩工具下载
2010-10-17
深入剖析Win32可移植可执行文件格式
2010-05-10
VScsiDisk源代码
2010-04-15
ProjectOZ 源码
2010-04-12
了解不同种类的windows存储驱动.
2010-03-23
cJSON解析json格式文件代码示例(vs2019编译)
2021-01-01
windows调试工具(windbg KD CDB NTSD)实例详细介绍.pdf
2020-12-12
driver verifier使用指南.pdf
2020-12-12
windows服务应用程序开发指南.pdf
2020-05-09
OpenCppCoverage源码
2018-12-04
OpenCppCoverage(32位)安装包
2018-12-04
OpenCppCoverage(64位)安装包
2018-12-04
自定义MessageBox(XMessageBox)
2018-08-02
自己的程序如何编码去关闭windows的右键弹出菜单?
2023-10-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人