windows编程
normallife
这个作者很懒,什么都没留下…
展开
-
调试技巧
调试是程序开发者必备技巧。如果不会调试,自己写的程序一旦出问题,往往无从下手。本人总结10年使用VC经验,对调试技巧做一个粗浅的介绍。希望对大家有所帮助。今天简单的介绍介绍调用堆栈。调用堆栈在我的专栏的文章VC调试入门提了一下,但是没有详细介绍。首先介绍一下什么叫调用堆栈:假设我们有几个函数,分别是function1,function2,function3,funtion4,且function1调转载 2008-10-19 14:42:00 · 691 阅读 · 0 评论 -
dialog proc的返回值(TRUE),会引发界面显示出错
当调用DialogBoxParam()的时候,窗口就是没法正确显示.窗口处理函数中的GetLastError()没提示出错,但Show()函数里的GetLastError()提示错误号为87(参数不正确),实在搞不明白了,我的参数都没问题的啊! 谢谢 int CMpsdProperties::Show() { int result = 0;转载 2008-11-19 13:16:00 · 1960 阅读 · 0 评论 -
键盘对应值,小常识
值 描述/r0x1 鼠标左键/r0x2 鼠标右键/r0x3 CANCEL 键/r0x4 鼠标中键/r0x8 BACKSPACE 键/r0x9 TAB 键/r0xC CLEAR 键/r0xD ENTER 键/r0x10 SHIFT 键/r0x11 CTRL 键/r0x12 MENU 键/r0x13 PAUSE 键/r0x14 CAPS LOCK 键/r0x1B ESC 键/r0x20 SPACEBA原创 2009-02-02 14:41:00 · 821 阅读 · 0 评论 -
#import directive知道多少
转自:http://blog.donews.com/dukejoe/archive/2007/04/16/1156319.aspx使用VB或VC操作Excel 2003(例程)************************************************************************ 演示用VB.NET 设置 Excel 单元格值和风格的小程序转载 2009-02-17 22:34:00 · 647 阅读 · 0 评论 -
Windows如何区分鼠标双击和两次单击
Windows如何区分鼠标双击和两次单击 http://lbsloveldm.blog.hexun.com/12212875_d.html 在Windows平台上,鼠标左键的按下、松开、快速的两次点击会产生WM_LBUTTONDOWN、WM_LBUTTONUP和WM_LBUTTONDB转载 2012-05-17 17:48:50 · 10159 阅读 · 0 评论 -
关键代码段(Critical Sections) 和自旋锁(Spinlocks)
转自:http://www.cnblogs.com/hustcat/archive/2009/09/29/1576535.html关键代码段(Critical Sections) 和自旋锁(Spinlocks)写在前面:今天一哥们问我,windows的临界代码是自旋还是等待,当时想了想应该是等待,后来翻了一下《Windows via C/C++》,发现还有点小意思。总结一下转载 2014-04-19 21:29:34 · 1105 阅读 · 0 评论 -
进程间通信
通过自定义消息:局限:发送的数据只能是长整型。#define WM_COMM WM_USER+100CWnd *pWnd=CWnd::FindWindow(NULL,_T("DataRecv查找DataRecv进程.")); // pWnd->SendMessage(WM_COMM,NULL,(LPARAM)uMsg);// 发送. const UINT wm_n转载 2008-11-16 17:01:00 · 1028 阅读 · 0 评论 -
win32常用函数
1、限制程序功能函数 EnableMenuItem 允许、禁止或变灰指定的菜单条目 EnableWindow 允许或禁止鼠标和键盘控制指定窗口和条目(禁止时菜单变灰) 2、对话框函数 CreateDialog 从资源模板建立一非模态对话窗 CreateDialogParam 从资源模板建立一非模态对话窗 CreateDialogIndirect 从内存模板建立一非模态对话窗 C转载 2008-11-16 16:47:00 · 586 阅读 · 0 评论 -
郁闷了一天,原来vs2008的安装文件(.h)都没安装完整
昨天编译程序出错,提示出错问题是:type_traits头文件找不到。 居然安装VS2008的安装目录里没有type_traits文件。倒霉,从另一个哥们那里拷贝了过来。 以后安装完VS,得检查一下了,VS2005的VC目录的.h文件是151个,而VS2008的是185个。原创 2009-01-09 10:11:00 · 1323 阅读 · 2 评论 -
内存泄漏检测
具有动态的分配和释放内存的能力是C/C++程序语言的重要特色之一。Visual C++ debugger 和 CRT库提供了一系列有效的检测和鉴定内存泄漏的工具。 设置内存泄漏检测 检测内存泄漏的基本工具是调试器和CRT调试堆函数。为了使用调试堆函数,在你的程序中你必须含有下面的说明: #define _CRTDBG_MAP_ALLOC#include #include #includ转载 2008-10-19 14:55:00 · 694 阅读 · 0 评论 -
八个要掌握的命令
发表于:2008-04-10 14:35:14 楼主一,ping 它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以转载 2008-10-10 16:57:00 · 488 阅读 · 0 评论 -
装饰设计模式
一般的实现代码class Component{public: //纯虚类 virtual void Operation() = 0;}; class ConcreteComponent : public Component{public: virtual void Operation() {转载 2008-11-05 17:29:00 · 657 阅读 · 0 评论 -
不同进程间的HOOK,用到共享数据段
代码如下 DLL: HHOOK g_hook=NULL; extern "C" _declspec(dllexport) LRESULT CALLBACK CallWndProc( int nCode, // hook code WPARAM wParam, // current-process flag LPARAM lParam // address of structure with mes转载 2008-11-10 09:47:00 · 1841 阅读 · 0 评论 -
#宏定义,来控制版本
需要实现如下的功能: //定义一个宏 #define VERSION 1000 要求得到如下的宏 #define VERSION_INT 1000 #define VERSION_STRING "1000" 如果我更改#define VERSION 1000为: #define VERSION 2000 则不改代码的情况下会得到 VERSION_INT为2000 VERSION_STRING为"2转载 2008-11-10 16:14:00 · 1350 阅读 · 0 评论 -
怎样检查内存泄露的位置
今天调试程序,发现有内存泄漏但是没有提示具体是哪一行,搞得我很头疼。结果在网上搜索了一些资料,经自己实践后整理如下: 第一种:通过"OutPut窗口"定位引发内存泄漏的代码(下面转,我写的没原文好,也懒得写)。 我们知道,MFC程序如果检测到存在内存泄漏,退出程序的时候会在调试窗口提醒内存泄漏。例如:class CMyApp : public CWinApp{pu转载 2008-11-11 20:53:00 · 7378 阅读 · 0 评论 -
预处理命令
我们可以在C源程序中插入传给编译程序的各中指令,这些指令被称为预处理器指令,它们扩充了程序设计的环境。现把常用的预处理命令总结如下:1. 预处理程序按照ANSI标准的定义,预处理程序应该处理以下指令:#if #ifdef #ifndef #else #elif#endif#define#undef#line#error#pragma#include显然,上述所有的12个预处理指令都以符号转载 2008-11-11 22:20:00 · 738 阅读 · 0 评论 -
User breakpoint called from code at 0x77fa018c解释
处理在NTDll中意外的用户断点很久没有写东西了,这次是为了完善很久很久以前写的一个培训ppt(VC的使用与调试技巧),才想起来写点东西的。下面的文章参考了http://www.debuginfo.com/tips/userbpntdll.html,但不是翻译,偶英语太烂了。我们在调试程序的过程中,有时会突然的显示一个对话框,上面显示这样一条信息:User breakpoint calle转载 2008-11-13 10:28:00 · 3311 阅读 · 0 评论 -
live555 windows下用vs2010编译
根据参考http://www.live555.com/liveMedia/#config-unix里的方法下载了live555的源代码live.2018.11.26版本。开始用visual studio 2010编译,用到了nmake调用.mak文件。期间碰到了许多问题,总结如下:1.安装windows SDK,我这边用了v7.1A的。C:\Program Files (x86)\Micr...原创 2018-12-02 22:24:54 · 480 阅读 · 0 评论