Windows编程
文章平均质量分 83
高达一号
这个作者很懒,什么都没留下…
展开
-
MFC中CString和STL中string的互换
[技巧]:通过char*作为中介.CString->std::string 例子:CString strMfc=“test“;std::string strStl;strStl=strMfc.GetBuffer(0);std::string->CString 例子:CString strMfc;std::string strStl=“tes转载 2015-07-09 18:16:03 · 791 阅读 · 0 评论 -
Windows画刷,图标等数据结构的原理
DECLARE_HANDLE2009-05-03 10:34关于DECLARE_HANDLE(HINSTANCE)(转载)好多网友会有这样的疑问,WNDCLASSA结构体中遇到的HINSTANCE到底是什么类型,它是否是某种基本数据类型呢?下面通过我的阐述你就会有一个准确的把握了!在WINDEF.H中有这样的语句DECLARE_HANDLE(HINSTANCE)转载 2015-07-23 18:02:48 · 656 阅读 · 0 评论 -
MFC中通过子窗口关闭父窗口以实现退出程序
这应该是个老问题,我来稍微总结下:(我刚刚接触Windows编程希望大家多多指点)1.上来来个最鲁莽的.直接通过exit(0),ExitProcess(0);//不好的用法猜测资源得不到回收原因如下:http://blog.csdn.net/jiang1013nan/article/details/48310202.向父窗口发送WM_CLOSE消息,原创 2015-08-05 21:08:15 · 8538 阅读 · 0 评论 -
Windows_通过共享数据段(data_seg())实现应用程序只能被创建一次
通过data_seg()编译指令共享数据段实现程序不能多开:如果不用cin进行阻塞,则程序会退出(达不到效果)没有用cin阻塞的代码:#include #include #include //#include "Share.h"using namespace std;#pragma data_seg("flag_data")int app_count =原创 2015-09-10 09:32:58 · 1365 阅读 · 0 评论 -
MFC_对话框中用来初始化一些数据的函数。
OnInitDialogWM_INITDIALOG现在OnInitDialog是个虚函数重载就行,vc6是消息映射BOOL OnInitDialog();原创 2015-08-07 11:41:49 · 2024 阅读 · 0 评论 -
Windows_dll的含义和Dependency Walker使用说明( 查找函数定义 )
在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库。现在就让我们走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧! 初窥门径:Windows的基石 随便打开一个系统目录,一眼望去就能看到很多扩展名DLL的文件,这些就是经常说的“动态链接库”,DLL是Dynamic Link Library(即“动态链接库”)的缩写。从Microsoft公司推出转载 2015-09-10 15:58:31 · 2808 阅读 · 0 评论 -
Windows/MFC_def文件格式_规范写法(用于生成dll)
def文件格式 2011年03月18日 模块定义 (.def) 文件 模块定义 (.def) 文件为链接器提供有关被链接程序的导出、属性及其他方面的 信息。生成 DLL 时,.def 文件最有用。由于存在可代替模块定义语句使用的链接器选项,通常不需要 .def 文件。也可以将__declspec(dllexport) 用作指定导转载 2015-09-10 21:01:13 · 4813 阅读 · 0 评论 -
Windows/MFC_dll生成文件___浅谈def文件(用于生成dll)
def文件格式(DLL导出) 2009-12-03 21:37:41| 分类: C++ |举报 |字号 订阅今天接触了def文件,在客户端工程里有不少def文件,有关dll导出的今天就花时间看了看,以前包括现在自己在使用dll的时候很少用到dll一个强大功能,就是跨语言,用vb做界面调用vc写的dll各取所长。以前没碰到过def这个文件,就上网看了看,看完后明白了大概的作用转载 2015-09-10 21:12:59 · 1758 阅读 · 0 评论 -
MFC/Windows_WM_CTLCOLOR消息
WM_CTLCOLOR消息用来完成对EDIT, STATIC, BUTTON等控件设置背景和字体颜色, 其用法如下:1.首先在自己需要设置界面的对话框上点击右键-->建立类向导-->加入WM_CTLCOLOR消息-->自动生成OnCtlColor()函数, 此函数可以对本对话框的控件的界面外观做修饰, 用法如下:将类向导产生的函数做如下修改:HBRUSH CDialogColo转载 2015-08-20 09:19:24 · 1413 阅读 · 0 评论 -
Windows/MFC_中__declspec 的用法
c++ 中__declspec 的用法语法说明:__declspec ( extended-decl-modifier-seq )扩展修饰符:1:align(#) 用__declspec(align(#))精确控制用户自定数据的对齐方式 ,#是对齐值。e.g__declspec(align(32)) struct Str1{int转载 2015-09-11 18:08:10 · 687 阅读 · 0 评论 -
C/C++,Windows/MFC, char, wchar_t, TCHAR 字符全总结 & c++字符串操作经验集
字符类型、字符指针类型、字符串字面值字符类型: char, wchar_t, CHAR, WCHAR, TCHAR, UCHAR, BYTE, TBYTE char 是C语言标准数据类型,字符型。通常由编译器决定一个char对象有多少个字节组成,一般是一字节。 wchar_t 是char的Unicode版本。相当于 unsi转载 2015-08-07 20:48:35 · 2728 阅读 · 0 评论 -
Windows/MFC_中dll __stdcall,__cdcel,extern c 和导出函数名
无论c或c++都会对导出函数改名或不改名,无论你是静态还是动态调用一个导出函数,都可能碰上改名后导致的调用失败(甚至可能是调用约定不同而导致清理堆栈出错,造成崩溃),下面分析一下改名和调用约定之间的关系。 一.先说extern c。 其含义是指,按c的方式编译代码。在vs7及以后的vs中,有编译选项可以直接选择“编译为:c代码”(在工程属性----》c/c+转载 2015-09-14 11:44:47 · 2998 阅读 · 0 评论 -
Windows/MFC中_显式加载DLL并使用 DLL 中的类(原创)
显式加载DLL并使用 DLL 中的类(原创)首先需要强调,当使用某个类时一般目的有二:实例化成对象或者继承它产生新类。对于前者,我们可以构造一个抽象类(java里的接口)来连接调用方和DLL。 抽象类:// Interface.h 公共文件/////////////////////////////////////////////////#pragma onc转载 2015-09-14 11:50:42 · 2074 阅读 · 0 评论 -
C/C++_宏定义多次重复定义
$MS编译器下宏多次重复定义以最后的作为标准#include using namespace std;#define MAX 5#define MAX 4#define MAX 3int main(){ printf("%d\n", MAX); return 0;}原创 2015-09-10 18:18:32 · 17446 阅读 · 0 评论 -
MessageBox用法
MessageBox函数MessageBox显示一个模态对话框,其中包含一个系统图标、 一组按钮和一个简短的特定于应用程序消息,如状态或错误的信息。消息框中返回一个整数值,该值指示用户单击了哪个按钮。int MessageBox( HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType); 第原创 2015-05-11 15:09:39 · 5767 阅读 · 0 评论 -
WNDCLASS结构中cbWndExtra数据成员的作用
原博客地址 http://blog.csdn.net/mousebaby808/article/details/20299571概述 有人问WNDCLASSEX结构体中cbWndExtra成员到底是做什么用的,在网上也查了一些资料,但说的都不太正确,MSDN上说的也较为含糊,但这个cbWndExtra成员的作用确实是较为重要,首先Windows默认的对话框转载 2015-07-22 13:58:02 · 1257 阅读 · 0 评论 -
WS_CLIPCHILDREN和WS_CLIPSIBLINGS窗口属性的作用
相信,人多人都对WS_CLIPCHILDREN和WS_CLIPSIBLINGS具体的属性不是很理解,尤其是对WS_CLIPSIBLINGS的理解,通过网络上查资料,看了四五次,每次看懂了但是下次遇到又忘记了,让人很揪心,但是经过几次的实际应用,我终于明白了他们的含义。下面以我在开发实际应用中正确使用来通俗易懂的来说明:(1)WS_CLIPCHILDREN转载 2015-07-22 10:33:59 · 2318 阅读 · 0 评论 -
CreateDialog和DialogBox的区别,模态对话框与非模态对话框
INT_PTR DialogBox( HINSTANCE hInstance, LPCTSTR lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc);这个函数根据对话框资源,创建一个模式对话框,这个对话框应该用EndDialog来结束。hInstance 当前应用程序实例句柄。lpT转载 2015-07-22 11:05:50 · 4856 阅读 · 0 评论 -
Windows/MFC_CWnd与Hwnd转换
1:CWnd是MFC的窗口基类。 HWND是Windows窗口句柄。 前者是一个C++对象,后者是一个类似于指针地址的数字型对象。2:CWnd可以看成是对Windows窗口操作的封装,而封装的核心就是使用Windows窗口句柄(即HWND)来操作窗口. 3:CWnd可以通过CWnd::GetSafeHwnd()或成员变量m_hWnd来获得该窗口对象的HWND窗口句转载 2015-08-05 21:13:19 · 952 阅读 · 0 评论 -
MFC_为MFC对话框建立初始化函数BOOL HistoryData::OnInitDialog()
一、在要建立OnInitDialog()的对话框上右击建立类向导,如下图: 二、为对话框建立消息映射,如下图:在classwizard的Message Maps中的Object IDs选择该对话框的类名(下图为CNew3),并且在Class name也选该类名,接着在Messages中选择WM_INITDIALOG并双击,就会在Member funtions中自动生转载 2015-08-07 11:44:38 · 917 阅读 · 0 评论 -
Windows/MFC_三个退出程序消息:WM_CLOSE、WM_DESTROY、WM_QUIT
1、发送消息SendMessage、PostMessagePostMessage将消息放入消息队列后马上返回,而SendMessage直到窗口过程处理完消息后才返回2、三个消息的区别WM_CLOSE:在系统菜单里选择了“关闭”或者点击了窗口右上角的“X”按钮,你的窗口过程就会收到WM_CLOSE。DefWindowProc对 WM_CLOSE的处理是调用Destro转载 2015-08-05 21:12:07 · 8336 阅读 · 0 评论 -
Windows/MFC_ 如何判断CString类型是否为空
CString strTemp; if (strTemp.IsEmpty()) { AfxMessageBox(_T("空")); } if (strTemp.GetLength()==0) { AfxMessageBox(_T("空")); }突然感觉CString类真的挺好用,里面的很多函数用起来都很方便,什么Mid、Left、Right、Find。转载 2015-08-07 11:37:46 · 6048 阅读 · 0 评论 -
C++,Windows/MFC_中L和_T()之区别
字符串前面加L表示该字符串是Unicode字符串。_T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变。因此,Visual C++里边定义字符串的时候,用_T来保证兼容性。VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。以下是别人的总结:转载 2015-08-13 09:54:38 · 6058 阅读 · 0 评论 -
MFC/Windows_Windows/MFC对消息处理的顺序
MFC应用程序中处理消息的顺序 1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数3.WindowProc()转载 2015-08-13 16:10:48 · 513 阅读 · 0 评论 -
Windows,C++中各种数据类型的转换---很有用!
%f常用数据类型使用转换详解 leo:要在Unicode字符集环境下把CString转化为char*方法: CString str = _T("D://校内项目//QQ.bmp");//////leo这个NB 可以降在Unicode下的CString转化为char* //声明标识符 USES_CONVERSION; //调用函数转载 2015-08-12 20:46:13 · 1248 阅读 · 0 评论 -
Windows/MFC,C++中的TCHAR体系/char体系/WCHAR体系及其相互转换
Windows/MFC,C++编程中经常遇到UNICODE、ANSI字符串,并需要对这些字符串进行转换,本文对这些体系与其转换进行了总结。第一篇:基础篇主要分为3大体系:TCHAR, WCHAR, char 3大体系常用函数及解析详见博文:http://blog.csdn.net/u010003835/article/details/47344775原创 2015-08-13 11:37:41 · 2837 阅读 · 0 评论 -
Windows/MFC函数参数中LPSTR,LPCSTR,LPCWSTR_等指针的含义
1. 先了解下相关宏定义: winnt.h 中typedef char CHAR ;typedef wchar_t WCHAR ;#ifdef UNICODEtypedef wchar_t TCHAR ; //wchar_t C++: 16-bit UNICODE character#elsetypedef char TCHAR ;#endif即:CHAR 为8 位转载 2015-08-13 09:01:49 · 2238 阅读 · 0 评论 -
C/C++,Windows/MFC__char与TCHAR相互转化
char与TCHAR之间的转化主要用到函数MultiByteToWideChar和WideCharToMultiBytechar转TCHAR如果不是Unicode字符集,就不需要转换,直接复制即可,如果不确定是否使用Unicode字符集,可以这样写[cpp] view plaincopychar strUsr[10] = "Hel转载 2015-08-12 20:52:39 · 1071 阅读 · 0 评论 -
Windows/C++/MFC_ATL转换宏用于WCHAR,TCHAR,char转换以及其含义
相关类型转换:(强制转换会出现乱码)wchar_t ‐> char : wcstombs();或 WideCharToMultiByte(); //windowschar ‐> wchar_t : mbstowcs();或 MultiByteToWideChar(); //windows另外可使用ATL 提供的转换宏, 包含LPWSTR‐>LPTSTR: W2T转载 2015-08-13 11:32:18 · 1522 阅读 · 0 评论 -
Windows,C/C++_字符串转换_MultiByteToWideChar和WideCharToMultiByte的正确使用方法及参数详解
MultiByteToWideChar和WideCharToMultiByte的正确使用方法及参数详解 本文内容摘自《Windows核心编程》(第五版)Page26。 文中已经详细阐述了这两个函数的用法,我这里仅仅作为备忘录。函数的参数请参考百度百科MultiByteToWideChar和WideCharToMultiByte。函数原型:转载 2015-08-12 20:43:11 · 2303 阅读 · 0 评论 -
C++_TCHAR字符串在UNICODE环境的控制台下输出
TCHAR字符串在UNICODE环境下是不能直接用cout 输出的, 原因是 cout 为 ostream流对象实例,直接用cout 输出TCHAR字符串会输出字符串的地址 //TODO:测试代码 //得到了非空一个字符串,则查找成功。 //...... //.....将该字符串转换为TCHAR..... //...... USES_CONVERSI原创 2015-08-28 14:43:29 · 9886 阅读 · 1 评论 -
BM_SETSTATE 消息
精确地讲,当按钮接收到BM_SETSTATE消息并且wParam设置到TRUE时,BM_SETSTATE是按钮专有的消息,用于请求按钮绘制‘按下’或‘释放’模式,每次点击(或发送BM_SETSTATE消息),Windows都自动地通知父窗口这个事件。对于按钮就是BN_CLICKED消息不小心搞掉这个消息,结果不响应BN_CLICKED了,win7直接报无效的参数,当然,可以用SendMes转载 2015-07-22 18:17:14 · 2025 阅读 · 0 评论 -
Linux_Shell 具有一定规律的日志提取 指定字段
今天接到了一个任务对于有一定规则的日志提取其中的a 字段并进行去重处理,主要用到了awk, 特此记录一下。"112.65.201.58" - "-" - "[28/Feb/2017:00:08:21 +0800]" - "GET /track_proxy?tid=dc-811&cid=148820998091312764&dr=https%3A%2F%2Funitradeprod.原创 2017-03-14 20:58:01 · 7717 阅读 · 0 评论