VC
文章平均质量分 71
ljx0305
这个作者很懒,什么都没留下…
展开
-
让程序在崩溃时体面的退出
让程序在崩溃时体面的退出之SEH SEH的全称是Structured Exception Handling,是Windows操作系统提供的一种异常处理方式。SEH是属于操作系统的特性,不为特定语言设计,从它的名字就能看出它是一种结构化的异常处理方式。SEH包括了2个部分:终止处理__try/__finally和异常处理__try/__except,下面分别进行介绍。转载 2014-04-24 10:31:08 · 4200 阅读 · 0 评论 -
WinAPI: SetWindowsHookEx - 设置钩
SetWindowsHookEx( idHook: Integer; {钩子类型} lpfn: TFNHookProc; {函数指针} hmod: HINST; {包含钩子函数的模块(EXE、DLL)句柄; 一般是 HInstance; 如果是当前线程这里可以是 0} dwThreadId: DWORD {关联的线程; 可用 GetCurrentThreadId 获取当转载 2010-03-05 17:40:00 · 695 阅读 · 0 评论 -
深入浅出ShellExecute
Q: 如何打开一个应用程序? ShellExecute(this->m_hWnd,"open","calc.exe","","", SW_SHOW );或 ShellExecute(this->m_hWnd,"open","notepad.exe", "c://MyLog.log","",SW_SHOW );正如您所看到的,我并没有传递程序的完整路径。Q: 如何打开一个同转载 2009-12-25 16:44:00 · 867 阅读 · 0 评论 -
ShellExecute的妙用
ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。 有几个API函数都可以实现这些功能,但是在大多数情况下ShellExecute是更多的被使用的,同时它并不是太复杂。下面举例说明它的用法。开始一个新的应用程序 ShellExecute(Handle, open, PChar(c:/test转载 2009-12-25 16:43:00 · 991 阅读 · 0 评论 -
R6034 又来了.
<a class="l" onmousedown="function onmousedown(){return clk(0,,,res,12,)}" href="http://social.msdn.microsoft.com/forums/en-US/vcgeneral/thread/9fbc9292-11b8-4ee4-94a4-5223546df280" ta原创 2009-12-21 22:04:00 · 3041 阅读 · 2 评论 -
链接警告 LNK4098
链接警告 LNK4098defaultlib "library" conflicts with use of other libs; use /NODEFAULTLIB:library你试图链接相互不兼容的库。重要提示 目前运行时库包含预编译指令来阻止混合不同类型库的链接。如果你试图在同一个程序中使用不同类型的或者调试/非调试版本的运行时库,你将看到这个警告。举个例子,如果你编译一个文转载 2009-12-21 10:07:00 · 914 阅读 · 0 评论 -
处理WM_NCPAINT消息
处理WM_NCPAINT消息 处理WM_NCPAINT消息可以实现自绘窗口边框和标题栏。 手头有个窗口需要自绘边框,于是处理了WM_NCPAINT消息,结果程序初运行时可以正常绘制,一旦最小化或者调整窗口位置后就看不到自绘的边框了。找了半天发现犯了个愚蠢的错误。在获取窗口矩形后未做处理便开始了绘图操作,现在加上平移操作,使要绘制的矩形左上角坐标归零后一切正常。 窗口包含转载 2009-11-27 15:34:00 · 4890 阅读 · 1 评论 -
链接警告 LNK4098
defaultlib "library" conflicts with use of other libs; use /NODEFAULTLIB:library你试图链接相互不兼容的库。重要提示 目前运行时库包含预编译指令来阻止混合不同类型库的链接。如果你试图在同一个程序中使用不同类型的或者调试/非调试版本的运行时库,你将看到这个警告。举个例子,如果你编译一个文件使用某个类型的运行时库转载 2010-01-21 09:35:00 · 1192 阅读 · 0 评论 -
功能强大的vc6调试器
功能强大的vc6调试器作者:yy2better 要成为一位优秀的软件工程师,调试能力必不可缺。本文将较详细介绍VC6调试器的主要用法。 windows平台的调试器主要分为两大类: 1 用户模式(user-mode)调试器:它们都基于win32 Debugging API,有使用方便的界面,主要用于调试用户模式下的应用程序。这类调试器包括Visual C++调试器、WinDBG、Bou转载 2010-01-18 09:20:00 · 694 阅读 · 0 评论 -
overlapped IO 网摘
http://dev.csdn.net/article/74/74807.shtmOverlapped模型与CompletionPort模型,摘自《Visual C++网络游戏建模与实现》(苏羽、王媛媛编著) Win32重叠I/O(Overloapped I/O)机制允许发起一个操作,然后在操作完成之后接受到信息。对于那种需要很长时间才能完成的操作来说,重叠I/O机制尤其有用,因为发起转载 2010-01-18 23:02:00 · 989 阅读 · 0 评论 -
完成端口(一个小例子,供学习用!)
完成端口一、什么是完成端口从本质上讲,完成端口是一种异步I/O技术,它提供一个内核对象,可以关联多个I/O设备,同时关联一个线程池,线程池中的线程通常处于睡眠状态,当有I/O出现时,完成端口唤醒等待线程队列中的线程进行处理。完成端口有着良好的伸缩性灵活性以及较高的效率,一般用来创建大型的服务器。我们知道,一个服务器应用程序结构可以分为串行模式和并发模式。在串行模式中,一次只能处理一个请转载 2010-01-18 23:05:00 · 1953 阅读 · 0 评论 -
WINDOWS数据类型
WINDOWS数据类型 =========================================================== 作者: youhello(http://youhello.itpub.net)发表于: 2007.11.09 16:10分类: 程序开发 出处: http://youhello.itpub.net/post/4630/412222---------转载 2009-11-17 22:29:00 · 632 阅读 · 0 评论 -
SendMessage函数完全使用手册
SendMessage函数完全使用手册 =========================================================== 作者: youhello(http://youhello.itpub.net)发表于: 2007.11.09 15:28分类: 程序开发 出处: http://youhello.itpub.net/post/4630/4122转载 2009-11-17 22:21:00 · 500 阅读 · 0 评论 -
托盘编程(出处:编程爱好者网站)
托盘编程(出处:编程爱好者网站) =========================================================== 作者: youhello(http://youhello.itpub.net)发表于: 2007.12.07 22:47分类: 程序开发 出处: http://youhello.itpub.net/post/4630/427745-转载 2009-11-17 22:17:00 · 548 阅读 · 0 评论 -
Window 消息大全使用详解
Window 消息大全使用详解 =========================================================== 作者: youhello(http://youhello.itpub.net)发表于: 2007.11.09 15:34分类: 程序开发 出处: http://youhello.itpub.net/post/4630/412211--原创 2009-11-17 22:23:00 · 555 阅读 · 0 评论 -
利用钩子函数来捕捉键盘响应的windows应用程序
利用钩子函数来捕捉键盘响应的windows应用程序 =========================================================== 作者: youhello(http://youhello.itpub.net)发表于: 2007.11.20 16:54分类: 程序开发 出处: http://youhello.itpub.net/post/463转载 2009-11-17 22:15:00 · 836 阅读 · 0 评论 -
Dumpin的用法
可以用DUMPBIN.EXE来得到某个DLL中所输出的符号的清单。如下面的命令:dumpbin -exports Cmpnt1.dll如:C:/WINDOWS/system32>dumpbin -exports msgsvc.dllMicrosoft (R) COFF Binary File Dumper Version 6.00.8447Copyright (C) Microsoft Cor转载 2010-01-14 23:02:00 · 3487 阅读 · 0 评论 -
SendMessage函数完全使用手册
SendMessage函数完全使用手册首先 我们了解一下Windows的消息机制。Windows是一个消息驱动式系统,Windows消息提供应用程序与应用程序之间,应用程序与Windows系统之间进行通信的手段。举个例子,打开记事本程序,该程序有一个 “文件“菜单。 那么,在运行该程序的时候,如果用户单击“文件菜单“里的“新建“命令, 这个动作将被Windows所捕捉,Windows经过分析得知转载 2009-11-17 21:37:00 · 632 阅读 · 0 评论 -
Serializable 的必要条件
Serializable 的必要条件欲让一个对象有Serialize 能力,它必须衍生自一个Serializable 类别。一个类别意欲成Serializable必须有下列五大条件;至于其原因,前面的讨论已经全部交待过了。1. 从CObject 衍生下来。如此一来可保有RTTI、Dynamic Creation 等机能。2. 类别的声明部份必须有DECLARE_SERIAL 宏。此宏需要一个参数:原创 2010-03-11 15:47:00 · 788 阅读 · 0 评论 -
MDI命令消息的流浪过程
以下我举一个具体例子。假设命令消息从Scribble 的【Edit/Clear All】发出,其处理常式位在CScribbleDoc,下面是这个命令消息的流浪过程: 1. MDI 主窗口( CMDIFrameWnd) 收到命令消息WM_COMMAND, 其ID 为ID_EDIT_CLEAR_ALL。2. MDI 主窗口把命令消息交给目前作用中的MDI 子窗口(CMDIChildWnd)。3原创 2010-03-17 14:50:00 · 826 阅读 · 1 评论 -
线程函数的设计以及MsgWaitForMultipleObjects函数的使用要点
使用多线程技术可以显著地提高程序性能,本文就讲讲在程序中如何使用工作线程,以及工作线程与主线程通讯的问题。 一 创建线程 使用MFC提供的全局函数AfxBeginThread()即可创建一个工作线程。线程函数的标准形式为 UINT MyFunProc(LPVOID );此函数既可以是全局函数,也可以是类的静态成员函数。之所以必须是静态成员函数,是由于类的非静态成员函数转载 2010-01-11 22:28:00 · 797 阅读 · 2 评论 -
用 VC++建立 Windows 服务程序
本文主要介绍了 OpenSCManager、CreateService、OpenService、ControlService、DeleteService、RegisterServiceCtrlHandler、SetServiceStatus、StartServiceCtrlDispatcher等操作服务程序的主要几个API的用法,具体的函数参数大家可以查阅MSDN。为什么要使用服务应该程序转载 2013-01-08 11:36:09 · 591 阅读 · 0 评论 -
用 C 语言编写 Windows 服务程序的五个步骤
Windows 服务被设计用于需要在后台运行的应用程序以及实现没有用户交互的任务。为了学习这种控制台应用程序的基础知识,C(不是C++)是最佳选择。本文将建立并实现一个简单的服务程序,其功能是查询系统中可用物理内存数量,然后将结果写入一个文本文件。最后,你可以用所学知识编写自己的 Windows 服务。当初我写第一个 NT 服务时,我到 MSDN 上找例子。在那里我找到了一篇 Nigel Th转载 2012-12-31 10:06:40 · 704 阅读 · 0 评论 -
微软ping程序源代码完整版
微软ping程序源代码完整版编写自己的一个ping程序,可以说是许多人迈出网络编程的第一步吧!!这个ping程序的源代码经过我的修改和调试,基本上可以取代windows中自带的ping程序. 各个模块后都有我的详细注释和修改日志,希望能够对大家的学习/* 本程序的主要源代码来自MSDN网站, 笔者只是做了一些改进和注释! 另外需要注意的是在Build之前,必须加入ws2_32转载 2012-12-06 14:17:26 · 919 阅读 · 0 评论 -
windows中的进程间同步
今天,翻开《MFCwindows程序设计》,耐心看完了这一章,所以写点东西,以备后面使用。 多线程的同步:1. 临界区 只能同步同一个进程的线程之间的同步,因为临界区不能跨越进程的边界工作。也是因为临界区没有name,所以不能跨进程使用。 访问临界区之前进行锁定,访问后进行解锁。如果进程B访问进程A锁定的临界区,那么进程B会被阻塞,直到线转载 2012-11-22 17:17:27 · 4883 阅读 · 0 评论 -
共享Windows下C++库之内存池篇
共享Windows下C++库之内存池篇转载 2010-08-23 16:49:00 · 1134 阅读 · 0 评论 -
VC++6.0如何设置使其支持Unicode编程
VC++6.0如何设置使其支持Unicode编程转载 2010-06-23 16:18:00 · 4252 阅读 · 2 评论 -
[转] MFC CListCtrl 使用介绍
MFC CListCtrl 使用介绍转载 2010-08-12 16:24:00 · 807 阅读 · 0 评论 -
CListCtrl使用详解
CListCtrl使用详解转载 2010-08-12 16:45:00 · 1077 阅读 · 0 评论 -
VC中Tooltip的实现
VC中Tooltip的实现转载 2010-08-12 16:27:00 · 3747 阅读 · 0 评论 -
LocalAlloc,VirtualAlloc,malloc,new的异同
1. 首先我们来看HeapAlloc:MSDN上的解释为:HeapALloc是从堆上分配一块内存,且分配的内存是不可移动的(即如果没有连续的空间能满足分配的大小,程序不能将其他零散的 空间利用起来,从而导致分配失败),该分配方法是从一指定地址开始分配,而不像GloabalAlloc是从全局堆上分配,这个有可能是全局,也有可能是 局部。函数原型为:LPVOIDHeapAlloc( HANDLE转载 2010-05-18 14:57:00 · 644 阅读 · 0 评论 -
全屏显示视图的代码
开启全屏显示的代码: <a style="COLOR: #666666" onclick="function onclick(){dp.sh.Toolbar.Command(ViewSource,this);return false;}" href="http://vcer.net/1076417661406.html">查看源代码<a style="COLO转载 2010-05-11 17:23:00 · 1135 阅读 · 0 评论 -
终于搞懂了,预编译头文件(precompiled header)
来源:VCer.net 文章地址:http://vcer.net/1047209431368.html预编译头文件今天在改一个很大的程序,慢慢看,慢慢改。突然发现一个.c文件,里面什么也没有, 就几个头文件,我一看,我靠,这不是把简单的问题搞复杂了吗,随手删掉那个c文件。 结果不能编译了,我靠: fatal error C1083: Cannot open p转载 2010-05-11 17:08:00 · 773 阅读 · 0 评论 -
LBN_开头。LB_开头。API常数用途介绍
LBN_开头。LB_开头。API常数用途介绍转载 2010-06-30 16:50:00 · 3776 阅读 · 0 评论 -
Receiving and Dispatching Messages
Receiving and Dispatching Messages 包含各控件消息说明转载 2010-06-30 16:47:00 · 894 阅读 · 0 评论 -
VC中基于 Windows 的精确定时
VC中基于 Windows 的精确定时中国科学院光电技术研究所 游志宇示例工程下载 在工业生产控制系统中,有许多需要定时完成的操作,如定时显示当前时间,定时刷新屏幕上的进度条,上位 机定时向下位机发送命令和传送数据等。特别是在对控制性能要求较高的实时控制系统和数据采集系统中,就更需要精确定时操作。 众所周知,Windows 是基于消息机制的系统,任何事件的执行都是通过发送和接收消息来完成的转载 2010-04-16 13:37:00 · 544 阅读 · 0 评论 -
使用DUMPBIN命令
在使用VC时,可以用DUMPBIN。EXE来得到某个DLL中所输出的符号的清单。如下面的命令:dumpbin -exports Cmpnt1.dll如:C:/WINDOWS/system32>dumpbin -exports msgsvc.dllMicrosoft (R) COFF Binary File Dumper Version 6.00.8447Copyright (C) Micros转载 2010-01-14 22:20:00 · 700 阅读 · 0 评论 -
用匿名联合来节省空间
调用上更方便 不用定义联合变量就可以直接使用C++支持匿名联合,即:定义一个没有确定类型的无名类。这种特殊的联合只能包含非static数据成员;也不能定义构造函数、析构函数、或者其它什么成员函数。当在一个命名空间中声明匿名联合时(例如:在全局空间中),它就被声明为static类型。下面是匿名联合的形式:CODEunion //没有名字{//…member};//没有实例匿名联合转载 2010-01-13 23:12:00 · 1020 阅读 · 0 评论 -
滚动条移动是否改变股备坐标
1.滚动条移动是视口移动了.变化的是视口的坐标原点(即视口矩形的中心点)相当于SetViewportOrg(10,0)函数的功能.2.绘图中坐标涉汲几个概念,一看你的问题,你就没太明白.要加分给我呀,我送你我的心得:1.逻辑环境(画布)、窗口、设备环境、视口(设备环境大中的一部分)、坐标系、坐标转换(映像)。逻辑环境:位置在想象中的并不存在;使用逻辑坐标(映像模式全是指逻辑坐标)坐标Y轴方向由设转载 2009-11-10 23:07:00 · 860 阅读 · 0 评论 -
CDC类中,常用的一些成员函数
CDC CObject └CDC CDC类定义的是设备上下文对象的类。 CDC对象提供处理显示器或打印机等设备上下文的成员函数,以及处理与窗口客户区对应的显示上下文的成员。 通过CDC对象的成员函数进行所有的绘图。 类对设备上下文操作提供了成员函数,处理绘图工具。安全型图形设备接口(GDI)对象收集,以及处理颜色和调色板。 它还为获取和设置绘图属性、映射,处理视点、窗口扩转载 2009-11-01 22:03:00 · 1874 阅读 · 0 评论