学习VC
文章平均质量分 83
cp32212116
学如逆水行舟,不进则退!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ShellExecuted的用法
ShellExecute,取代了WinExec。你可以给它任何文件的名字,它都能识别出来并打开它。例如: 用缺省的位图编辑器打开一个叫iloveu.bmp的位图文件,这个缺省的位图编辑器可能是 Microsoft Paint, Adobe Photoshop, 或者 Corel PhotoPaint。 有关ShellExecute的详细用法自己去参考MSDN吧,重要的是你知原创 2014-08-04 20:20:44 · 604 阅读 · 0 评论 -
PlaySound音乐播放
PlaySound("c:\\WINDOWS\\MEDIA\\The Microsoft Sound.wav", NULL, SND_FILENAME | SND_ASYNC);PlaySound((LPCTSTR)IDR_WAVE, AfxGetInstanceHandle(), SND_RESOURCE | SND_ASYNC);//(LPCTSTR)可能需改成(LPCWSTR)原创 2014-09-08 15:55:12 · 807 阅读 · 0 评论 -
用枚举定义有意义的数组下标
在开发中,经常会用到一些数组,它里面存放一定数量(已知,不是太多)的特定元素。在使用数字表示的数组下标访问数组中元素的时候,根本不知道该元素是否是需要的那个元素,而且使代码可读性降低,甚至还会出现下标越界的危险。 比如,现在有如下的继承体系:class CShape;class CSquare : public CShape;class CRectangle :转载 2014-11-05 11:09:16 · 1220 阅读 · 0 评论 -
定时器及其“中断函数”
定时器是单片机中常见的一种系统资源,相信学过原创 2014-10-21 09:48:10 · 5488 阅读 · 0 评论 -
在MFC对话框中使用CChart--基于串口的温度采集
在我的上一篇文章中已经介绍了原创 2014-10-21 10:54:36 · 2953 阅读 · 2 评论 -
串口控件编程
串口即是我们常见的COM口,COM是PC为和外界通信所提供的一种串行数据传输的接口。作为一种物理通信的途径和设备,它和目前风靡的另一种串接口――USB所提供的功能是一致的。无论是在工业控制还是其他领域,串口都是比较常用的通信接口,关于串口的一些基本知识希望大家根据需要上网了解,大家可以先学习一些基本知识,以后学习单片机时大家就可以使用自己编写的串口调试助手啦...... 串口原创 2014-10-21 09:59:36 · 2783 阅读 · 0 评论 -
VC操作Excel表格中的数据
首先,我们要明白的是用VC编程实现访问Excel数据有很多方法,这里我们使用的是通过ODBC来访问Excel表格的,也就是说,VC将Excel表格当作数据库来处理。其次,既然是数据库,那么,就需要建立一个与该库对应的dsn,而且在建立dsn之前,首先要确定已经安装了Excel的驱动(已安装office套件),你只需要在控制面板的ODBC选项卡中查看即可。最后,要访问数据库中的表格,就要先打原创 2014-10-18 15:39:30 · 1160 阅读 · 0 评论 -
使 VC2013 编写的程序运行在其它电脑上
Visual Studio 2013 中带了新版本的 Visual C++,并且微软发不了免费的 Visual C++ 2013 Express,学习编程用很方便。VC2013 默认编写的 .exe 使用动态链接方式链接的运行时库,所以,编写的程序要在别的电脑上运行,需要在其它电脑安装 VC2013 的运行时库,然后就可以完美运行你的 .exe 程序。当然,如果你觉得安装运行时库很麻烦,你转载 2014-11-30 10:37:25 · 658 阅读 · 0 评论 -
保存应用程序的配置信息
应用程序启动后,用户会有各种操作。当用户下一次启动应用程序时,就会希望保持上一次的操作状态。或者游戏结束后,需要将最高分记录等等。因此,我们需要在程序关闭的时候,将一些必要的变量保存下来,并且在下一次程序启动的时候,读取这些变量。通常,可以把这些变量保存在“配置文件”中。配置文件一般以 .ini 为扩展名。例如在 \windows 文件夹里面可以找到很多 .ini 文件。.ini 文件的内原创 2014-11-30 10:40:56 · 908 阅读 · 0 评论 -
MD5及其VC++实现
MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2、MD3和MD4发展而来。 MD5功能: 输入任意长度的信息,经过处理,输出为128位的信息(数字指纹); 不同的输入得到的不同的结果(唯一性); 根据128位的输出结果不可能反推出输入的信息(不可逆); MD5属不属于加密算法:转载 2014-11-25 12:42:10 · 3656 阅读 · 0 评论 -
Hello ASM -- a+b-c
说明:虽然本次博文的主题并不是VC,但同为程序设计,而且主要也是因为自己在学习汇编的过程中有一些感悟,那就是: 在程序设计过程中,我认为我们首先应该琢磨一下程序的运行流程或者算法流程,之后再相应编写程序,有了这个思想流程,那么我想用什么语言应该都可以实现了,这样应该也是最有效率的,好过于反复修改方案带来的消极情绪......但是对于这个思想流程的细节程度我们怎么把握也是需要根据实际情况考原创 2014-12-13 15:45:22 · 884 阅读 · 0 评论 -
编程实现不重启Windows系统直接更改IP配置
设置IP地址只需要更改注册表中关于适配器的相应设置,但更改后需要重新启动系统才能生效,而AddIPAddress函数只能添加IP而不是更改当前的IP,因此有很多朋友都遇到过更改IP配置但是要重启机器的问题,在这里,为大家介绍一种不重启Windows直接更改IP配置的方法----调用API:DhcpNotifyConfigChange。 上次给大家介绍过用批处理的方法:http://b原创 2015-03-25 17:10:21 · 817 阅读 · 0 评论 -
随机数生成方法及序列随机排序
srand()以及rand()函数:void srand(unsigned int seed) 初始化随机数发生器,用于给rand()函数设定种子。int rand(void)用于产生一个伪随机unsigned int 整数。 srand()就是给rand()提供种子seed。如果srand每次输入的数值是一样的,那么每次运行产生的随机数也是一样的,也就是说,以一个固定的数值作为种子是一原创 2014-10-22 15:29:10 · 2612 阅读 · 0 评论 -
静态文本控件类CStaticText的使用
文本是我们原创 2014-10-22 16:20:16 · 1960 阅读 · 0 评论 -
带参main函数
int main(int argc,char* argv[])详解:原创 2014-09-23 21:33:00 · 656 阅读 · 0 评论 -
窗口抖动
封装为一个函数如下:void ShakeWindow(){ CRect rect; GetWindowRect(&rect); int m_move=10;//移动单位 //PlaySound("shake.wav",NULL,SND_FILENAME | SND_ASYNC);//播放抖动声音 /* PlaySound函数用来播放WAV声音,该函数的第一个参数为pszSound转载 2014-08-04 20:48:07 · 892 阅读 · 0 评论 -
MFC对键盘消息的截取与响应
MFC(Microsoft Foundation Class)对响应消息进行了封装,可以通过重载虚函数PreTranslateMessage()对所关心的消息进行截取与响应:以下对截取与响应键盘 Enter 消息的截取与响应这是对话框的响应键盘 Enter 消息方式:BOOL C**Dlg::PreTranslateMessage(MSG* pMsg){// TODO:转载 2014-08-04 20:39:53 · 796 阅读 · 0 评论 -
开机自启动
利用WIN.INI文件可以实现相关程序的自动启动。WIN.INI是系统保存在C:/Windows目录先的一个系统初始化文件。系统在启动时会检索该文件中的相关项,以便对系统环境的初始设置。在该文件中的“[windows]”数据段中,有两个数据项“load=”和“run=”,它们的作用就是在系统启动之后自动地装入和运行相关的程序。如果我们需要在系统启动之后装入并运行一个程序,只将需要运行文件的全文转载 2014-08-02 20:57:58 · 1657 阅读 · 0 评论 -
VC实现自动配置ODBC数据源
为了使ODBC能与数据库一起工作,必须把数据库注册到ODBC驱动程序管理器,这项工作可以通过定义一个DSN或数据源名字来完成。通常,我们只能手动打开系统控制面板,运行其中的ODBC数据源管理器,手工配置数据源,但是这项工作对用户而言过于复杂,我们必须考虑用程序替用户完成这些配置工作。 1. SQLConfigDataSource 函数说明 ODBC API提供了转载 2014-08-02 20:50:49 · 1337 阅读 · 0 评论 -
任务栏托盘
要实现系统托盘,就要认识NOTIFYICONDATA结构体,如下:typedef struct _NOTIFYICONDATA { DWORD cbSize; //结构体的大小,以字节为单位 HWND hWnd; //窗口的句柄 UINT uID; //应用程序定义的任务栏图标的标识符 UINT u原创 2014-08-02 20:46:22 · 612 阅读 · 0 评论 -
用户自定义的的消息
用户自定义的的Windows消息(也就是以WM_开头,除了WM_COMMAND以外的消息,这类消息在WM_USER以下的是系统消息,WM_USER以上的可以由用户自己定义),是消息发出者直接发给对应CWnd的窗体句柄,由CWnd负责消息的响应。所以这类消息必须同一个CWnd类对应,更精确的说必须与一个HWND类型的窗体句柄相对应。SendMessage可以理解为,SendM原创 2014-08-02 20:43:27 · 623 阅读 · 0 评论 -
MFC中CString转char *
//1.使用强制转换CString cstr;char *p =(LPSTR)(LPCTSTR)cstr;//2.使用CString::GetBufferchar *pBuff=str.GetBuffer(strtest.GetLength());//char *pBuff=strBuf.GetBuffer(0);str.ReleaseBuffer(); //使用完后及时释放,以便能原创 2014-09-08 15:17:10 · 779 阅读 · 0 评论 -
MFC中控件位图显示
使用静态文本控件 + picture控件显示原创 2014-09-08 15:22:32 · 774 阅读 · 0 评论 -
MFC右键菜单的添加
1.对于菜单资源,它存在许多选项,每一个选项都对应相应的操作,所以每一个选项我们都要为其添加消息响应2.既然是弹出菜单,我们需要选择菜单的弹出时机(接收什么消息时弹出)和位置原创 2014-09-08 15:32:43 · 668 阅读 · 0 评论 -
VC多线程编程初步
程序:计算机指令的集合,以文件形式(exe格式)存储在磁盘上进程:一个运行程序的实例,一个程序可以有多个进程(实例),每个进程有他自己的内核对象和私有地址空间(占用较多系统资源)线程:●进程是线程的容器,一个进程中至少要有一个主线程(创建进程实例时操作系统自动创建该主线程),一般有多个线程,线程才是真正执行代码的主体。●每个线程有自己的内核对象和堆栈(占用系统资源较少),单原创 2014-09-08 15:41:28 · 1383 阅读 · 0 评论 -
VC自定义资源操作
一、添加添加资源时选择自定义,IDE会为你生成一个新的二进制资源,然后你就可以将你已经存在的二进制文件作为自定义的资源类型导入到项目中来了。二、使用要使用自定义资源,我们可能要用到的几个API函数有FindResource、LoadResource和LockResource等,这里每一个函数的返回值分别作为下一个函数的参数,我来简要介绍一下。1. FindResource用来在一个原创 2014-09-08 15:59:19 · 595 阅读 · 0 评论 -
VC创建快捷方式
快捷方式:现在,几乎所有的安装 程序都是在“开始”菜单中添加新的菜单项,或者在桌面上建立新的快捷方式(Shortcut)(有时还要建立相应的菜单组或文件夹来包含多个菜单项或快捷方式),以便于用户使用时方便快捷地启动软件。当启动一个安装程序后,程序安装完成后会自动创建相应的快捷方式。Windows 的快捷方式实际上是一个带有扩展名LNK的数据文件,其中包含有用于访问Windows原创 2014-09-08 16:10:42 · 1310 阅读 · 0 评论 -
C++迭代器 -- iterator使用简介
迭代器(iterator)是一中检查容器内元素并遍历元素的数据类型。(1) 每种容器类型都定义了自己的迭代器类型,如vector: vector::iterator iter;这条语句定义了一个名为iter的变量,它的数据类型是由vector定义的iterator类型。(2) 使用迭代器读取vector中的每一个元素:vector ivec(10,1);for(vector原创 2015-03-20 14:11:21 · 565 阅读 · 0 评论
分享