随笔分类 - vc
摘要:操作系统使用不同的值作为文件结束符。Windows上我们通过键入ctrl+z键作为文件结束符。Unix系统中,包括Mac OS-X机器,通常用ctrl+d作为文件结束符。用VC++6.0的时候,要输入两次ctrl+z及回车才能作为输入结束。
阅读全文
摘要:一 MFC程序执行过程剖析1)我们知道在WIN32API程序当中,程序的入口为WinMain函数,在这个函数当中我们完成注册窗口类,创建窗口,进入消息循环,最后由操作系统根据发送到程序窗口的消息调用程序的窗口函数。而在MFC程序当中我们不在能找到类似WinMain这样的程序入口,取而代之的是一系列派生类的声明和定义以及一个冲CWinApp类派生而来的类的全局对象。CWinApp类被称之为应用程序对象,在一个MFC程序当中只允许有一个应用程序对象。由于CWinApp的派生对象是全局的,因此这个对象的构造函数会在所有的其他代码运行之前被调用,而由于CWinApp类当中包含了HWND、HINSTAN
阅读全文
摘要:编译,链接接源代码的时候,我们会用到库文件,一般常用的库文件系统会默认找到目录和文件,自己添加的库文件则需要在vc工具里添加路径,然后通过#pragma comment(lib ,"xxx.lib" )找到库文件,或者说加载库文件。
阅读全文
摘要: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
阅读全文
摘要:在学习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响应消息的机制
阅读全文
摘要:注意读入数据的文件路径必须正确不然出现乱码:代码如下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
阅读全文
摘要:前面写了两个小程序,没有说明原理(逻辑关系):这里一并说明。1.首先我们得理解消息机制,也就是应用程序在和操作系统交互的时候(为什么是操作系统而不是用户,其实是一个意思,因为用户的数据需要先经过操作系统),应用程序所处的状态,一共有五种,1.阻塞,2.不阻塞,3.select即阻塞于select是介于1和2之间的实现,4.信号或者说消息,5.类信号机制。消息机制原理和中断系统原理一样,系统不需要轮询应用程序,用户需要注册回调函数(类似于中断处理函数),然后应用程序该干嘛就干嘛。当应用程序声明的事件(中断产生)产生,操作系统会自动调用回调函数。2.句柄,windows系统中用来唯一标识一个对象,
阅读全文
摘要: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
阅读全文
摘要:做这个东西之前一直很鄙视微软的东西,我想应该是跟着网上一些说法有关,所以一直搞着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...
阅读全文
摘要:操作64位系统注册表的解决方案有两个。方案一:32位应用程序操作64位系统注册表:转载自http://www.cnblogs.com/mingmingruyuedlut/archive/2011/01/21/1941225.html方案二用vc把应用程序编译成x64位,然后调用批处理程序,用批处理程序将注册表文件导入注册表。至于怎么将应用程序编译成64位的可执行程序,在配置管理器中编辑选择x64位就行,如果没有这个选项则需要在安装vs时进行更新。
阅读全文

浙公网安备 33010602011771号