MFC探索
一直在路上25
热爱技术,坚持才是硬道理
展开
-
GDI
http://blog.csdn.net/byxdaz/article/details/5949590编程windows图形数据结构mfc任务图形设备接口(GDI)是一个可执行程序,它接受Windows应用程序的绘图请求(表现为GDI函数调用),并将它们传给相应的设备驱动程序,完成特定于硬件的输出,象打印机输出和屏幕输出。GDI负责Windows的所有图形输出,包括转载 2015-03-12 20:40:20 · 1986 阅读 · 0 评论 -
VC 用发音函数Beep()播放简谱音乐
Win32 API中有个非常有意思的发音函数Beep(),可以用它在扬声器上播放简单的音调,如果按简谱来设置播放的内容,就可以播放一些简单的音乐了。 函数原型:BOOL WINAPI Beep( __in DWORD dwFreq, __in DWORD dwDuration);函数说明:第一个参数表示频率,用Hz为单转载 2015-12-01 13:50:29 · 707 阅读 · 0 评论 -
使用VC库函数中的快速排序函数
上一篇讲了快速排序的实现。但在很多场合,直接使用快速排序的库函数是很方便的。下面讲下VC中库函数qsort()的用法: 函数原型:void qsort(void *base,size_t num,size_t width, int (__cdecl *compare )(const void *, const void *) );第一个是数组地址,第二是数组大小,第三个是数转载 2015-12-01 10:57:43 · 496 阅读 · 0 评论 -
VC 如何使程序运行后自己删除自己
有时候,我们需要创建一个运行后能够自己删除自己的可执行程序即自删除程序。很明显如果一个进程通过直接调用DeleteFile()来删除自己是不可能的。必须另想办法,经过本人在网上参考很多资料后实际测试并集众家之所长,发现有二种方法效果比较好。现在将其封装成函数,这样使用将更加容易:方法1,调用BAT文件。[cpp] view plaincopyprint?//转载 2015-12-01 10:36:28 · 822 阅读 · 0 评论 -
MFC SendMessage实现进程间通讯
1.新建两个对话框项目,分别在StdAfx.h中添加自定义消息#define WM_CONTROLPRINT WM_USER+10012.发送端,获得其他窗口句柄的方法FindWindow();void CAaDlg::OnButtonsend() { // TODO: Add your control notification handler code转载 2015-11-19 14:42:10 · 1053 阅读 · 0 评论 -
MFC SendMessage之间通过COPYDATA进行传输字符串
1.新建两个对话框项目,分别在StdAfx.h中添加自定义消息#define WM_CONTROLPRINT WM_USER+10012.发送端,获得其他窗口句柄的方法FindWindow();void CAaDlg::OnButtonsend() { // TODO: Add your control notification handler code转载 2015-11-19 15:45:24 · 2209 阅读 · 0 评论 -
多线程四 经典线程同步之互斥量Mutex
1、互斥量是一个内核对象,它用来确保一个线程独占一个资源的访问。 互斥量与关键段的行为非常相似,并且互斥量可以用于不同进程中的线程互斥访问资源。使用互斥量Mutex主要将用到四个函数。下面是这些函数的原型和使用说明。1)第一个 CreateMutex函数功能:创建互斥量(注意与事件Event的创建函数对比)函数原型:HANDLE CreateMutex( L转载 2015-08-24 20:55:10 · 483 阅读 · 0 评论 -
多线程五 经典线程同步之事件Event
1、首先介绍下如何使用事件。 事件Event实际上是个内核对象,它的使用非常方便。下面列出一些常用的函数。1)第一个 CreateEvent函数功能:创建事件函数原型:HANDLE CreateEvent(LPSECURITY_ATTRIBUTESlpEventAttributes,BOOLbManualReset,BOOLbInitialState,转载 2015-08-24 20:22:48 · 434 阅读 · 0 评论 -
信号量CSemaphore的使用
信号量是CSemaphore的对象,该对象的作用是对访问某个共享资源的线程的数目进行控制。头文件《afxmt.h》CSemaphore类的构造函数原型如下:CSemaphore( LONG lInitialCount /* = 1 */, //计数器的初始值 LONG lMaxCount /* = 1 */, //计数器的最大计数值转载 2015-08-24 16:32:25 · 605 阅读 · 0 评论 -
ADB高级命令
ADB高级应用一、利用无线来查看adb shell> adb tcpip 5555连接:> adb connect IP:5555见后文《调试注意事项》二、模拟按键 > adb shell input keyevent "value"部分常见按键对应值:Key | Cons转载 2015-05-20 20:47:00 · 2727 阅读 · 0 评论 -
MFC 浏览文件夹
另外参考:http://hi.baidu.com/original/item/9817473c6c82bc637d034b53浏览文件夹,其实用的是Shell里的API[cpp] view plaincopyvoid OnXXXBrowse() { CString strFolderPath;转载 2015-05-13 18:56:50 · 653 阅读 · 0 评论 -
radio button的分组
1. 环境:VS20102. 分组将radio1、radio2、radio3分为1组,radio4、radio5分为另一组;方法:设置 radio1 的 属性: group、tabstop、auto均为true设置 radio2 的 属性: group设为false, tabstop、auto均为true设置 radio3 的 属性:group设为fal转载 2015-05-13 21:32:36 · 2087 阅读 · 0 评论 -
CreateProcess函数详解
CreateProcess说明:WIN32API函数CreateProcess用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件。函数原型:BOOL CreateProcess( LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURIT转载 2015-04-15 11:42:43 · 880 阅读 · 0 评论 -
WaitForSingleObject的详细用法
用户模式的线程同步机制效率高,如果需要考虑线程同步问题,应该首先考虑用户模式的线程同步方法。 但是,用户模式的线程同步有限制,对于多个进程之间的线程同步,用户模式的线程同步方法无能为力。这时,只能考虑使用内核模式。 Windows提供了许多内核对象来实现线程的同步。对于线程同步而言,这些内核对象有两个非常重要的状态:“已通知”状态,“未通知”状态(也有翻译为:受信状态,未受信状转载 2015-04-15 13:52:19 · 40780 阅读 · 0 评论 -
VS在可执行文件中调试dll函数
随记下,在VS下如何调试需要调用的dll库,首先是运行那个运用程序exe,在dll中打一个断点,点击菜单项调试中附加到进程中找到那个exe程序,当执行到断点时候就会停下来了,随记下,最近在多线程并行这一块,慢慢找出问题原因,加油,慢慢积攒经验!原创 2015-03-24 22:42:36 · 1012 阅读 · 0 评论 -
MFC比较好的一篇文章
登录 | 注册 收藏成功 确定收藏失败,请重新收藏 确定标题 标题不能为空网址转载 2015-03-12 17:54:36 · 1102 阅读 · 0 评论 -
MFC初始化结构
cpp] view plaincopyprint?MFC是微软提供给我们的基础类库,是一套面向对象的函数库,以类的方式提供给我们使用。 利用这些类,可以有效地帮助我们完成基于Windows的应用程序的开发。 里面同样有很多全局函数用于类之间的操作调用。 MFC应用程序框架说明 打开创建的Hello工程的工作区,可以看到系统在生成应用程序框架的过程中,自动生成了以下几个类转载 2015-03-12 17:43:31 · 992 阅读 · 0 评论 -
C++ 多线程
一直对多线程编程这一块很陌生,决定花一点时间整理一下。os:ubuntu 10.04 c++1.最基础,进程同时创建5个线程,各自调用同一个函数[html] view plaincopyprint?#include iostream> #include pthread.h> //多线程相关操作头文件,可移植众多平台 using namesp转载 2016-01-14 11:30:52 · 546 阅读 · 0 评论