![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Windows程序设计
nicholas199109
这个作者很懒,什么都没留下…
展开
-
Windows消息编程(实例)
本文主要包括以下内容: 1、简单理解Windows的消息 2、通过一个简单的Win32程序理解Windows消息 3、通过几个Win32程序实例进一步深入理解Windows消息 4、队列消息和非队列消息 5、WM_COMMAND和WM_NOTIFY 6、MFC的消息映射 7、消息反射机制1、简单理解Windows的消息 消息,就是指Windows发出的一个通知,告诉应用程序转载 2012-11-25 23:12:35 · 917 阅读 · 0 评论 -
VC SDK下如何设置对话框左上角的图标
郁闷,今天弄了一下午就为了弄明白一件事,为什么我之前创建的对话框左上角有图标,而今天它死活不肯出来,搞了半天终于知道原来是用错函数了。。。SetClassLong(hwndDlg,GCL_HICON,(long)hIcon);SendMessage(hwndDlg,WM_SETICON,ICON_BIG,(long)hIcon);SendDlgItemMessage(hwndD原创 2013-02-04 21:05:05 · 5572 阅读 · 1 评论 -
HeapAlloc、VirtualAlloc、GlobalAlloc和LocalAlloc
1. HeapAlloc:MSDN上的解释为:HeapALloc是从堆上分配一块内存,且分配的内存是不可移动的(即如果没有连续的空间能满足分配的大小,程序不能将其他零散的空间利用起来,从而导致分配失败),该分配方法是从一指定地址开始分配,而不像GloabalAlloc是从全局堆上分配,这个有可能是全局,也有可能是局部。函数原型为:LPVOIDHeapAlloc(HANDLE hHe转载 2013-03-18 22:54:57 · 719 阅读 · 0 评论 -
在MFC中添加用户自定义消息
消息机制是windows的典型运行机制,在MFC中有很多的消息如WM_BTN**等。但是在有些情况下我们需要自定义一些消息去做一些我们需要的功能,MFC的向导不能帮助我们做到这一点,我们可以通过添加相应的代码去完成这个功能。添加自定义消息操作如下:1. 建立MFC工程,如基于对话框的应用程序,Test。2. 在资源中添加要处理的消息的值,即在CTestDlg.h中添加 如下代码。转载 2013-03-24 15:59:28 · 2085 阅读 · 0 评论 -
vc++高级班之注册表篇[1]---认识并操作注册表
①、注册表简介:注册表到底是个什么东西?注册表实际上是一个管理配置系统运行参数的核心数据库,它记录了安装软件与运行程序的关联关系,计算机的硬件配置等信息。可以说计算机上所有针对硬件、软件、网络的操作都是源于注册表的。可以使用 regedit.exe 这个系统提供的注册表编辑器去管理编辑注册表,他只是一个编辑器不是注册表的文件。注册表内的所有信息都是存放在 Syste转载 2013-03-24 18:52:45 · 1389 阅读 · 0 评论 -
vc++高级班之注册表篇[3]---注册表中键值的相关操作
①、键值信息的获取:RegQueryValueEx方式一:HKEY hKey = NULL;TCHAR *lpszSubKey = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");LONG lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpszSubKey, 0, KEY_ALL_转载 2013-03-24 21:32:33 · 785 阅读 · 0 评论 -
vc++高级班之注册表篇[5]---提权打开SAM子键
①、普通方式打开 SAM 子键:HKEY hKey = NULL;TCHAR *lpszSubKey = _T("SAM\\SAM\\Domains");LONG lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpszSubKey, 0, KEY_ALL_ACCESS, &hKey);if (lRet == ERROR_SUCCESS) {Me转载 2013-03-24 23:06:05 · 2110 阅读 · 0 评论 -
vc++高级班之注册表篇[2]---注册表中键的相关操作
vc++高级班之注册表篇[2]---注册表中键的相关操作----------------------------------------------------------------------------------------①、键信息的获取:用到的API函数:RegQueryInfoKeyvoid CRegTestDlg::OnBnClickedBtn(){HKEY h转载 2013-03-24 21:32:01 · 770 阅读 · 0 评论 -
vc++高级班之注册表篇[4]---其他类型键值的设置
①、DWORD 类型键值的设置HKEY hKey = NULL;TCHAR *lpszSubKey = _T("Console");LONG lRet = RegOpenKeyEx(HKEY_CURRENT_USER, lpszSubKey, 0, KEY_ALL_ACCESS, &hKey);if (lRet == ERROR_SUCCESS) {DWORD dwValue转载 2013-03-24 22:21:52 · 902 阅读 · 0 评论 -
使用HANDLE_MSG宏简化Win32应用的开发
Win32应用中的回调函数WndProc用于接收Windows向应用程序直接发送的消息,以及响应消息。大多情况下,我们这样编写代码:view plaincopy to clipboardprint?LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam ){int cxC转载 2013-02-04 15:17:44 · 511 阅读 · 0 评论 -
(SDK)VC控件的类别以及消息和方法
Controls MSDN2001转载 2013-02-03 22:53:01 · 558 阅读 · 0 评论 -
Windows消息机制
摘要:Windows编程和Dos编程,一个很大的区别就是,Windows编程是事件驱动,消息传递的。所以,要学好Windows编程,必须对消息机制有一个清楚的认识,本文希望能够对消息的传递做一个全面的分析。 什么是消息? 消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出一个转载 2012-11-25 23:08:31 · 369 阅读 · 0 评论 -
匈牙利命名法
变量(还包括宏)的命名规则,比较系统和彻底的有 Windows 编程中用到的匈牙利命名法。匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。这些符号可以多个同时使用,顺序是先m_(成员变量),再指针,再简单数据类型,再其他。例如:m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。有关匈牙利命名法的一点有意思的说明是它的名字的由来转载 2013-01-31 22:36:34 · 457 阅读 · 0 评论 -
unicode、utf-8、ansi的故事及其相互转换
unicode、utf-8、ansi的故事原文地址:http://blog.csdn.net/iscandy/archive/2009/02/02/3859219.aspx很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为"字节"。再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用转载 2013-02-02 14:46:31 · 546 阅读 · 0 评论 -
关于wchar的两个常用函数wcstombs和WideCharToMultiByte
宽字符已经困扰我很久了,以前我都是设置项目的属性把它改为多字节,不用UNICODE。不过现在又遇到宽字节的问题,没有办法,只有硬着头皮学学:看了之后我才发现原来有wcsXXX的函数专门处理宽字节的,就是strXXX一样好使。呵呵,我不再惧怕了,就试着自己写了一下,还是学了蛮多东西的:1.有wcsXXX的函数和strXXX的函数对应处理宽字节,wcslen就是求长度的,wcscmp就是比较两转载 2013-02-02 19:47:36 · 10301 阅读 · 0 评论 -
Windows的第一个程序
#includeLRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);int WINAPI WinMain( HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance, // handle to pre转载 2013-01-17 18:12:27 · 372 阅读 · 0 评论 -
LPCTSTR,LPWSTR, PTSTR, LPTSTR区别
L表示long指针,这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的32为操作系统中, long指针和near指针及far修饰符都是为了兼容的作用,没有实际意义。即win32中,long,near,far指针与普通指针没有区别,LP与P是等效的。P表示这是一个指针。T表示_T宏,这个宏用来表示你的字符是否使用UNICODE, 如果你的程序定义了UNIC转载 2013-02-02 11:07:38 · 508 阅读 · 0 评论 -
WideCharToMultiByte和MultiByteToWideChar函数的用法
为了支持Unicode编码,需要多字节与宽字节之间的相互转换。这两个系统函数在使用时需要指定代码页,在实际应用过程中遇到乱码问题,然后重新阅读《Windows核心编程》,总结出正确的用法。WideCharToMultiByte的代码页用来标记与新转换的字符串相关的代码页。MultiByteToWideChar的代码页用来标记与一个多字节字符串相关的代码页。常用的代码页由CP_ACP和C转载 2013-02-02 19:45:30 · 664 阅读 · 0 评论 -
SDK下的俄罗斯方块程序分析
// ToyBricks.cpp : Defines the entry point for the application. // #include "stdafx.h" /*******************************************************/ /* 文 件 名: ToyBricks.c转载 2013-02-03 21:28:40 · 942 阅读 · 0 评论 -
让MFC程序支持命令行参数
http://www.cctry.com/thread-4026-1-1.html转载 2013-03-24 23:29:42 · 790 阅读 · 0 评论