vc++笔记十一

一、LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

连接器LNK是通过调用cvtres.exe完毕文件向coff格式的转换的,所以出现这样的错误的原因就是cvtres.exe出现了问题。

在电脑里面搜索一下cvtres.exe,发现存在多个文件,使用最新的cvtres.exe替换老的文件就可以。替换之前记得备份一下,假设不正确,能够替换回来。

比如:我的电脑里面安装了vs2010,近期更新了系统。打了一些补丁。结果就出现这样的错误了。在电脑里面搜索发现

C:\Program Files\Microsoft Visual Studio 10.0\VC\bin

C:\Windows\winsxs\x86_netfx-cvtres_for_vc_and_vb_b03f5f7f11d50a3a_6.1.7600.16385_none_ba476986f05abc65

C:\Windows\Microsoft.NET\Framework\v4.0.30319

这三个路径里面都有cvtres.exe文件,于是我尝试使用第二个路径里面的文件替换第一个路径的文件。问题解决。

//////////////////////////////////////////////////////////

VS2010编译错误:fatal error C1189: #error : This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher

monkey monkey 2012-07-12 17:35:24

VS2010编译错误:fatal error C1189: #error : This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher

分类: VC 2010-08-13 16:09 3665人阅读 评论(0) 收藏 举报

以下是彻底解决方法:

在project的stdafx.h中加入(如有类似语句,需凝视掉)

#ifndef WINVER // Allow use of features specific to Windows 95 and Windows NT 4 or later.

#define WINVER 0x0501 // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.

#endif

#ifndef _WIN32_WINNT // Allow use of features specific to Windows NT 4 or later.

#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.

#endif

#ifndef _WIN32_WINDOWS // Allow use of features specific to Windows 98 or later.

#define _WIN32_WINDOWS 0x0501 // Change this to the appropriate value to target Windows Me or later.

#endif

#ifndef _WIN32_IE // Allow use of features specific to IE 4.0 or later.

#define _WIN32_IE 0x0601 // Change this to the appropriate value to target IE 5.0 or later.

#endif

//////////////////////////////////////////////////////////////////////////

BitBlt和StretchBlt的比較

他们的不同就是一个不能够随便改大小,一个大小随便变。

///////////////////////////////////////////////////////

在CMainFrame的OnCreate()中加入例如以下代码:

long Style;

//去掉标题栏及其它样式

SetWindowLong(this->m_hWnd,GWL_STYLE,0);

//去掉边框及其它样式

SetWindowLong(this->m_hWnd,GWL_EXSTYLE,0);

//取消菜单条

this->SetMenu(NULL);

在CView中的OnCreate()中也去掉边框

//去掉边框风格及其它样式

long Style;

SetWindowLong(this->m_hWnd,GWL_EXSTYLE,0);

方法二:使用CWnd成员函数ModifyStyle实现

//  隐藏TitleBar

ModifyStyle(WS_CAPTION,  0,  SWP_FRAMECHANGED);

//  显示TitleBar

ModifyStyle(0,  WS_CAPTION,  SWP_FRAMECHANGED);

以上代码,放置在CMainFrame的OnCreate函数的尾部就可以~~

///////////////////////////////////////////////////////

SendDlgItemMessage  函数功能:该函数把一个消息发送给指定的对话框中的控制。

  函数原型:LONG SendDlgItemMessage(

  HWND hDlg, // handle of dialog box

  int nIDDlgItem, // identifier of control

  UINT Msg, // message to send

  WPARAM wParam, // first message parameter

  LPARAM lParam // second message parameter

  );

  參数:

  hDlg:指定含有控制的对话框。

  nIDDigItem:指定接收消息的控制的标识符。

  Msg:指定将被发送的消息。

  wParam:指定消息特定的其它信息。

  lParam:指定消息特定的其它信息。

  返回值:返回值指定消息处理的结果,且依赖于发送的消息。

  备注:SendDlgItemMessage函数直到消息已经被处理时才返回。

  使用SendDlgItemMessage函数同从一个指定的控制中检索句柄和调用SendMessagge函数一样。

///////////////////////////////////////////////////////////////////////////////

RegisterWindowMessage函数定义一个新的窗体消息,保证该消息在系统范围内是唯一的。通常调用SendMessage或者PostMessage函数时,能够使用该函数返回的消息值。

时间: 2024-10-10 08:29:38

vc++笔记十一的相关文章

《Hibernate学习笔记十一》:树状结构设计

