随笔分类 - windwos编程实战
摘要:核心代码如下:HWND hVideoWnd = capCreateCaptureWindow(NULL,WS_POPUP,0,0,200,300,hWnd,0); //创建摄像头视频窗口if (capDriverConnect(hVideoWnd,0)) //连接驱动程序{ ::SetParent(hVideoWnd,hWnd); //设置父窗口 ::SetWindowLong(hVideoWnd,GWL_STYLE,WS_CHILD); ::SetWindowPos(hVideoWnd,NULL,10,10,300, 300, SWP_NOZORDER); ...
阅读全文
摘要:(一) IO模型I/O设备处理方式一般有两种 同步和异步同步阻塞:这种方式就一直读写IO直道操作完成或者失败。异步IO:使用overlapped I/O。overlapped I/O是WIN32的一项技术,你可以要求操作系统为你传送数据,并且在传送完毕时通知你。(二)使用overlapped I/O: 先来看看OVERLAPPED 结构体有两种定义:typedef struct _OVERLAPPED { DWORD Internal; DWORD InternalHigh; DWORD Offset; DWORD OffsetHigh; HANDLE hEvent; }O...
阅读全文
摘要:DebugView是一个系统调试信息输出的捕获工具。在程序中使用如下函数: 1> OutputDebugString 或者在MFC中使用TRACE 2> 内核模式中使用Out_Debug_String,DbgPrint ,_Debug_Printf_Service编译程序为DEBUG版本,然后运行程序(不是在vs 中运行,是单独运行),打开debugview 就可以在其中看到输出的调试信息。Debugview 也支持远程调试,在本机运行Dbgview.exe /c/s/t 可以让DebugView以服务的形式运行。在远端打开Debugview,点击Computer/connect
阅读全文
摘要:Handle 是用来标记windows资源Hwnd Handle的一个子类 就好比char是int的一个子类一样。这个是窗口句柄HINSTANCE Handle的一个子类,用来标记可执行程序的实例App实例。使用hwnd 和 HINSTANCE是方便用户阅读维护代码。
阅读全文
摘要:windows 编程遇见最多问题莫过于这俩字符编码格式了。 有时候工程中用unicode 编码。而调用一些老版本的库 这些库采用多字符编码。在用时需要使用到WideCharToMultiByte 函数进行转换。 一次我在合别人代码到工程中时候看到广泛采用"char"形式的字符串,然后在较高版本的vs 中工程基本都是 unicode 编码。1> 一种方法是 把原先代码编译成库函数直接调用 改动少;2>另一种方法是更改源代码系统调用函数为多字符 微软一般系统调用有两种形式,采用宏定义在不同平台使用系统调用; FuctionNameA(...) FuctionName
阅读全文