随笔分类 -  vc

摘要:操作系统使用不同的值作为文件结束符。Windows上我们通过键入ctrl+z键作为文件结束符。Unix系统中,包括Mac OS-X机器,通常用ctrl+d作为文件结束符。用VC++6.0的时候,要输入两次ctrl+z及回车才能作为输入结束。 阅读全文
posted @ 2013-07-09 15:14 l851654152 阅读(554) 评论(0) 推荐(0)
摘要:一 MFC程序执行过程剖析1)我们知道在WIN32API程序当中,程序的入口为WinMain函数,在这个函数当中我们完成注册窗口类,创建窗口,进入消息循环,最后由操作系统根据发送到程序窗口的消息调用程序的窗口函数。而在MFC程序当中我们不在能找到类似WinMain这样的程序入口,取而代之的是一系列派生类的声明和定义以及一个冲CWinApp类派生而来的类的全局对象。CWinApp类被称之为应用程序对象,在一个MFC程序当中只允许有一个应用程序对象。由于CWinApp的派生对象是全局的,因此这个对象的构造函数会在所有的其他代码运行之前被调用,而由于CWinApp类当中包含了HWND、HINSTAN 阅读全文
posted @ 2012-08-16 23:43 l851654152 阅读(46639) 评论(5) 推荐(4)
摘要:编译,链接接源代码的时候,我们会用到库文件,一般常用的库文件系统会默认找到目录和文件,自己添加的库文件则需要在vc工具里添加路径,然后通过#pragma comment(lib ,"xxx.lib" )找到库文件,或者说加载库文件。 阅读全文
posted @ 2012-08-06 18:03 l851654152 阅读(273) 评论(0) 推荐(0)
摘要:VC之CString,wchar_t,int,string,char*之间的转换 1. CString 转 wchar_tCString path = "asdf";wchar_t wstr[256] = path.AllocSysString();或者:wchar_t wcstring[256];MultiByteToWideChar(CP_ACP,0,path,-1,wcstring,256);2. wchar_t转CStringWideCharToMultiByte(CP_ACP,0,wcstring,256,path.GetBuffer(0),256,NULL,NU 阅读全文
posted @ 2012-07-18 16:40 l851654152 阅读(291) 评论(0) 推荐(0)
摘要:在学习MFC的过程中遇到一些问题:解决方案。1.文件夹及其子文件夹和文件的复制问题。目录的嵌套循环。http://topic.csdn.net/u/20090422/16/e895de1c-baf8-43ef-b0a8-01915a36e649.html2.进度条的问题:http://hi.baidu.com/jun166/blog/item/90a47cc88569a4069d163d98.html3.标题栏图标问题4.对话框超地址链接问题:http://www.cnblogs.com/leanee/articles/2111039.html5.回调函数是由操作系统调用,MFC响应消息的机制 阅读全文
posted @ 2012-07-04 11:47 l851654152 阅读(161) 评论(0) 推荐(0)
摘要:注意读入数据的文件路径必须正确不然出现乱码:代码如下View Code 1 #include "stdafx.h" 2 #include <windows.h> 3 #include <windowsx.h> 4 #include "resource.h" 5 #include "MainDlg.h" 6 7 8 BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 9 {10 switch(uMsg)11 {12 H 阅读全文
posted @ 2012-06-24 21:04 l851654152 阅读(192) 评论(0) 推荐(0)
摘要:前面写了两个小程序,没有说明原理(逻辑关系):这里一并说明。1.首先我们得理解消息机制,也就是应用程序在和操作系统交互的时候(为什么是操作系统而不是用户,其实是一个意思,因为用户的数据需要先经过操作系统),应用程序所处的状态,一共有五种,1.阻塞,2.不阻塞,3.select即阻塞于select是介于1和2之间的实现,4.信号或者说消息,5.类信号机制。消息机制原理和中断系统原理一样,系统不需要轮询应用程序,用户需要注册回调函数(类似于中断处理函数),然后应用程序该干嘛就干嘛。当应用程序声明的事件(中断产生)产生,操作系统会自动调用回调函数。2.句柄,windows系统中用来唯一标识一个对象, 阅读全文
posted @ 2012-06-24 20:58 l851654152 阅读(1085) 评论(0) 推荐(0)
摘要:View Code #include "stdafx.h"#include <windows.h>#include <windowsx.h>#include "resource.h"#include "MainDlg.h"BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam){ switch(uMsg) { HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog); HANDL 阅读全文
posted @ 2012-06-23 18:17 l851654152 阅读(422) 评论(0) 推荐(0)
摘要:做这个东西之前一直很鄙视微软的东西,我想应该是跟着网上一些说法有关,所以一直搞着linux的东西,但是发现自己还没有鄙视的资本,只有高手才有,所以从零开始先搞一下vc做一些工具游戏之类的。存在及合理,还没有到否定这些技术的境界。win32对话框开发的很小的计算器程序。代码如下:View Code 1 BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 2 { 3 switch(uMsg) 4 { 5 HANDLE_MSG(hWnd, WM_INITDIALOG, M... 阅读全文
posted @ 2012-06-23 17:33 l851654152 阅读(432) 评论(0) 推荐(0)
只有注册用户登录后才能阅读该文。
posted @ 2012-06-20 09:43 l851654152 阅读(3) 评论(0) 推荐(0)
摘要:操作64位系统注册表的解决方案有两个。方案一:32位应用程序操作64位系统注册表:转载自http://www.cnblogs.com/mingmingruyuedlut/archive/2011/01/21/1941225.html方案二用vc把应用程序编译成x64位,然后调用批处理程序,用批处理程序将注册表文件导入注册表。至于怎么将应用程序编译成64位的可执行程序,在配置管理器中编辑选择x64位就行,如果没有这个选项则需要在安装vs时进行更新。 阅读全文
posted @ 2012-06-20 09:25 l851654152 阅读(344) 评论(0) 推荐(0)