摘要:error C2440: “static_cast”: 无法从“UINT (__thiscall CSizingControlBar::* )(CPoint)”转换为“LRESULT (__thiscall CWnd::* )(CPoint)” f:\tools\4bands ifx_xmm2130_ft\common\sizecbar.cpp 109CWnd类,afx_msg LRESULT OnNcHitTest(CPoint point);而在CSizingControlBar中是afx_msg UINT OnNcHitTest(CPoint point);只要将这些UINT替换为LRE
        阅读全文
        随笔分类 - Visual Studio
摘要:一、前期准备:1.安装VS20082.安装VM8.0,在安装过程中勾选安装Integrated Virtual Debugger(有的时候安装之后vs2008不一定会出现VMware的工具栏,这是需要重新安装VMware。如果一直出现vs打开时提示“加载失败,是否移除”,这时需要打上vs2008补丁sp1然后再次重新安装VMware)3. 创建一个windows操作系统的虚拟机4.在windows操作系统的虚拟机中安装VMTools二、配置将要调试的虚拟机:1. 虚拟机新建一个有管理员权限的帐号,帐号名必须与本机一样。必须设置密码,密码必须与本机同帐号的密码一样。(不然会一直在报 0x8000
        阅读全文
        
摘要:首先看一下xp风格与非xp风格: 非xp风格 xp风格------------------------------------------------------------------------------------------------------------有三种方法。法一(推荐):采用Unicode工程,在属性的manifest tool里设置,或者直接在stdafx.h里加上:#ifdef _UNICODE#if defined _M_IX86#pragma comment(linker,"/manifestdependency:/"type='wi
        阅读全文
        
摘要:这个是因为你的设置有问题。解决方法如下:解决方案一:项目->属性->链接器->常规 下面的“启用增量链接”,将“是(/INCREMENTAL)”改为“否(/INCREMENTAL:NO)”。不过这又引入了另外一个警 告:FormatCom.obj : warning LNK4075: 忽略“/EDITANDCONTINUE”(由于“/INCREMENTAL:NO”规范)选择项目,属性->配置属性 ->C/C++,修改“调试信息格式”为“程序数据库(/Zi)”即可。解决方案二:下载“VS90-KB948127.exe” 来解决问题vs2008 -fatal erro
        阅读全文
        
摘要:在Windows注册表操作的API中,如果参数有"__out_opt LPDWORD pdwType",那么"pdwType"则是保存的为键值的类型。注册表中键值类型的分类:ValueTypeREG_BINARYBinary data in any form.REG_DWORDA 32-bit number.REG_DWORD_LITTLE_ENDIANA 32-bit number in little-endian format.Windows is designed to run on little-endian computer architect
        阅读全文
        
摘要:同样是今天,在使用这个函数RegOpenKeyEx的时候,老是执行不成功,函数本身返回2,GetLastError返回0。在CSDN上查阅资料说是返回2的原因是注册表中对应路径不存在,可是我电脑中注册表那个键值明明存在的。就这样慢慢调试,换个键值查询,用VC6、VS2010(本来是用vs2008),可是在vc6下不管查询什麽简直都能成功,折腾了半天时间,最后还是不行。 最后在分析代码的时候,觉得代码有问题,于是终于发现了:我用的是TCHAR!!!而且函数我用的是RegOpenKeyExA!!!原因就在这里!!! 所以我觉得RegOpenKeyEx返回2的原因一是路径真的不存在,二是参数...
        阅读全文
        
摘要:今天在写一个测试程序的时候,使用SHGetFolderPath获取用户数据目录,在本机运行时能成功,但是放进虚拟机测试的却返回错误代码5,拒绝访问。 同样是win7 32位。本机的UAC是最低,测试机的UAC是默认的。当时稍微查阅资料大概说是权限问题,于是将测试机的UAC设置为最低,这时程序能正常运行,但是返回的路径却不是我要的“C:\Users\Admin\AppData\Roaming”,而是一个"c:\windows\"下面的路径,很是纳闷。 后来想到既然不能用api函数直接获取,那么可以从注册表中读取。相关注册表值见“HKEY_CURRENT_USER\Softwa
        阅读全文
        
摘要:在使用Windows程序的时候,相信没有用户喜欢看到程序突然崩溃的情形吧!为了避免程序崩溃,程序员在编写程序的时候最好在容易出错的地方使用异常处理机制来保证友好的用户体验。特别是编写C/C++代码的时候,崩溃是经常的事情! 今天一位同事给我说,编写C/C++代码崩溃的原因主要是因为内存操作违规。如果每次操作一块内存或指针之前都检查内存或指针是否有效,那么可以降低程序崩溃的次数。但是这会让程序员很厌烦的,哈哈。所以在适当的地方加上异常处理,即使崩溃也会让程序员更好的改善程序。当然,程序效率必然降低! 幸好C++规范中有异常处理机制: try catch 但是在Visual Studio...
        阅读全文
        
摘要:有三个API函数可以运行可执行文件WinExec、ShellExecute和CreateProcess。CreateProcess因为使用复杂,比较少用。 WinExec主要运行EXE文件。 ⑴ 函数原型:UINTWinExec(LPCSTRlpCmdLine,UINTuCmdShow); ⑵ 参数: lpCmdLine:指向一个空结束的字符串,串中包含将要执行的应用程序的命令行(文件名加上可选参数)。 uCmdShow:定义Windows应用程序的窗口如何显示,并为CreateProcess函数提供STARTUPINFO参数的wShowWindow成员的值。 ⑶ 返回值: ...
        阅读全文
        
摘要:本地时间(LocalTime)转UTC时间(Time_t格式)View Code #include <time.h>#include <stdio.h>#include <stdlib.h>#include <windows.h>long GetLongTimeByStrInC(char* strTime){ if(strTime == NULL) return 0; char years[5] ={""}, month[3] = {""}, day[3] = {""}, \ hour[
        阅读全文
        
摘要:刚接触到MFC编程的人往往会被MFC 向导生成的各种宏定义和预处理指令所吓倒,但是预处理和宏定义又是C语言的一个强大工具。使用它们可以进行简单的源代码控制,版本控制,预警或者完成一些特殊的功能。 一个经典的例子 使用预处理与宏定义最经典的例子莫过于加在一个头文件中以避免头文件被两次编译。试想这种的情况,有一个文件headerfile.h 它被包含在headerfile1.h中,同时在headerfile2.h 中也被包含了,现在有一个CPP文件,implement.cpp 包含了headerfile1.h 和headerfile2.h: #include “headerfile1.h” #in
        阅读全文
        
摘要:Visual Studio 2008版本 更新:2007 年 11 月 LINK 是将通用对象文件格式 (COFF) 对象文件和库链接起来以创建可执行 (.exe) 文件或动态链接库 (DLL) 的工具。 下表是 LINK.exe 选项的综合列表。本节还包含关于以下主题的信息: · 编译器控制的 LINK 选项 · LINK 输入文件 · LINK 输出 · 保留字 在命令行上指定的链接器选项不区...
        阅读全文
        
摘要:Visual c + + 和 Windows 在生成过程的速度邮件头提供了新的下列定义: VC_EXTRALEAN WIN32_LEAN_AND_MEAN 可以使用它们来减少了 Win32 头文件的大小。 VC_EXTRALEAN 和 WIN32_LEAN_AND_MEAN 用于排除 Windows 标头在很少使用的服务。在 MFC 中只能使用 VC_EXTRALEAN 项目,但 WIN32_LEAN_AND_MEAN 可用于在任何项目。 VC_EXTRALEAN 定义下列中 AFXV_W32.h: WIN32_EXTRA_LEAN NOSERVICE NOMCX...
        阅读全文
        
摘要:UUID的介绍:http://baike.baidu.com/view/1052579.htm GUID的介绍:http://baike.baidu.com/view/185358.htm #include <stdio.h>/*方式一需要的头文件和库*/#include <rpc.h>#pragma comment(lib, "rpcrt4.lib")int main(void){ /*方式一*/ UUID myUUID; UuidCreate(&myUUID); unsigned char* strUUID; UuidToStringA(
        阅读全文
        
摘要:症状当 C 运行时 (CRT) 库和 Microsoft 基础类 (MFC) 库的链接顺序有误时,可能会出现以下 LNK2005 错误之一: nafxcwd.lib...当 C 运行时 (CRT) 库和 Microsoft 基础类 (MFC) 库的链接顺序有误时,可能会出现以下 LNK2005 错误之一:nafxcwd.lib(afxmem.obj) :error LNK2005: "void * __cdecl operator new(unsigned int)"(??2@YAPAXI@Z) already defined in LIBCMTD.lib(new.obj)
        阅读全文
        
摘要:VC 项目配置基础(请点击打开)按类别列出的编译器选项Visual Studio 2010 其他版本 Visual Studio 2008 Visual Studio 2005下面是一个完整的编译器选项分类列表。有关按字母顺序排序的列表,请参见按字母顺序列出的编译器选项。优化选项用途/O1创建小代码/O2创建快速代码/Ob控制内联展开/Od禁用优化/Og使用全局优化/Oi生成内部函数/Os代码大小优先/Ot代码速度优先/Ox使用最大优化 (/Ob2gity /Gs)/Oy省略帧指针(仅限 x86)代码生成选项用途/arch使用 SSE 或 SSE2 指令生成代码(仅限 x86)/bigobj.
        阅读全文
        
摘要:GetLastInputInfo计时键盘、鼠标处于空闲状态的时间,不清楚计时其他电脑I/O设备的空闲状态不? 所以呢,这个函数使用方面很广,可以计时用户离开电脑之后的延展作用,比如屏保和当用户离开时软件自动锁定。我在网上找到一个源码,实现软件在用户未操作电脑到时后自动锁定,见下文: /************************************************************************//* 说明:调用函数GetLastInputInfo()以后, 结构成员lpi.dwTime 中的值并非上次输入事件发生以后的毫秒数。而是上次输入事件发生时的系...
        阅读全文
        
摘要:在VC 6中可以将一个编辑框的"Styles"中的"Multiline“和”Auto VScroll“勾上,然后编辑框里面的内容即可自动换行。 另外,CEdit 类的消息: #include <afxwin.h> // 头文件 构造函数CEdit构造一个CEdit控件对象Create创建一个Windows编辑控件,并将其与CEdit对象连接 属性CanUndo决定一个编辑控件操作是否能够被撤销GetLineCount获得多行编辑控件中的行数GetModify决定编辑控件的内容是否被修改SetModify为编辑控件设置或清除修改标记GetRect为编辑控
        阅读全文
        
摘要:程序自己删除自己的方法,基本都是借助第三方删除。要不然只有把自己添加到重启后删除,或者在退出之前将自己移动到垃圾箱去(使用MoveFileEx,特别注意第三个参数)。 下面介绍借助第三方删除自己,代码如下: View Code void DeleteSelfByCmd(){ char szCommandLine[MAX_PATH] = {0}; sprintf(szCommandLine, "/c ping 127.0.0.1 -n 1 && del /f/q \"%s\"", _pgmptr); // 将自己设置为快速退出 SetPri
        阅读全文
        
摘要:OutPutDebugString(TEXT("在调试器里输出的类容"));#define MAXDUGBUFF 20#define OutError(ErrorEvent) { \ wchar_t DebugChar[MAXDUGBUFF]; \ ZeroMemory(DebugChar, MAXDUGBUFF * sizeof(wchar_t)); \ wsprintfW(DebugChar, L"%s Error(%d) at line(%d)\n", ErrorEvent, GetLastError(), __LINE__); ...
        阅读全文
        
 
                    
                     
                    
                 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号