随笔分类 -  C++

C++
摘要:SendMessage的基本结构如下:SendMessage( HWND hWnd, //消息传递的目标窗口或线程的句柄。 UINT Msg,//消息类别(这里可以是一些系统消息,也可以是自己定义,下文具体介绍,) WPARAM wParam, //参数1 (WPARAM 其实是与UINT是同种类型的,//在vc编译器中右键有个“转到WPARAM的定义”的选项可以查看。 LPARAM lParam); //参数2其中一些参数的由来如下://typedef unsigned int UINT;//typedef UINT WPARAM;//typedef LONG LPARAM;//typede 阅读全文
posted @ 2014-01-02 18:34 skykang 阅读(309) 评论(0) 推荐(0)
摘要:首先要搞清楚的是.h头文件中都是一些声明性的语句,干的是不分配内存的事,所以头文件中有对函数的声明,有defeinse语句,有没有实例化的结构体定义,但是没有对变量的定义(比如 int a),有的只是对外变量的声明(extern int a)。 对于一个文件中调用另一个文件的全局变量,因为全局变量一般定义在原文件.c中,我们不能用#include包含源文件而只能包含头文件,所以常用的方法是用extern int a来声明外部变量。 还有一种方法是可以是在a.c文件中定义了全局变量int global_num ,可以在a.h头文件中写extern int global_num 这样其他源文件可. 阅读全文
posted @ 2013-05-10 16:36 skykang 阅读(379) 评论(0) 推荐(0)
摘要:之前装了DDK准备学习内核的,装完后一直没有测试,今天写了个文件读写准备测试,发现编译不通,报出了“无法打开包括文件:“ntddk.h””。问了大牛以后得知是没有设置环境造成的。随即调查了环境的配置方法。顺便给出相关东西的下载地址。 首先安装DDK(当你没装)http://210.21.117.86/down/ocx/winxpddk.zip 装完后跑去http://ddkwizard.assarbad.net/ 下(可以直接点)ddkwizard_setup.exe ddkbuild_bat.zip ddkbuild_cmd.zip 然后把两个zip里的东西脱出来放到DDK的安装目录下... 阅读全文
posted @ 2013-01-29 17:17 skykang 阅读(1704) 评论(0) 推荐(0)
摘要:第一次使用VS2010,也是初学者开始编写VC++,程序首先学习编写DLL文件,编译完自己的DLL文件后,要在其它项目中使用,开始遇到很多错,但是在网上搜索了好久后,终于解决了问题。H文件目录:依次点击“项目——XX 属性——C/C++——常规”,在“附加包含目录”中加入H文件所在的文件夹LIB目录:依次点击“项目——XX 属性——链接器——常规”,在“附加库目录”中加入LIB所在目录还没完,在“链接器”中找到“输入”,在“附加依赖项”中加入abc.lib或用#pragma comment(lib,"abc.lib") 阅读全文
posted @ 2012-12-07 14:23 skykang 阅读(206) 评论(0) 推荐(0)
摘要:vc产生的dll,用RegDllView工具注册产生错误信息:"***.dll注册失败,错误码126,找不到指定的模板。"经过一番摸索,原来有一奇怪的问题,项目在debug模式下正常编译通过,在Release下却编译报错缺少一"***.lib",把lib文件附件上,Release下编辑通过,dll终于注册成功了. 阅读全文
posted @ 2012-09-17 20:23 skykang 阅读(418) 评论(0) 推荐(0)
摘要:1.unicode环境下字符转换问题代码:char szChar[20]; sprintf_s(szChar,"char is %d",wParam); MessageBox(hwnd,szChar,"char_test",0);报错:不能将参数 2 从“char [20]”转换为“LPCWSTR”解决办法:要么 char szChar[20]; sprintf_s(szChar,"char is %d",wParam); MessageBoxA(hwnd,szChar,"char_test",0); 要么 wch 阅读全文
posted @ 2011-04-01 18:07 skykang 阅读(3435) 评论(0) 推荐(0)
摘要:一、BSTR、LPSTR和LPWSTR 在Visual C++.NET的所有编程方式中,我们常常要用到这样的一些基本字符串类型,如BSTR、LPSTR和LPWSTR等。之所以出现类似上述的这些数据类型,是因为不同编程语言之间的数据交换以及对ANSI、Unicode和多字节字符集(MBCS)的支持。 那么什么是BSTR、LPSTR以及LPWSTR呢? BSTR(Basic STRing,Basic字符串)是一个OLECHAR*类型的Unicode字符串。它被描述成一个与自动化相兼容的类型。由于操作系统提供相应的API函数(如SysAllocString)来管理它以及一些默认的调度代码,因此BST 阅读全文
posted @ 2010-12-09 11:12 skykang 阅读(1018) 评论(0) 推荐(0)
摘要:1 vc的用处我感觉下面一些领域比较适合于用vc: 操作系统编程,game,图形设计,corba编程,com编程,网络编程。我谈谈我的体会。我现在在深圳的一家公司从事IP电话网关的开发。通过这个项目,我 才真正体会到VC有多么强大,上百个线程同时工作,数据库并发访问,而且全部软件基 于COM构造,这样高性能的大型软件,只有VC方显出其英雄本色!不过,在国内,有机会 接触这样的大型系统软件的不多。而在做大型系统软件时,对VC程序员的要求就不仅仅 是熟悉VC、MFC本身了,这只是基本的要求,最的挑战是你如何运用VC实现一些高级的功能特性。其实,VC做数据库也不是不合适,关键在于你要抛开所谓的例子程 阅读全文
posted @ 2010-12-08 14:09 skykang 阅读(1095) 评论(2) 推荐(0)