Win32
道道道人间道
这个作者很懒,什么都没留下…
展开
-
如何区分WS_POPUP、WS_OVERLAPPED和WS_CHILD
除了窗口类以外,还有成百上千种窗口风格供用户指定窗口的绘制及其行为。其中有 3种最重要的风格创建了对应3种最基本的窗口类型:重叠窗口、弹出窗口和子窗口。■ 重叠窗口(overlapped window),具有应用程序主窗口的全部特点。它的非客户区包括一个可伸缩的框架、菜单条、标题栏和最小化、最大化按钮。■ 弹出窗口(popup window),具有消息框或者对话框的全部特点。它的非客户区包转载 2014-04-13 22:11:21 · 1489 阅读 · 0 评论 -
Windows进程间各种通信方式浅谈
1 Windows进程间通信的各种方法 进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码、数据以及它可利用的系统资源(如文件、管道等)组成。 多进程/多线程是Windows操作系统的一个基本特征。Microsoft Win32应用编程接口(Application Programming Interface, API) 提供了大量支持应用程序间数据共享转载 2017-06-08 11:24:55 · 396 阅读 · 0 评论 -
WOW64
引用:WOW子系统也会处理运行64-bit应用程序的其他关键方面. 比如说, 在管理32位应用程序与windows注册表的交互时, 会给存储子系统提供接口(32位的注册表与64位的注册表不太一样.) 操作系统使用%SystemRoot%\system32目录来存储64-bit的库文件和可执行文件. 这样做是为了向后兼容, 因为很多旧系统的应用程序都是使用hardcoded的方式来获取这个路径的.原创 2017-06-30 16:44:50 · 451 阅读 · 0 评论 -
无法启动屏幕键盘
今天在编写一个应用程序时,需要调用系统的屏幕虚拟键盘,没想到这么简单的调用竟然出现问题,报“无法启动屏幕键盘“错误。试了各种调用方法:ShellExcute、CreateProcess、WinExec、system等方法都不能成功调用。但是奇怪的是在命令行或者程序->运行 中调用却又是正常的。逼的没办法,想到先将C:\Windows\System32\osk.exe程序拷贝到当前目录下再运行程序,转载 2017-06-30 16:45:57 · 6347 阅读 · 0 评论 -
CreateProcess返回740错误码
该错误码的原因是权限问题,理论上认为是执行这代码的程序权限不够的问题,但有时却不是。解决办法1:调用程序以管理员权限运行解决办法2:即调用程序以管理员的权限运行时,还是会出现此错误,这时,可以修改被调用程序的属性,要求也以管理员权限运行。原创 2017-07-07 10:49:03 · 20225 阅读 · 1 评论 -
浅析_countof宏
简介:只要知道这几个概念就不难理解_countof宏了,那就是函数指针、对数组的引用、函数的返回类型为数组类型 char (*pfn)();//返回类型为char,参数为空的函数指针类型 char (*pfn)()[5];//返回类型为char,大小为5的数组,参数为空;注意,因为不允许返回类型为数组类型,所以无法定义该函数指针类型所对应的函数实体。但能定义函数指针。 ...转载 2018-03-29 20:49:15 · 600 阅读 · 0 评论 -
解决IBasicVideo::GetCurrentImage返回0x8000ffff(E_UNEXPECTED Catastrophic failure)错误
经过查阅一番资料后,得到如下的解决方案:方案1:使用替代的接口ISampleGrabber,代替IBasicVideo,具体调用的函数为:ISampleGrabber::GetCurrentBuffer.可以参考文章:dshow中使用Sample Grabber filter抓取图像。在我的开发环境win10 + vs2013下没能找到ISampleGrabber接口;而在官方文档中提到ISa...原创 2018-10-10 11:30:10 · 1911 阅读 · 0 评论 -
VMR9 IBasicVideo::GetCurrentImage very slow
reason:You are trying to read back from video memory. Depending on hardware, such read-backs might be extremely slow. GetCurrentImage method is intended for rare snapshots where performance is not c...转载 2018-10-16 20:38:51 · 624 阅读 · 0 评论 -
DirectShow中VM9的创建与使用
Call CoCreateInstance to create the VMR-9: IBaseFilter *pVmr = NULL;hr = CoCreateInstance(CLSID_VideoMixingRenderer9, 0, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void**)&pVmr); Cal...转载 2018-10-10 11:41:50 · 484 阅读 · 0 评论 -
How To Use MCI to Play AVI/WAVE Files from Memory
SUMMARYMCI (Media Control Interface) provides a high-level interface to play multimedia files (or "device elements" as defined in MCI). By default, MCI WAVE/AVI drivers (MCIAVI and MCIWAVE) use mm转载 2016-08-05 18:36:38 · 533 阅读 · 0 评论 -
VC设置窗口透明
DWORD dwStyle = ::GetWindowLong(hWnd, GWL_EXSTYLE); // dwStyle |= WS_EX_LAYERED; ::SetWindowLong(hWnd, GWL_EXSTYLE, dwStyle); ::SetLayeredWindowAttributes(hWnd, 0, 127, LWA_ALPHA);可以在创建窗口的时候指定这转载 2015-09-21 20:17:45 · 697 阅读 · 0 评论 -
Windows程序设计笔记-------调用约定
CreateWindow只是创建了一个窗口,在内存里面有了,而在屏幕上没。UpdateWindow是将窗口显示在屏幕上。一个非常重要的时刻:在创建窗口完成后(CreateWindow) 与显示窗口前(ShowWindow),即两CreateWindow函数中会发送一个重要的消息,也是第一个消息:WM_CREATE在这个消息中,可以装载动态链接库(这是一个最好装载的点,程序已经在内存中,原创 2014-04-20 20:29:37 · 702 阅读 · 0 评论 -
Windows程序设计笔记-------消息
CALLBACK:一般在函数名的前面加上该关键字,表示函数回调,是由操作函数去调用,而不是其他函数调用,如果去掉就成了普通函数的调用 消息是操作系统发送过来的,处理消息是程序的事情Windows消息机制:主动激励,被动响应(响不响应就是程序的事情)例如:鼠标点击一个窗口,操作系统就会处理这一操作(激励),将该消息发送给相应的应用程序(放到应用程序所对应的消息队列中),最后由程序决定原创 2014-04-07 21:53:12 · 576 阅读 · 0 评论 -
关于采用默认方式处理WM_NCLBUTTONDOWN消息而“无法”产生WM_NCLBUTTONUP消息的问题
问题产生:打算自己绘制标题栏,去掉有了系统才当,就剩下了一个光秃秃的标题栏,在完成原创 2014-07-13 20:56:39 · 2063 阅读 · 0 评论 -
滚动条的使用2
前面简单介绍了滚动条的使用,以及滚动条相关的函数。下面将基于一下内容继续完善滚动条的使用: 1:GetScrollInfo、SetScrollInfo函数的使用2:解决绘制效率问题、以及最后最后一条数据不能在客户区底部显示的问题1、GetScrollInfo、SetScrollInfo函数的使用 这两个函数可以完全取代前面所使用的那一系列函数原创 2015-02-06 15:14:39 · 594 阅读 · 0 评论 -
滚动条的使用1
滚动条的使用1、 滚动条的创建在创建窗口的CreateWindow函数的风格参数中加上WM_VSCROLL 或 WM_HSCROLL风格,这样创建出来的窗口就带了滚动条。这里,滚动条不是单独的窗口,它只是窗口的一部分(可以用spy++验证),当加入滚动条后,滚动条嵌入的区域不算在客户区内,客户区自动缩进了。创建语句如下:hWnd =CreateWindow(pszClassName,原创 2015-01-29 20:11:34 · 867 阅读 · 0 评论 -
利用VC++实现AVI文件的合成和分解
摘要:本文详细的解析了AVI文件的存储结构,介绍了微软提供的用来操作AVI文件的一组API使用方法,并通过例子代码,演示了如何将一组静态Bmp图片合成一个avi视频文件以及如何将一个avi视频文件解析保存为一系列的bmp图像文件。 关键词:avi文件 bmp图像 vc AVI是音频视频交错(Audio Video Interleaved)的英文缩写,它是Microsoft公司开发的转载 2015-04-12 21:36:11 · 2075 阅读 · 0 评论 -
Windows桌面共享中一些常见的抓屏技术
原文链接:http://www.cppblog.com/weiym/archive/2013/12/01/204536.html1. BitBlt我想做Windows开发应该都知道这个API, 它能实现DC间的内容拷贝, 如果我们把源DC指定成Monitor DC或是桌面DC, 它就能实现抓屏功能。对于通过这种方式的抓屏, 有2点需要特别提醒:a. 在XP下我们可以转载 2015-05-10 00:17:30 · 1322 阅读 · 0 评论 -
Windows 7桌面显示图标窗口句柄的获取
Windows 7下,我们取桌面图标窗口的句柄使用以下语句 在windows XP时代,我们获取桌面图标窗口的句柄往往用一下语句:HWND hwndParent = ::FindWindow( "Progman", "Program Manager" );HWND hwndSHELLDLL_DefView = ::FindWindowEx( hwndParent转载 2015-05-24 23:01:17 · 4484 阅读 · 1 评论 -
窗口的parent和owner有什么区别
CWnd* GetAncestor(UINT gaFlags) const 方法参数 gaFlags 可选值有GA_PARENT,GA_ROOT,GA_ROOTOWNER想请教各位, parentparent和owner有什么区别? 请举例说明,谢谢.解决方案 » 子窗口的parent和owner是同一个窗口,但是普通窗口的parent一般是NULL,owner是桌面 ...转载 2018-10-24 18:47:50 · 1488 阅读 · 1 评论