- 博客(14)
- 资源 (5)
- 收藏
- 关注
原创 Windows API介绍及用法:CreateFileMapping和MapViewOfFile函数
<br />在开发软件过程里,也经常碰到进程间共享数据的需求。比如A进程创建计算数据,B进程进行显示数据的图形。这样的开发方式可以把一个大程序分开成独立的小程序,提高软件的成功率,也可以更加适合团队一起开发,加快软件的开发速度。下面就来使用文件映射的方式进行共享数据。先要使用函数CreateFileMapping来创建一个想共享的文件数据句柄,然后使用MapViewOfFile来获取共享的内存地址,然后使用OpenFileMapping函数在另一个进程里打开共享文件的名称,这样就可以实现不同的进
2011-01-21 13:22:00
1416
原创 vc编写系统服务
#include<afx.h><br /><br />void WINAPI ServiceMain(); //服务主函数<br />void WINAPI ServiceStrl(DWORD); //服务控制<br />void Init(); //初始化<br />BOOL IsInstalled
2011-01-19 17:15:00
1069
原创 vc中,unicode项目向多字节字符集项目移植.
<br /> <br /><br /><br /><br />1: 首先更改项目属性为多字节字符集.<br />2: 对于所有 L"字符串", 去掉L, 或改为=> _T("字符串") <br /> ps1: _T是个自动替换的宏, 可以根据编译条件的不同, 替换成不同的东西. <br /> ps2:若想使用_T,要先包含<tchar.h>文件<br />3: 替换所有的 WCHAR 为 TCHAR<br />4: 替换所有的Unicode函数为非Unicod
2011-01-19 17:12:00
595
原创 vc中,unicode项目向多字节字符集项目移植.
<br /> 1: 首先更改项目属性为多字节字符集.<br />2: 对于所有 L"字符串", 去掉L, 或改为=> _T("字符串") <br /> ps1: _T是个自动替换的宏, 可以根据编译条件的不同, 替换成不同的东西. <br /> ps2:若想使用_T,要先包含<tchar.h>文件<br />3: 替换所有的 WCHAR 为 TCHAR<br />4: 替换所有的Unicode函数为非Unicode函数 eg _wsplitpath_s =>
2011-01-19 17:09:00
588
原创 最好的开源项目的一些的在VC + +和MFC的
简介<br />This article lists of some of the best Open Source projects written in VC++/MFC.本文列出了最好的开放源码在VC + + / MFC编写的一些项目。Background背景<br />CodeProject has the best source code repository for VC++ developers. CodeProject上有最好的源代码的VC + +开发库。But another
2011-01-19 17:04:00
2851
原创 字符串以及内存操作相关函数
<br />字符串拷贝和内存拷贝函数:<br />strcpy<br />strncpy<br />memcpy<br />memmove<br />memccpy<br />bcopy<br /> <br />字符串和内存数据比较函数:<br />strcmp<br />strcasecmp<br />strncasecmp<br />memcmp<br />strcoll<br />bcmp<br /> <br />连接字符串的函数:<br />strcat<br />strncat<br /> <br
2011-01-12 17:30:00
969
原创 VC逐行读写日志文件(TXT)
<br />最近写一个日志读写控件的类,发现VC的CSdioFile的WriteString不能处理中文,虽然把字符集改成多字符形式可以解决这个问题,但这就破坏了程序的兼容性。所以我写了以下的方法,另外还可以用一咱本地化的方法解决WriteString不能输入中文方法,附最后(这个也可以使用UNICODE字符集)。<br />用流在写日志时,发现如果把"/r/n"直接写在字符串的尾部,则会造成乱码,其中的原因网上有很多说明,主要是标准库与WINDOWS的回车换行的机制略有差别。但只要写到另一行重起就
2011-01-08 16:34:00
4069
原创 CFile和CStdioFile的文件读写使用方法
CFile和CStdioFile的文件读写使用方法<br />CFile<br />//创建/打开文件<br />CFile file;<br />file.Open(_T("test.txt"),CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite);<br />文件打开模式可组合使用,用“|”隔开,常用的有以下几种:<br />CFile::modeCreate:以新建方式打开,如果文件不存在,新建;如果文件已存在,把该
2011-01-08 16:33:00
751
原创 Unicode下CString(wchar_t)转换为 char*
Unicode下CString(wchar_t)转换为 char*<br /> wstring MultCHarToWideChar(string str)<br />{<br />//获取缓冲区的大小,并申请空间,缓冲区大小是按字符计算的<br />int len=MultiByteToWideChar(CP_ACP,0,str.c_str(),str.size(),NULL,0);<br />TCHAR *buffer=new TCHAR[len+1];<br />//多字节编码转换
2011-01-06 15:35:00
747
原创 VC中Ansi、Unicode、UTF8字符串的问题
<br />Ansi字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个/0结尾,常用于txt文本文件 <br />Unicode字符串,每个字符(汉字、英文字母)都占2个字节,以2个连续的/0结尾,NT操作系统内核用的是这种字符串,常被定义为typedef unsigned short wchar_t;所以我们有时常会见到什么char*无法转换为unsigned short*之类的错误,其实就是unicode <br />UTF8是Unicode一种压缩形式,英文A在unicode中表示
2010-12-31 14:19:00
664
原创 第三章 窗口和消息
<br />进行window成学设计实际上是对象导向程序设计,桌面上最明显的窗口就是应用程序窗口。这些窗口含有显示程序名称的标题列、菜单甚至可能还有工具列和滚动条。另一类窗口是对话框,它可以有标题列也可以没有标题列。<br />装饰对话框表面的还有各式各样的按键、单选按钮、复选框、清单方块、滚动条和文字输入区域。其中每一个小的视觉对象都是一个窗口。更确切地说,这些都称为「子窗口」或「控件窗口」或「子窗口控件」。<br />程序建立的每一个窗口都有相关的窗口消息处理程序。这个窗口消息处理程序是一个函数,既可以
2010-12-30 14:14:00
335
原创 第二章UNICODE简介
<br />2.1字符集简史<br />ASCII码使用8位字符集,而Unicode使用全16位字符集,这使得Unicode能够表示世界上所有的书写语言中可能用于计算机通讯的字符、象形文字和其它符号。那么如何容纳象形文字语言而仍保持和ASCII的某种兼容性呢?答案是双字节字符集(DBCS)。正因为各个国家的字符集都是不一样的,比如代码页932(日文) 、936(简体中文) 、949(韩语)和950(繁体汉字)。只有为这些国家(地区)生产的Windows版本才支持DBCS(double-byte
2010-12-30 13:47:00
449
原创 编写第一个WINDOWS程序
<br />编写hello world程序<br />#include <windows.h><br /><br />int WINAPI WinMain (HINSTANCE hInstance, //执行实体句柄<br /> HINSTANCE hPrevInstance, //给winmain函数传送的第二个参总是NULL<br /> <br /> P
2010-12-30 13:45:00
371
原创 怎样学习vc
<br />VC入门的一条路 <br />首先声明,我可不是什么高手,也就是刚脱贫。因为运气很好,买到了几本好书,在学习过程中几乎没走什么弯路,没费什么劲就入门了,现在一般的小程序能搞定了。看到那些因为不知从何下手而苦苦挣扎的朋友,希望我的文章能给他们一些帮助。 <br /><br />学编程急不得,上来就学VC肯定碰一头灰,说VC难就难在这点上了。如果硬上,意志坚强的话也许能挺过来,但也是会缺乏后劲,不得不回过头来补习基础知识。意志不坚强的话,很有可能就此放弃了,并留下一个VC难得不得了的
2010-12-29 11:13:00
472
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人