- 博客(36)
- 资源 (8)
- 收藏
- 关注
转载 获取Windwos的版本和名称
Windows API 中有两个函数可以得到系统版本信息:GetVersion和GetVersionEx。 GetVersion这个函数曾经困扰了很多程序员,其本来设计的是在DWORD返回值中用低位的那个字表示MS-DOS的版本号,高位的那个字表示Windows版本号。对于每个字来说,高位字节代表主要版本号,低位字节代表次要版本号。可是因为编写此函数的程序员犯了一个错误,使得此函数返
2011-10-24 16:16:19
730
转载 VC 鼠标和光标操作的API函数
<br />http://blog.163.com/blackout@126/blog/static/8119743120081125103640559/<br /> <br /> 我们在编制应用软件的过程中,经常需要对光标和鼠标操作,本人在文中介绍了Windows系统中有关实现对鼠标和光标进行操作的API函数,并给出了在Visual C6.0++中利用所介绍的API函数实现对鼠标和光标的操作的代码。<br /><br /> 一、隐藏和显示光标<br /><br /> 函数: int ShowCurso
2010-11-17 00:11:00
4643
原创 VC下获取各个驱动器路径,分类及其获取其信息的资料整理
1.获取所有的驱动器利用函数GetLogicalDriveStringsThe GetLogicalDriveStrings function fills a buffer with strings that specify valid drives in the system. DWORD GetLogicalDriveStrings( DWORD nBufferLength, //
2009-07-30 10:52:00
658
原创 关于结构体内存对齐
这里先引出几条VC下结构体对齐的原则:1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除;2) 结构体每个成员相对于结构体首地址的偏移量(offset)都是成员自身大小的整数倍,如有需要编译器会在成员之间加上填充字节(internal adding);3) 结构体的总大小为结构体最宽基本类型成员大小的整数倍,如有需要,编译器会在最末一个成员之后加上填充字节(trailing padd
2009-06-04 13:34:00
480
原创 C++虚表
在c++中为了支持面向对象多态特性,采用了函数虚表(virtual function table)来实现。用以下的例子来分析虚函数表的具体实现方法:#include using namespace std;class CBase{public: virtual void fun1(){ cout}virtual void fun2(){ cout}virtual ~CBase(){};//
2009-04-09 10:13:00
784
原创 程序打包制作.Net卸载程序
方法一:在打包项目中添加文件msiexec.exe(一般在c:/windows/system32(系统目录中)找到)。在文件系统视图中选择应用程序文件,在msiexec.exe上单击右键选择“创建快捷方式”,重命名快捷方式为“uninst”.更改此快捷方式Argmuments为“/x {产品ID}”,产品ID的值为打包项目的ProductCode属性值。方法二:先生成安装包,记
2009-04-09 09:58:00
497
转载 友元
友元函数和友元类采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型检查和安全性检查等都需要时间开销),但它破
2009-03-17 13:15:00
442
原创 在VS2005下使用Visual C++创建智能设备项目 “项目创建失败” 解决办法
转载于20090112 最近要做一个windows mobile的一个C++项目,打开 Visual Studio 2005 准备创建一个 VC++ 下的 Win32 智能设备项目,但是一直创建失败:向导出现并小闪了一下,然后消失,界面弹回原来的创建项目的对话框。状态栏提示“正在创建项目 智能设备项目创建失败。” 这几天试图自己寻找原因未果,都想趁此机会重装下系统算了,但今天幸好仔细搜寻了
2009-01-12 10:56:00
1082
原创 使用VC的DEBUG检查内存泄漏
C++内存分配与释放均由用户代码自行控制,灵活的机制有如潘多拉之盒,即让程序员有了更广的发挥空间,也产生了代代相传的内存泄漏问题。对于新手来说,最常犯的错误就是new 出一个对象而忘记释放,对于一般小应用程序来说,一点内存空间不算什么。但是当内存泄漏问题出现在需要24 小时运行的平台类程序上的时候,将会使系统可用内存飞速减少,最后耗尽系统资源,导致系统崩溃。所以学会如何防止并检查内存泄漏,是一
2008-10-16 13:59:00
1598
原创 CListCtrl图标设置
m_ctrlSearch.InsertColumn(0, "议表项目", LVCFMT_CENTER | LVCFMT_IMAGE, 65);m_pObj = pobj;m_nCtrlNumber = max;m_pHistoryView->InitSearchFlag(max);CDC *pDC = GetDC();CDC dcMem;m_il
2008-10-13 17:33:00
2331
1
原创 内存漏洞的检查
也许你已经知道,在C++和C 语言中指针问题也就是内存申请与释放是一个令人头疼的事情,假如你申请了内存,但没有释放,并且你的程序需要长时间地运行,那么,系统的资源将逐渐减少,当系统的资源全部被用完时,系统将会崩溃。所以在开发程序的过程中一定要保证资源的完全释放。下面我们来介绍内存漏洞的检查。也许你会问,系统是怎样支持内存漏洞的检查的?其实在你的Debug 版本中所有的有关内存分配的函数都是被重
2008-10-10 13:07:00
812
原创 国庆节
又一个国庆节到了,还带台着台风一起过来,回家和出游的计划可能得变个方式了,发现好久都没有再回写点东西了,快发霉了,住得地方没网络还真惨啊...
2008-09-28 13:52:00
500
原创 获取各个数量级系统时间
方案1:优点:能精确到毫秒级;缺点:使用了windows API #include #include int main( void ) { SYSTEMTIME sys; GetLocalTime( &sys ); printf( "%4d/%02d/%02d %02d:%02d:%02d.%03d 星期%1d/n" ,
2008-08-08 11:12:00
646
原创 mscomm的动态创建
使用微软自带的MsComm的动态创建(问题:在没有装VC的机器上,串口初始化失败.原因:?) 步聚: 1.在工程中引入MScomm控件,系统会默认添加mscomm.cpp,mscomm.h文件 2.自定义ID: #define ID_MSCOMM WM_USER+100 3.包含进COMM对象的头文件,并定义其对象 4.在头文件的消息映射中添加 //{{AFX_MSG(CSim
2008-07-22 07:29:00
1440
1
原创 条形码原理之UPC-A/E
Universal Product CodeThe Universal Product Code (UPC) is a barcode symbology (i.e., a specific type of barcode), that is widely used in the United States and Canada for tracking trade items in stor
2008-07-16 13:35:00
4159
原创 关机对话框及重启代码
关机对话框实现typedef int (CALLBACK *SHUTDOWNDLG)(int); //显示关机对话框函数的指针 HINSTANCE hInst = LoadLibrary("shell32.dll"); //装入shell32.dllSHUTDOWNDLG ShutDownDialog; //指向shell32.dll库中显示关机对话框函数的指针
2008-07-11 09:02:00
770
原创 124个VC常见问题整理
(1) 如何通过代码获得应用程序主窗口的 指针? 主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。应用实例: AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED) //使程序最大化.(2) 确定应用程序的路径 Use GetModuleFileName 获得应用程序的路径,然后去掉
2008-07-08 22:27:00
1012
原创 全局对象通信的缺点
全局对象的可视性使其成为程序各部分之间进行通信的一种方便的机制但函数之间依靠全局对象的通信有下列缺点 使用全局对象的函数依赖于全局对象的存在和类型这使得在不同上下文环境中重用该函数更加困难 如果程序必须被修改则全局依赖增加了引入错误的可能性而且既使只对局部做修改也要求程序员必须理解整个程序 如果全局对象得到一个不正确的值则必须查找整个程序以判断错误发生的位置也就是
2008-07-02 23:55:00
608
原创 获取内存信息
需要用到psapi.lib 并包含psapi.hPSAPI Functions The following are the PSAPI functions. EmptyWorkingSet EnumDeviceDrivers EnumProcessesEnumProcessModules GetDeviceDriverBaseNameGetD
2008-06-23 22:52:00
924
原创 沉重打击
一直以前以为自己的基础还不错,甚至引以为傲的,想不到这次却受到如此觉重的打击.很受伤,很伤心,便伤心的是竟然把多态都给忘记了,心底在骂自己真是不知所谓,但是也有点好的就是早看到这种情况,现在不想去想什么,潜心学习...期待突破,谢绝浮澡
2008-06-17 22:19:00
512
原创 条码打印机的接口类型
接口类型指的是指条码打印机与计算机之间采用的接口类型,通过这项指标也可以间接反映出条码打印机输出速度的快慢。目前市场上条码打印机产品的主要接口类型包括常见的并行接口和USB接口。USB接口依靠其支持热插拔和输出速度快的特性,在条码打印机接口类型中迅速崛起,因此目前市场主流的条码打印机有些型号则兼具并行与USB两种打印接口。1、并行接口 并行接口又简称为“并口”,是一种增强了的双向并行
2008-06-17 13:07:00
2021
原创 VSTS强制删除签出锁定项
项目组一哥们走的时候以独占方式迁出了文件,现在其他人都无法修改,管理员似乎也无法将文件解除。经过摸索,找到了一种暴力的方法——直接改数据库。虽然暴力,却能实实在在地解决这个问题。步骤:1、连接到TFS数据库服务器的tfsversioncontrol库;2、查tbl_workspace表,找出那哥们的工作目录,比如select * from tbl_workspacewhere
2008-06-16 09:04:00
3354
原创 shlwapi.h所包含的函数
1. 加入#include . 2. 在project(工程)->setting(设置)->link(连接)下objiect/library modules(对象/库模块)中加入shlwapi.lib.PathAddBackslash //路径后添加反斜杆 CString.GetBuffer(_MAX_PATH)PathAddExtension //添加扩展
2008-06-12 20:55:00
12116
1
原创 修改我的电脑注册到显示的信息
关于修改我的电脑注册到显示的信息HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/RegisteredOwner 个人名称 RegisteredOrganization 组织名称//subkey nameconst TCHAR Registered[] = _T("SOFTWARE//Micro
2008-06-12 20:44:00
4122
原创 VC++ 6.0实用技巧汇总
1.检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号)前面,键入快捷键“Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。 2:定位预处理指定,如何在源文件中定位光标到对称的#if, #endif ? 使用Ctrl+K快捷键。 3.格式化一段乱七八糟的源代码
2008-06-12 20:06:00
645
原创 最小二乘法的曲线拟合
最小二乘法的曲线拟合BOOL CDataDistillView::LeastDoubleMultiplication(LONG *pX, LONG *pY, long M, long N, double *result, double &warp){ //data -- X,Y两轴的坐标 //M -- 结果变量组数 //N -- 采样数目
2008-06-06 07:53:00
3393
3
原创 如何判断文件文件夹是否存在
PathFileExists 函数可以用来查看一个文件或文件夹是否存在。在使用这个函数时,要注意两点:1. 加入#include .2. 在project(工程)->setting(设置)->link(连接)下objiect/library modules(对象/库模块)中加入shlwapi.lib.使用例子:(1).判断文件CString strFile = "E://darcy
2008-06-03 17:39:00
2071
原创 CreateWindowEx
CreateWindowEx 函数功能:该函数创建一个具有扩展风格的重叠式窗口、弹出式窗口或子窗口,其他与 CreateWindow函数相同。关于创建窗口和其他参数的内容,请参看CreateWindowEx。函数原型:HWND CreateWindowEx(DWORD dwExStle,LPCTSTR IpClassName,LPCTSTR lpWindowName,DWORD
2008-05-30 14:50:00
769
原创 AFX_MANAGE_STATE(AfxGetStaticModuleState())
昨天(前天)在汶川发生特大地震,至目前为止已有上万人在此次灾难中葬身,心情很沉重,向死难者哀悼.好好努力为活着的自己AFX_MANAGE_STATE(AfxGetStaticModuleState());//用于模块切换时的状态保护,1.AfxGetStaticModuleState()指向当前模块状态;2.当前函数调用结束后原模块的状态自动被恢复;3.用于DLL中所调用MFC函数
2008-05-14 01:22:00
1778
1
原创 08年的五一节
又是一年的五一节到来了,也义味着08将过了一半,也可以利用这两三天的时候来回想自己前半年的得与失.其实得与失并不是最重要的,真正重要其实是这之间的过程.享受过程吸取经验还是最主要的.记得在电影"童梦奇缘"里冯小刚说过这么一句话"生命是一个过程,可悲的是它不能够重来,可喜的是它不需要重来",我在这里也再补充一句:生活给了我们一个去享受这个过程的机会.加油!2008剩下的日子里.
2008-05-02 18:12:00
509
原创 高质量C++编程笔记
又是半个月了,对于博客还没有添加进有什么心得的东西,常说温故而知新,今天就要用一个小时的时间里把 高质量C++编程重新看一编,把所有的规则都一一记下来。1.关于版权和版本的说明规则版权和版本的声明位于头文件和定义文件的开头,主要内容有:(1)版权信息。(2)文件名称,标识符,摘要。(3)当前版本号,作者/修改者,完成日期。(4)版本历史信息。/** Copyright (c) 2001
2008-03-18 23:09:00
491
原创 关于Setup Factory的两个问题
1.实在把子菜单文件夹嵌入至应用程序文件夹:在Setup Factory特定的文件中选择属性,在属性对话框的快捷方式选项中去掉全部的快捷方式,选择自定义在对应的编辑框中输入%StartProgramsFolder%//%ProductName%//YourOwnName并点击确定后生成的安装软件就会在应该程序的文件下建立一个以YourOwnName为名的子文件夹菜单。2.在使用Setup Fa
2008-03-03 22:08:00
1105
原创 正式开始写博
2008年2月25日,好脑子比不上烂笔头,准备开始正式写博,记录一下自己的脚步,写下每一次的心得,让复杂的事情简单做,让简单的事不再重复做!
2008-02-25 20:41:00
424
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人