<Hibernate学习笔记十一>:树状结构设计 这是马士兵老师讲解Hibernate的一个作业题,树状结构设计,这是一个比较典型的例子,因此有必要写篇博文记录下. 树状结构的设计,它是在同一个类中使用了多对一(ManyToOne)和一对多(OneToMany). 在完成这个题目我们应该按照如下的步骤进行: 1.先思考数据库的模型应该是什么样的?? 数据库中的模型应该如下:即存在id p_id 2.思考面向对象的模型,及如何来进行映射??? 根据数据库中表的特点,对象应该有id name;由于

初探swift语言的学习笔记十一(performSelector)

作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/35842441 转载请注明出处 如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号fengsh998来支持我,谢谢! 在OC中使用好好的performSelector,但不知为什么在swift有意的被拿掉了.更有甚者连IMP, objc_msgSend也不能用了.虽然想不通为什么,但应该有他的道理.就不纠结了. 大家可能在OC中使用得更多的就是延时处理,及后台处

第十七篇:实例分析(4)--初探WDDM驱动学习笔记(十一)

感觉有必要把 KMDDOD_INITIALIZATION_DATA 中的这些函数指针的意思解释一下, 以便进一步的深入代码. DxgkDdiAddDevice 前面已经说过, 这个函数的主要内容是,将BASIC_DISPLAY_DRIVER实例指针存在context中, 以便后期使用, 支持多实例. DxgkDdiStartDevice 取得设备信息, 往注册表中加入内容, 从POST设备中获取FRAME BUFFER以及相关信息(DxgkCbAcquirePostDisplayOwnershi

VC++笔记十

VC2008 无法调试,无法断点,断点无效的最终解决方法 今天VC2008忽然又出现断点无效了,按上次博客说的格式化了源文件,也删了编译工程数据库文件,问题依就.经过测试找到了终解决方法 方法一: 其实出现这个问题常常出现在工程中某一个源文件中,多是文件内的一些不可视符出了问题,比较多的是由于制表符Tab(0x09)引起的 在无法点的源文件打开再把内容全选(Ctrl+A),然后在菜单 "编辑"-"高级"-"设置选定内容的格式".要是还是无效可以用

Linux System Programming 学习笔记(十一) 时间

1. 内核提供三种不同的方式来记录时间: Wall time (or real time):actual time and date in the real world Process time:the time that a process spends executing on a processor 包括用户时间user time 和 系统时间system time Monotonic time:use the system's uptime (time since boot) for t

Oracle学习笔记十一 游标

游标的简介 游标的概念 游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中的数据进行各种操作,然后将操作结果写回数据表中. 逐行处理查询结果,以编程的方式访问数据. 游标的定义 游标作为一种数据类型,首先必须进行定义,其语法如下: cursor 游标名 is select 语句; cursor是定义游标的关键词,select是建立游标的数据表查询命令. declare cursor c1

寒假阅读笔记十一

架构之美--最终用户应用架构(一) 如果现在让你去找工作,你觉得你有什么优势吗?对于"优势"这个词汇,想必大家都不陌生,可是低下头来想一想,竟然发现我们什么优势都没有,该如何面对未来的就业的竞争压力呢?今天,我阅读的是<架构之美>的第十一章,题目为GNU Emacs:滋长的特性是其优势.看到这个,我只想说,只要我们肯坚持不懈的努力学习,那么这就是我们的优势. 首先,先介绍一下GNU Emacs,GNU Emacs 是自由软件协会的旗舰产品,也是自由软件之父 Richard

Oracle基础笔记十一

第十一章 其他数据库对象 1.什么是序列? 序列:提供有规律的数值. 序列: 可供多个用户用来产生唯一数值的数据库对象 自动提供唯一的数值 共享对象 主要用于提供主键值 将序列值装入内存可以提高访问效率 1.2.定义序列 CREATE SEQUENCE 语句 CREATE SEQUENCE sequence [INCREMENT BY n]  --每次增长的数值 [START WITH n]    --从哪个值开始 [{MAXVALUE n | NOMAXVALUE}] [{MINVALUE n

【c++笔记十一】面向对象三大特征之《封装》与《继承》

2015年2月4日 晴 周三 今天立春,长沙终于见到了久违的太阳.心情好,复习一下知识点,就来说说面向对象的三大特征中的两点:封装和继承. ----------------------------------分割线------------------------------------- 一.封装 其实封装没办法具体的去讲,就像一种保密措施,在实践自己去体会. 该公开的数据,就用public权限:该隐藏的数据,就用private权限.那就看你在设计类的时候,想把什么公开给别人看,想把什么保护起来