- 博客(61)
- 收藏
- 关注
转载 Android中MediaButtonReceiver广播监听器的机制分析
转自:http://blog.youkuaiyun.com/qinjuning/article/details/6938436在Android中并没有定义MediaButtonReceive这个广播类,MediaButtonReceive只是作为一种通俗的命名方式来响应 插入耳机后,点击耳机上的按钮(名称:MEDIA_BUTTON)接受该广播事件的类。所有该MEDIA_BUTT
2015-09-25 21:04:55
684
转载 Android如何监听蓝牙耳机的按键事件
转自:http://blog.youkuaiyun.com/kangear/article/details/40430673写在前面: 直接想要代码很简单,你直接把滚动条拉到最底端就可以看到。如果想要十分地了解为什么,那就按照我规划的一步一步来理解。以下测试环境以手头上有的「Bluedio + 红米手机」。 1.蓝牙耳机的使用 蓝牙耳机的使用
2015-09-25 15:00:17
2475
转载 进程通信之一 使用WM_COPYDATA C++及C#实现
原文地址:http://blog.youkuaiyun.com/morewindows/article/details/6804157进程间通信最简单的方式就是发送WM_COPYDATA消息。本文提供C++及C#程序相互通信的二种实现方式。这样消息的接收端可以用C++实现,发送端可以用C++或C#实现。 发送WM_COPYDATA消息:SendMessage(接收窗口句柄,
2015-04-30 23:24:14
1059
转载 C++ stringstream介绍,使用方法与例子
From: http://www.usidcbbs.com/read-htm-tid-1898.htmlC++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件。 istringstream类用于执行C++风格的串流的输入操作。 ostringstream类用于执行C风格
2015-04-29 16:45:11
3881
转载 VC FindWindow、FindWindowEx和EnumWindows
一. 对于有指定的窗口标题名称的窗口用FindWindow就可以满足要求;二. 对于同一应用程序的多个实例枚举(ViewWnd.exe同时运行了3个实例,要把它们都要枚举出来),可以使用FindWindowEx。例如:HWND hwndLog=NULL; HWND hWnd[10]={NULL,NULL,NULL,NULL}; int nCount =0; d
2015-02-28 18:44:12
4731
转载 VC 消息值说明
WM_NULL = $0000;WM_CREATE = $0001;应用程序创建一个窗口WM_DESTROY = $0002;一个窗口被销毁WM_MOVE = $0003;移动一个窗口WM_SIZE = $0005;改变一个窗口的大小WM_ACTIVATE = $0006;一个窗口被激活或失去激活状态;WM_SETFOCUS = $0007;获得焦点
2015-01-08 17:24:46
484
转载 VC 所有的窗口样式
1 窗口样式WS_POPUP弹出式窗口(不能与WS_CHILDWINDOW样式同时使用)WS_CHILDWINDOW子窗口(不能与WS_POPUP合用)WS_MINIMIZE创建窗口拥有最小化按钮WS_MINIMIZEBOX创建窗口拥有最小化按钮,须同时指定WS_SYST
2015-01-06 18:00:57
805
转载 Stl 删除元素注意事项
STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector 、deque);另一类是以不连续的节点形式存储的容器(如:list、set、map)。在使用erase方法来删除元素时,需要注意一些问题。 在使用 list、set 或 map遍历删除某些元素时可以这样使用:正确使用方法1 std::list List; std::l
2014-12-21 18:51:53
406
转载 RAII惯用法:C++资源管理的利器
RAII是指C++语言中的一个惯用法(idiom),它是“Resource Acquisition Is Initialization”的首字母缩写。中文可将其翻译为“资源获取就是初始化”。虽然从某种程度上说这个名称并没有体现出该惯性法的本质精神,但是作为标准C++资源管理的关键技术,RAII早已在C++社群中深入人心。我记得第一次学到RAII惯用法是在Bjarne Stroustrup的
2014-12-18 11:00:58
354
转载 CComPtr用法
COM接口指针很危险,因为使用过程中需要每一个使用者都要严格并且正确的AddRef和Release,一旦出现问题,就会造成对象不能被正常释放,或者对象被重复删除,造成程序崩溃。所以使用COM接口,必须小心翼翼才行。但是,即使所有的代码中,都正确的AddRef和Release,也不一定能保证万无一失,例如:void SomeApp( IHello * pHello ){IHello*
2014-12-17 17:25:07
451
转载 Task Scheduler 对win7中任务计划的编程
http://msdn.microsoft.com/en-us/library/aa383614.aspxhttp://writeblog.youkuaiyun.com/PostList.aspx这两个链接很详细的介绍了Task Scheduler。[cpp] view plaincopy// #include "std
2014-12-17 17:23:08
3502
1
转载 createthread和closehandle
一,在程序中建立线程的概念 对于一个进程而言,在进程建立后,同时系统也会为进程自动分配一个主线程。拿Main函数而言,当Main函数执行完后,此时主线程就退出了,主线程退出也同时意味着进程结束。二,线程、内核对象、内核对象引用计数 1.创建一个线程有几种方法,这里我们先学习的是利用CreateThread()函数创建线程,此函数的参数及具体用
2014-12-17 11:18:19
673
转载 注册表更改win7的UAC方法
UAC在注册表中的对应位置 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System相关键值设置:UAC高ConsentPromptBehaviorAdmin = 2EnableLUA = 1PromptOnSecureDesktop = 1UAC中ConsentPrompt
2014-12-14 16:39:53
1323
转载 DllMain简介
1 DLL的进入/退出函数1.1 DllMain简介跟exe有个main或者WinMain入口函数一样,DLL也有一个入口函数,就是DllMain。以“DllMain”为关键字,来看看MSDN帮助文档怎么介绍这个函数的。The DllMain function is an optional method of entry into a dynamic-link libr
2014-12-09 20:29:29
407
转载 DLL 的导入与导出
动态链接库(DLL)是从C语言函数库和Pascal库单元的概念发展而来的。所有的C语言标准库函数都存放在某一函数库中。在链接应用程序的过程中,链接器从库文件中拷贝程序调用的函数代码,并把这些函数代码添加到可执行文件中。这种方法同只把函数储存在已编译的OBJ文件中相比更有利于代码的重用。但随着Windows这样的多任务环境的出现,函数库的方法显得过于累赘。如果为了完成屏幕输出、消息处理、内存管理、对
2014-12-01 16:48:02
1445
转载 C++中引用传递与指针传递区别
从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的(自始至终只能依附于同一个变量)。在C++中,指针和引用经常用于函数的参数传递,然而,指针传递参数
2014-11-03 17:40:04
449
转载 TerminateProcess 终止|杀死其它进程
这个函数可以用来终止或者说杀死一个进程,它不会留给进程及其所有线程清理的时间,系统会马上终止(杀死)这个进程的所有线程,致使进程终止。在使用此函数前我们必须要调用OpenProcess函数来获得我们要终止(杀死)进程的句柄,并且要获得进程的PROCESS_TERMINATE权限。函数原型:BOOL TerminateProcess(HANDLE hProcess,UINT uExi
2014-10-09 20:53:18
3474
转载 VC获取进程ID 线程ID 窗口句柄
VC获得进程ID获得主线程ID获得窗口句柄获得主窗口获得进程名1.窗口类名 -----> 窗口句柄 窗口标题--------> 窗口句柄HWND FindWindow( LPCTSTR lpClassName, //窗口类名 可用 VC或者VS自带的Spy++查看LPCTSTR lpWindowName //窗口标题); 举例:以 记事本为例, 记事本 窗口类名 为:N
2014-10-09 20:51:34
5215
转载 将string转换成char* (char[])
string 是c++标准库里面其中一个,封装了对字符串的操作把string转换为char* 有3中方法:1.data如:string str="abc";char *p=str.data();2.c_str如:string str="gdfd"; char *p=str.c_str();3. copy比如string str="hello";
2014-09-18 19:01:09
869
转载 WindowFromPoint和ChildWindowFromPoint函数的使用
HWND WindowFromPoint( POINT Point);功能:返回包含点的窗口句柄,Point参数指屏幕坐标。如果不存在窗口包含这个点,则返回NULL。如果窗口无效或者隐藏,则返回NULL。通过测试,发现获取部分控件句柄时,返回的都是父窗口的句柄。包括Static Text, GroupBox等等。实例:
2014-09-12 11:12:56
2348
转载 C++ string 分割字符
string str="ab defg";int i=str.find(' ');string str1=str.substr(0,i);coutreturn 0; 切割字符串#include #include #include using namespace std;int main(){ string text
2014-09-04 10:17:13
477
转载 GetStockObject 理解
GetStockObject在图形编程中是常用API之一,对于GetStockObject,我一直认为它获得的"对象"是一个句柄(因为GetStockObject的API参考下面有DeleteObject函数的链接,一般只有图形对象函数的链接中才会有它的),并且认为它是从当前程序本身拥的"对象"中返回的,后来我无意的发现了问题,请大家看看API参考手册中对函数GetStockObject的注意项:
2014-08-11 15:56:06
1022
转载 win32 CreateDialog和DialogBox
DialogBox函数原型:INT_PTR DialogBox( HINSTANCE hInstance,LPCTSTR lpTemplate, HWND hWndParent,DLGPROC lpDialogFunc);函数功能: 这个函数根据对话框资源,创建一个模式对话框,这个对话框应该用EndDialog来结束。参数:
2014-08-10 02:06:42
926
转载 win32 api CreateWindow创建窗口控件及设置字体
HWND hBtn, hEdit, hText, hCombBox; hBtn = CreateWindow( //按钮创建 "button", "创建的按钮", WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_CENTER|BS_VCENTER, 100,100,90,28,
2014-08-08 15:35:43
14184
原创 CreateThread()传递参数
#include #include // 创建 10 个线程并退出 DWORD WINAPI func(LPVOID i){ printf("线程 %d\n", *(int *)i); return 0;} int main(void){ HANDLE t[10]; int i; for (i=0; i<10; i++) {
2014-08-05 16:59:43
2123
转载 GetLastError()返回值列表
GetLastError()返回值列表:〖0〗-操作成功完成。〖1〗-功能错误。〖2〗-系统找不到指定的文件。〖3〗-系统找不到指定的路径。〖4〗-系统无法打开文件。〖5〗-拒绝访问。〖6〗-句柄无效。〖7〗-存储控制块被损坏。〖8〗-存储空间不足,无法处理此命令。〖9〗-存储控制块地址无效。〖10〗-环境错误。〖11〗-试图加载格式错误的程
2014-07-29 00:09:30
707
转载 GetDC与GetWindowDC 的区别
关于GetDC与GetWindowDCGetDc函数:用于获得hWnd参数所指定窗口的客户区域的一个设备环境。所获得的设备环境可以是通用、类或者私有类型,具体由指定窗口的类风格决定。对于通用设备环境,GetDc函数每次获取一个设备环境时都会用默认属性对它进行初始化。该函数获得的类和私有设备环境会与它们最后一次的设置保持一致。当设备环境不再需要时,应该调用ReleaseDC函数将其释
2014-07-24 22:59:51
15339
转载 win32 api 子窗口在父窗口居中的方法
如果要让窗口内的一个控件在父窗口的客户区居中,或在某一位置,可以用SetWindowPos,注意里面的第三个和第四个参数是相对于父窗口的客户区的坐标的,父窗口的客户区的坐标的左上角left,top都是0如果在父窗口里弹出一个DialogBox子窗口,这时你可能希望这个DialogBox在父窗口的客户区居中显示,你只需要在这个DialogBox的WM_INITDIALOG处理函数里加入以
2014-07-24 17:20:27
4185
转载 C++ for循环语句解释
for语句的基本格式“for语句”也称为“for循环”。语句格式为: for (表达式1;表达式2;表达式3) 循环体语句其中:表达式——3个表达式都是C++中任一合法表达式,包括逗号表达式,其中表达式2的值是逻辑型,即1或0。循环体语句——可以是单一语句,也可以是复合语句。执行流程
2014-07-23 15:11:51
1848
转载 Win32消息处理API---GetMessage
功能说明WinCE下:该函数从呼叫进程的消息队列中检索消息,并且将所检索到的消息放入到一个指定的结构体(即MSG结构)中;Win32下:该函数从呼叫进程的消息队列中检索消息,如果被检索到的消息为可分派消息,则该函数就分派该消息,如果被检索到的消息为不可分派消息,则GetMessage返回非正值,导致消息循环的结束。例如可分派的消息有:WM_PAINT、WM_SIZE、WM_CREATE等,
2014-07-18 12:55:27
1249
原创 win32 api 子控件在主窗口中的位置大小
函数功能:该函数把相对于一个窗口的坐标空间的一组点映射成相对于另一窗口的坐标空 的一组点。 函数原型:int MapWindowPoints(HWND hWndFrom, HWND hWndTo,LPPOINT lpPoints, UINT cPoints); 参数: hWndfrom:转换点所在窗口的句柄,如果此参数为NULL或HWND_DESETOP则
2014-07-16 20:40:53
4618
转载 解决WIN32窗口不响应WM_LBUTTONDBLCLK消息
今天在做一个软件时,发现win32创建的窗体不能响应WM_LBUTTONDBLCLK消息。在一番谷歌百度之后,终于找到了解决方法;废话少说,言归正传。窗体不响应WM_LBUTTONDBLCLK消息,只要在注册窗口类的时候在WNDCLASS的style成员加上CS_DBLCLKS风格就行了。下面是几种CS风格:CS_HREDRAW:当窗体的宽度发生变化时,就重新绘制窗口。CS_VRE
2014-07-08 04:27:31
959
转载 自绘标题栏(非客户区)
一般都是处理WM_NCPAINT消息来自绘非客户区,但是有些程序员说我WM_NCPAINT后第一次运行了正确,但是当我点其他窗口时这个又变回去了。主要是因为还需要处理窗口激活和非激活的消息!因为WINDOWS会在这两个消息中用系统默认的背景来重画非客户区。下面来看下当一个窗口从激活到非激活状态接受了哪几个消息:SPY++后发现,主要有3个:WM_NCACTVIE WM_ACTIVE WM_
2014-07-05 16:36:20
1849
转载 VC获取屏幕分辨率大小
//以下两个函数获取的是显示屏幕的大小,不包括任务栏等区域 int screenwidth=GetSystemMetrics(SM_CXFULLSCREEN); int screenheight=GetSystemMetrics(SM_CYFULLSCREEN); //以下两个函数获取的是真正屏幕的大小,即实际的大小 int screenwidth_real=GetSystemMe
2014-07-04 15:24:43
647
转载 C++ string类的方法
string 函数列表函数名 描述begin 得到指向字符串开头的Iteratorend 得到指向字符串结尾的Iteratorrbegin 得到指向反向字符串开头的Iteratorrend 得到指向反向字符串结尾的Iteratorsize 得到字符串的大小length 和size函数功能相同max
2014-06-23 16:56:00
459
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人