C++/VC
文章平均质量分 61
wangweixing2000
陕西人,98年第一次接触电脑,计算机专业出身,99年开始我的程序人生,誓,做一名程序员!
03年毕业后进入西安三石软件搞3DGIS开发,从此泡在csdn结交了不少热爱编程的朋友;
04年开通了我的CSDN的blog,一发不可收拾;
05年进入GrapeCity,开始.net的学习;
06经csdn朋友介绍加入了阿里
展开
-
一些网络编程中api函数
在网络存在各种不同的机器,这些机器表示的字节顺序是不同的,i386和alpha就是相反的,所以Winsock提供了一些api来转换。字节转换函数u_long htonl( u_long hostlong); u_short htons( u_short hostshort);u_long ntohl(u_long netlong); u_short ntohs( u_原创 2005-06-24 11:13:00 · 1150 阅读 · 0 评论 -
SQLite3把数据库文件放到有中文的目录下时就出问题了,问题在哪里?这里code告诉你!
前几天给程序加上了SQLite3数据库的支持,可是发现当把数据库文件放到有中文的目录下时就出问题了!我前一阵写过SQLite我选择我喜欢中介绍过,默认的接口的编码方式是UTF8,所以问题就在这里!下面是我写的code,该文章版权归本人所有,代码大家可以随意使用! char szFileNameUtf8[MAX_PATH*4]; _bstr_t bstrFileName =原创 2007-09-04 17:55:00 · 2004 阅读 · 1 评论 -
在vista下,如何判断某个进程的完整性等级?
在vista下,如何判断某个进程的完整性等级?如果你还对什么是完整性等级不了解的话可以去看看我以前的一篇文章:浅析vista下的ie7保护模式下面是一个api,void ShowProcessIntegrityLevel(){ HANDLE hToken; HANDLE hProcess; DWORD dwLengthNeeded; DWORD dwError = ERROR_SUCCES原创 2007-09-04 18:11:00 · 1747 阅读 · 0 评论 -
如何使用微软的SAPI实现发音功能?
微软的SAPI现在最新到好像到了5.3在vista下的版本,该代码使用的是SAPI5.1,你可以从微软下载Download the Microsoft Speech SDK 5.1 package now. (http://download.microsoft.com/download/speechSDK/SDK/5.1/WXP/EN-US/SpeechSDK51.exe) 有关如何下载 Micr原创 2007-09-06 11:19:00 · 3335 阅读 · 4 评论 -
今天发现使用了很久的SQLite3原来忘记释放返回错误信息的buffer了!汗!
今天对程序进程内存泄漏检查发现: Detected memory leaks! Dumping objects -> {814} normal block at 0x0370AFD0, 40 bytes long. Data: 74 61 62 6C 65 20 54 61 62 6C 65 5F 53 74 72 61 Object dump complete. 如果你写的程序原创 2007-09-12 14:58:00 · 5516 阅读 · 2 评论 -
转一篇关于字符集编码的文章,写得不错!
这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题: 问题一: 使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Windows是怎样识转载 2007-10-18 18:15:00 · 1054 阅读 · 0 评论 -
今天为了解决编码的问题,整理了一些代码放到这里!
我在开放中经常会遇到编码的问题,今天我碰到的就是在英文操作系统下显示乱码的问题,让我头疼了大半天,我在这里整理出来这些代码,希望对你有用,哈哈!上一篇我转了一篇编码的基础知识有兴趣可以看看!判断是否是GB2132: int nWSize = MultiByteToWideChar(936,MB_ERR_INVALID_CHARS,strInfo,-1,NULL,0); int er原创 2007-10-18 18:30:00 · 1446 阅读 · 0 评论 -
MFC新版出来了,有不少好东西哦!方便了,哈哈!
微软好多年都没有更新MFC了,2008/1/7号发的这一版给我vc的程序员带来了不少好东西,界面和控件都提升了一个档次,office能有的界面我们用新的MFC也很容易办到,有兴趣的朋友可以去看看!可以直接去ms的网站去看看,这里 我们期待已久的东东这里全都有了,最爽的是有了正则表达式了!The Visual C++ 2008 Feature Pack extends the VC++ Librar原创 2008-01-27 10:59:00 · 1589 阅读 · 0 评论 -
WTL也发布了最新版,提供了一些vista界面的模板,对c++程序员有一个好消息!
负责 Windows® Template Library (WTL) 的开发人员最近发布了最新版本,这个模板库非常优秀,完全支持随 Windows Vista® 引入的几乎所有新用户界面功能和增强功能。本月,我将重点介绍此最新版本中的一些新功能。如果您尚不熟悉 WTL 以及它与 Visual C++® 开发领域之间的适应情况,我在开头将简单地加以介绍。 为了能够轻松创建 C转载 2008-01-30 13:12:00 · 2638 阅读 · 3 评论 -
Dll分配的内存块,应用程序释放,结果报异常
用GlobalAlloc()代替new, 用GlobalFree() 代替delete就不会出错了 其实还有一个办法,就是把dll的Settings的C/C++选项卡的Code Generation的Use Run-time liberary改成Debug Multithreaded DLL,在Release版本中改成Multithreaded DLL,就可以直接使用new和delete了,原创 2008-03-10 18:32:00 · 1091 阅读 · 2 评论 -
VC窗口入门常遇到的问题
1. 如何改变窗口的图标? 向窗口发送 WM_SECTION消息。 Example: HICON hIcon=AfxGetApp() ->LoadIcon(IDI_ICON); ASSERT(hIcon); AfxGetMainWnd() ->SendMessage(WM_SECTION,TRUE,(LPARAM) hIcon); 2. 如何改变转载 2008-03-10 18:39:00 · 897 阅读 · 0 评论 -
Resource Compiler Error RC2170 如何解决?
现在为了让程序兼容vista,我们需要给程序加上一个manifest文件,可是有时候vc6它就会弹出Resource Compiler Error RC2170 的错误,可能是vc6一个bug,我个人对vc6还是很喜欢的,不过经常会有编译死掉或出错的问题,:)当我编译我的项目然后好好的提示下面的错误:Resource Compiler Error RC2170 :CREATEPROCESS_MA原创 2008-03-11 10:07:00 · 4062 阅读 · 0 评论 -
关于idl文件的settings配置信息的问题
今天碰到了编译一个com组件项目,竟然找不到idl编译的.h头文件,但是release版可以编过,我就奇了怪了,看了一下idl的配置文件,我汗那,怎么能这样呢?作为开发者不仅仅要保证release版本可以编译通过,debug版一样重要!!!!!该项目是通过atl的向导创建的一个com组件项目,项目中有两处include了idl文件编译生成的.h头文件,debug版死活编译不过,我看来一下idl的s原创 2008-03-11 11:24:00 · 1150 阅读 · 0 评论 -
VC下使用stl如何摆脱MSVCP60.dll?
这是一个困扰我们很久的问题。一直以来我受到了蒙骗,以为stl作为一个模版库,所有的类和函数都是inline的,使用stl编写的程序 不需要额外的依赖。并由此更偏爱用string而不喜欢CString,很明显,仅仅使用了一个字符串功能,就要给我的程序搭上一个近1M的 mfc42.dll(使用静态链接MFC也郁闷:明明没写几行代码,编译出来的程序咋就那么大呢?)后来慢慢的发现,用string还不如用转载 2008-03-25 13:42:00 · 1028 阅读 · 2 评论 -
未公开API函数揭秘——通用对话框
COMDLG32.DLL 为我们提供了一些很有用的对话框,但是仍然有部分我们可能会用到的系统对话框它却没有提供。如果试图复制这些系统对话框将是一件麻烦的苦差事。幸好 shell32.dll为我们提供了这些对话框,本文将带你去发掘一些未公开的API函数,以实现这些对话框。 在使用未公开的API函数之前,你必须知道声明未公开的API函数与声明那些公开的API函数略有不同,那就是,你必须用到未公开转载 2008-03-30 21:50:00 · 930 阅读 · 0 评论 -
如何判断一个字符串中含有中文?
在以前的项目中,我就遇到这样一个问题,找遍了api也没有我需要的,所以只能自己写了一个,希望对大家有用!如果哪里有问题的请各位指出来!// 判断是否有中文字符 [1/16/2007 weixing.wang]BOOL HasChineseChar(const CString &destStr){ BOOL bHasChinsesChar = FALSE; int nLen = des原创 2007-09-04 10:20:00 · 4589 阅读 · 0 评论 -
在Vista下UAC和IE7保护模式出现的背景
在Vista下UAC和IE7保护模式出现的背景原创 2007-09-03 15:28:00 · 1331 阅读 · 0 评论 -
Vista下的UAC是什么?
Vista下的UAC是什么?原创 2007-09-03 15:13:00 · 2770 阅读 · 0 评论 -
windows网络编程Winsock(二)一个简单的阻塞服务器
下面是一个简单阻塞模式的服务器,是一个单对单的服务器如果你想实现多客户端的服务器那就要用到其他的i/o模型了以后再说了!#include #include #include #pragma comment(lib,"libws2_32.lib")//缓冲区大小#define DATA_BUFSIZE 4096using namespace std;const unsigned int nPort原创 2005-06-24 16:36:00 · 1405 阅读 · 0 评论 -
Window网络编程之Winsock(一)起步
Window网络编程之Winsock(一)Winsock的头文件可库Winsock有两个主要版本,即Winsock 1和Winsock 2,两者都能在除了Windows CE外(Winsock CE 只支持Winsock 1)的所有Window平台上运行。开发Window网络程序时,把WINSOCK2。H包含到应用程序中,对应的连接库是WS2_32.lib库。代码如下:#include #prag原创 2005-06-24 10:46:00 · 1772 阅读 · 2 评论 -
理解tcp的三次握手
TCP的结构在中定义为: struct tcphdr { u_int16_t source; //发送TCP数据的源端口u_int16_t dest; //发送TCP数据的目标端口u_int32_t seq; //标识该TCP所包含的数据字节的开始序列号u_int32_t ack_seq; //确认序列号表示接受方下次需要的序列号#if __BYTE_ORDER原创 2005-06-24 14:52:00 · 2427 阅读 · 0 评论 -
windows网络编程之Winsock(三)非阻塞select模式服务器
// SelectModeWinSock.cpp : 定义控制台应用程序的入口点。///************************************ 作者: wangweixing2000 Revision By: 0.01 Revised on 2005-6-29 11:52:03 Comments: SelectModeWinSock 该程序中存在bug,没有处理多线程数据访问的原创 2005-06-29 12:02:00 · 3235 阅读 · 0 评论 -
何时用内联函数?
1、小型方法,如私有数据成员的存取2、返回对象的状态3、小函数,通常不超过三行的4、不断调用的小型函数,如在时间关键的渲染循环中宏和内联的比较:eg:#define max(a,b) ((a) > (b) ? (a) : (b))这样调用max(++x,y);如果x=5,y=3,结果不是6而是7。原因在于宏直接把表达式传递给了这行代码(++x) > (y) ? (++x) : (y);++x计算了原创 2005-08-01 09:48:00 · 1641 阅读 · 1 评论 -
#pragma 预处理指令详解(转自Roy的blog)
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pragma Para 其中Para 为参数,下面来看一些常用的参数。原创 2005-08-04 08:53:00 · 1006 阅读 · 0 评论 -
vc6使用技巧(摘抄)
1.检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号键入快捷键“Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。2.查看一个宏(或变量、函数)的宏定义 把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的Go To Defiti原创 2005-08-04 08:50:00 · 1147 阅读 · 0 评论 -
vc编译器的一个bug
看下面代码:vc6和vs.net2003下编译器输出如下结果e:/我的控件/win32test/win32test/win32test.cpp(33) : error C2259: “C” : 不能实例化抽象类 由于下列成员: “void A::sub::fun(void)” : 未定义纯虚函数 e:/我的控件/win32test/win32test/wi原创 2005-08-05 11:08:00 · 1355 阅读 · 1 评论 -
All MSG explain of Window(摘抄)
消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做MSG 结构,它在Windows单元中是这样声明的:The MSG原创 2006-01-16 11:39:00 · 1117 阅读 · 0 评论 -
如何通过code清理word的历史纪录(不管word是否打开)!
作者:wangweixing2000 打开word,我们可以在工具->选项->常规->列出最近所用的文件 来实现我想要的功能!1、word的_Application提供了一个方法可以设置是否显示最近使用的文件。2、word也给我们提供RecentFiles接口,但是里面没有什么有用的。3、word提供了Option接口,但是死活也找不到和word页面对应的方法。没辙,我还是瞄向了第1种方法原创 2006-11-07 22:49:00 · 1944 阅读 · 1 评论 -
如何导入office的类型库?这些类型库都在什么地方呢?
关键词:Office,COM,OLB 我们要操作office那么第一个想到的就是该怎么把它的库加入到我们项目中呢?最近对office研究了一番,ms的office可以说完全利用com的一个杰作,我们没有比它用的更好,以前看到过国外有几家公司也用com写的开发包,例如ArcGis,不能不佩服,看来还需要不断练内功!最近去csdn论坛发了个关于offfice清理问题的帖子,冷清的让我心寒!这些大牛都去原创 2006-11-09 17:20:00 · 5392 阅读 · 6 评论 -
URL经常需要进行编码,ATL提供了现成,今天才发现!(我好愚昧HOHO)
有朋友会说ms写的东西,你只不过是找到了还要写,我写给自己,也想一些朋友再别想我这么傻!通常的编码一般都有些好的api,如果我们拿来直接使用,既方便还安全省事!最近经常碰到编码的问题,可是找这样的api不好找,前两天找一个,今天又在atl中找到一个,试了一下都可以成功实现编码!1、 #include HRESULT UrlEscape( LPCTSTR pszURL,原创 2007-01-07 22:27:00 · 3419 阅读 · 0 评论 -
ATL提供了两个关于事件连接点的helper函数,我们拿来可以放心用了。
我们在AtlBase.h的头文件中可以看到下面代码://///////////////////////////////////////////////////////////////////////////// Connection Point HelpersATLINLINE ATLAPI AtlAdvise(IUnknown* pUnkCP, IUnknown* pUnk, const IID原创 2007-02-05 17:08:00 · 1714 阅读 · 0 评论 -
SQLite我选择我喜欢!
最近由于项目的需要,需要一个小型的数据库的支持,我找到了SQLite ,它是我见到过最简单最方便的数据库,而且我可以免费获得原代码,对于SQLite的作者我更是佩服的五体投地!SQLite的下载地址是: http://www.sqlite.org/download.html我下载的是SQLite3,如果你只是的简单增删改的功能,那么下面几个api足够你使用的了! typedef struc原创 2007-08-24 14:15:00 · 1603 阅读 · 0 评论 -
你如何让Javascript和c直接互调?
以前我们的写一个程序可能只用一种语言,我用的最多就是c++,但是现在的局势和需求它已经不能满足我们的需求,很多程序都需要能有自己的皮肤,有更好的扩展性,最近研究了一下Firefox,它真把xml和js用到了极致!因为它内部就潜着自己的js引擎,所有的界面用XUL(其实就是XML),一些Action都用的js来写的,扩展性极强!所以我就自然想到为何我们不能用它的js引擎呢?有了它的js引擎我们可以很原创 2008-01-18 18:37:00 · 4579 阅读 · 9 评论