
VC编程
文章平均质量分 69
houffee
Need help!
展开
-
关于VC时间、日期函数
MFC提供了两个日期和时间类CTime和CTimeSpan,分别代表相对时间和绝对时间。CTime是基于格林威治平均时间(GMT)的,本地的时间由环境变量TZ决定。CTimeSpan代表了时间间隔。CTime类由下列成员函数:CTime()创建一个CTime对象。GetCurrentTime()由当前时间创建一个CTime对象。GetTime()由CTime对象返回一个time_t变量。GetY原创 2008-07-15 09:00:00 · 814 阅读 · 0 评论 -
关于如何编写动态链接库DLL中的导出类
要输出整个的类,对类使用_declspec(_dllexpot);要输出类的成员函数,则对该函数使用_declspec(_dllexport)。如: class AFX_EXT_CLASS CTextDoc : public CDocument { … } extern "C" AFX_EXT_API void原创 2008-11-19 10:37:00 · 3007 阅读 · 0 评论 -
VC实现程序开机自启动
很多监控软件要求软件能够在系统重新启动后不用用户去点击图标启动项目,而是直接能够启动运行,方法是写注册表Software//Microsoft//Windows//CurrentVersion//Run 。参考程序可以见下:(查找程序目录的执行文件,存在则进行添加注册表操作) //实用代码一int C***Dlg::CreateRun(void){//添加以下代码HKEY Re转载 2008-10-17 10:39:00 · 5113 阅读 · 0 评论 -
VC++ 异常处理
使用一种强制的机制保证一些致命错误能够被处理是一个明智的选择。比如说内存错,文件错等等。 在C++中引入了一种在C语言中不存在的特性,错误捕捉机制(try/catch),这是一种强制性的机制,如果程序中抛出的异常未被成功捕捉,该异常将一直会沿着函数调用的顺序上升,直到被捕捉到为止。而默认的main函数之外存在有异常捕捉代码,这段默认的异常捕捉代码将会终止程序并报告异常的发生。原创 2008-09-03 09:42:00 · 3114 阅读 · 0 评论 -
分割窗体 CSpiltterWnd加载控件的使用方法一
创建分割窗体:CSpiltterWnd m_cSpiltterWnd;cSpiltterWnd.CreateStatic(this, 1, 2);//单行双列型 //加入CtreeCtrlCtreeCtrl m_treeCtrl;m_treeCtrl.Create(dwStyle, CRect(), &m_cSpiltterWnd, m_cSpiltterWnd.IdFro原创 2008-08-06 10:41:00 · 671 阅读 · 0 评论 -
编写ActiveX控件(MFC)
1、使用向导生成ActiveX Project 2、添加自己的方法和消息影射到 XXXXCtrl.h文件中,结构是 DECLARE_DISPATCH_MAP() afx_msg void AboutBox(); afx_msg void MyMethod();原创 2008-07-24 11:46:00 · 722 阅读 · 0 评论 -
发布ActiveX(VS2005)
1:使用VS2005制作一个Setup wizard的项目进行打包成CAB文件 2:进入Visual Studio 2005 Command Prompt界面 3:使用makecert 创建证书文件 makecert -sk password -ss XX证书 -n CN="MFC 测试" -m 12 anson.cer转载 2008-07-24 11:45:00 · 1021 阅读 · 0 评论 -
DEBUG和RELEASE 版本差异及调试相关问题(VS - VC++)
I.内存分配问题 1.变量未初始化。下面的程序在debug中运行的很好。 thing * search(thing * something) BOOL found; for(int i = 0; i转载 2008-07-24 11:43:00 · 1726 阅读 · 0 评论 -
Windows 服务的Visual C++ 6.0写法
// ServiceTest.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endifCWinAp转载 2008-07-24 11:41:00 · 924 阅读 · 0 评论 -
怎么样使用VC的TRACE宏
TRACE宏对于VC下程序调试来说是很有用的东西,有着类似printf的功能;该宏仅仅在程序的DEBUG版本中出现,当RELEASE的时候该宏就完全消息了,从而帮助你调式也在RELEASE的时候减少代码量。使用非常简单,格式如下:TRACE("DDDDDDDDDDD");temp=123;TRACE("wewe%d",temp);分别在调试窗口显示:DDDDDDDDDDD原创 2008-07-22 21:16:00 · 771 阅读 · 0 评论 -
关于Debug和Release之本质区别的讨论
一、Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别转载 2008-07-14 16:24:00 · 392 阅读 · 0 评论 -
VC++下编译出极小的程序.
昨天做了个telnet后门程序玩, 既然是后门嘛,自然是越小越好.可是我的VC9编译一个HelloWorld都有50K+... 动态链接到MSVCRT90.dll倒是小下来了,但是得背上一个更变态的dll(600多k) 而这个msvcrt90.dll就是我的vista sp1也不是自带的.更不便于程序的部署. 最后自己去查了查资料终于编译出体积比较满意的exe,步骤如下: 1.扔掉CRT. CR转载 2008-07-16 15:29:00 · 628 阅读 · 1 评论 -
QueueUserAPC
QueueUserAPC QueueUserAPC The QueueUserAPCfunction adds a user-mode asynchronous procedure call QueueUserAPC函数把一个APC对象加入到指定线程的APC队列中。 (APC) object to the APC queue of转载 2012-06-27 09:40:09 · 1732 阅读 · 0 评论