随笔分类 - win32
摘要:1.WinMain进入循环之前,通常会有UpdateWindow来向窗口过程投放WM_PAINT消息。2.触发WM_PAINT消息的事件:之前隐藏的窗口部分重新可见;改变窗口的大小;ScrollWindow或ScrollDC滚动客户区;InvalidRect或者InvalidRgn显示产生WM_PAINT消息;而Validate则会将WM_PAINT取消掉。3.程序应该组织成可以保留绘制客户区需要的所有信息。4.客户区无效区域、有效区域的理解,处理WM_PAINT时,窗口过程可以通过GetUpdateRect获取无效区域的坐标。5.设备描述表总是与显示器上的特定窗口相关。6.WM_ERASEB
阅读全文
摘要:Note:1.Windows程序员开始时总是复制一段代码然后做相应修改(重点是深刻体会过程)2.常量前缀注记:CS —— Class Stye 类风格选项 CW —— Create Window创建窗体选项 DT —— Draw Text 绘制文本选项IDI —— ID of Icon 图标ID号IDC —— ID of Cursor 光标ID号 MB —— MessageBox 消息框选项SND —— Sound 声音选项 WM —— Window Message 窗口消息WS —— Window Style 窗口风格WParam——WcharParam(16bit)LParam—— Lon
阅读全文
摘要:1. Unicode vs ASCII typedef unsigned short wchar_t:char-一个字节位,wchar_t-两个字节,仅此而已2. wchar下的字符函数wchar_t szWchar[3]=L“ab”;strlen(szWchar); 输出1 ? wchar_t类型的'a'内存中为6100, 结果可以理解 相应的调用wstrlen(szWchar) 输出2。字符串长度不变,只是字节数改变。类似的其他函数在wchar.h头文件中可参阅。3.TCHAR的引入 通过宏定义统一管理char、wchar_t两种类型。 #define _t(x) L##x
阅读全文
摘要:Window程序设计, 类比到C程序设计。1.int WINAPI WinMain(HINTSTANCE,HINSTANCE,LPSTR,int ) int main(int argc, char[] argv) Note:a.#define WINAPI __stdcallstdcall: 约定编译器的代码生成方式,主要涉及函数参数压栈即销毁方式,具体可参考文章“__stdcall,__cdecl和__fastcall的作用” b.参数:两个HINSTANCE分别为程序实例标志,第一个为当前句柄,第二个为已运行的本程序实例句柄,32位windows已 抛弃第二个,因此全设为NULL,LPS.
阅读全文
摘要:说明: 这篇文章简单介绍Windows Moble 自定义DirectShow SampleGrabber 过滤器。背景: 在我目前的.NET CF项目中需要做一些实时视频分析。但是.NET API仅仅可以取得静态照片或者录音,他不能够访问视频流,这样我可以分析视频流。所以我选择了DirectShow API,它提供了对对视频流更好的控制,但是他还缺少ISampleGrabber接口,这个接口能使DirectShow库完全在Windows运行。接下来的是自定义一个实现ISampleGrabber接口并能允许开发者进入视频缓冲数据的DirectShow过滤器。设置你的Visual Studio
阅读全文
摘要:在上一节中给出了如下方法绘制文本 DrawText (hdc, TEXT ("Hello Windows CE!"), -1, &rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE); DrawText是一个相当高级的函数,允许由程序显示文本,而由Windows处理大部分细节。DrawText的头几个参数几乎是不言而喻,很直观。当前正在使用的设备环境句柄被传入,同时传入的还有被TEXT宏包围的用来显示的文本,声明成Unicode字符串是为了符合Windows CE的需要。第三个参数是要输出的字符个数,当为-1,则表示传入的是以N
阅读全文
摘要:程序中创建了主窗口,所以它必须为主窗口注册一个窗口类,创建窗口并且提供一个消息循环来为窗口处理消息。注册窗口类ATOM MyRegisterClass(HINSTANCE hInstance, LPTSTR szWindowClass){WNDCLASS wc;wc.style = CS_HREDRAW | CS_VREDRAW;wc.lpfnWndProc = WndProc;wc.cbClsExtra = 0;wc.cbWndExtra = 0;wc.hInstance = hInstance;wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(I
阅读全文
摘要:我也不免俗的设计了HelloCE程序,用VS2008设计了三次win32项目,第一次选择了项结果生成了一个空项目,项目中除了三个空文件夹,再什么也没有;第二次是一步一步执行下去,生成了应用程序的基本框架,窗口设计、窗口过程都有了,基本就是做个填空题就能生成一个小程序。自动生成的程序中,饱受责难的地方就是在窗口过程中总是使用巨大的switch语句。switch语句分析传给窗口过程的消息,这样每个消息可以被独立的处理。这种标准结果的优势之一是强制把一个类似的结构加到几乎所有Windows应用程序中,这使一个程序员可以更容易理解另一个人的代码。劣势是 整个窗口过程的所有的变量通常会比较杂乱的出现在过
阅读全文
摘要:基于Windows的编程远不同于基于MS-DOS或Unix的编程。只要是程序需要,任何时候基于MS-DOS或Unix的程序都可以使用getc-或putc风格的函数从键盘读取字符并写到屏幕上。这是MS-DOS或Unix程序所使用的典型的"Pull"(拉)风格,这种风格是面向过程的,而一个Windows程序,则使用"Push"(推)模式。在这种模式下,必须编写程序来响应来自操作系统的通知,比如一个键被压下去了或者收到一个重绘屏幕的命令。Windows应用程序并不从操作系统请求输入,而是由操作系统通知应用程序输入产生了。操作系统通过发送消息(messages)
阅读全文
摘要:MessageBox (NULL, TEXT ("Hello World"), TEXT ("Hello2"), MB_OK);MessageBox函数原型如下:int MessageBox (HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType);第1个参数是顶层窗口的句柄,它是消息窗口的父窗口。目前我们把这个参数置为NULL,因为Hello2还没有任何其它窗口。第2个参数是准备显示在窗口里的文字。注意传入的字符串是用TEXT宏包裹的,确保它能够编译成Unicode版本。第3个参数lpCapt
阅读全文
摘要:钩子1:什是钩子从字面上理解,钩子就是想钩住些东西,在程序里可以利用钩子提前处理些Windows消息。 例子:有一个Form,Form里有个TextBox,我们想让用户在TextBox里输入的时候,不管敲键盘的哪个键,TextBox里显示的始终为“A”,这时我们就可以利用钩子监听键盘消息,先往Windows的钩子链表中加入一个自己写的钩子监听键盘消息,只要一按下键盘就会产生一个键盘消息,我们的钩子在这个消息传到TextBox之前先截获它,让TextBox显示一个“A”,之后结束这个消息,这样TextBox得到的总是“A”。 消息截获顺序:既然是截获消息,总要有先有后,钩子是按加入到钩子链表的顺
阅读全文
摘要:说实话现在还不明白windows mobile签名机制,只晓得一点点的流程: 1. 打开目录.x:/Program Files/Windows Mobile 6 SDK/Tools/Security/SDK Development Certificates/点击 SamplePrivDeveloper.pfx一直按下一步。 2. 在你的工程当中选择“property”然后选择 “authenticode signature”.标签再点 “select from store” 你会看到刚才那个authenticode就选它再REBUILD就OK了证书过期可以修改电脑系统时间,系统时间早于过期时.
阅读全文
摘要:倒蹬了一天也没拦截短息成功。签名也通过了(证书虽然过期,改了系统时间)dll文件也加载了,就是拦截不到短信。期待以后解觉..........参考: http://www.devdiv.net/home/space-14682-do-blog-id-962.htmlhttp://www.devdiv.net/home/space.php?uid=9241&do=blog&id=820 http://www.cnblogs.com/xjb/archive/2008/01/12/windows-mobile-sms-received-mapirule.html http://code
阅读全文
摘要:今天运行了一下SDK的 Getphonenumber的例子,没在真机上测试。/////////////////////////////////////////////////////////////////////////////// Function: SHGetPhoneNumber// szNumber - Out Buffer for the phone number// cchNumber - size of sznumber in characters// nLineNumber - In which phone line (1 or 2) to get the number fo
阅读全文
摘要:一直对Windows Mobile开发很有兴趣。去年已经做过一个这方面的项目了,虽然自己看了很多资料,但是没有系统的学习过。现在应该还只是个入门者吧。现在想系统的学习一番,我决定把Windows Mobile SDK中的sample都看一遍。我想这样应该能比较全面的掌握Windows Mobile的开发。边看边写,对自己的学习成果做一个总结,也把心得体会和朋友分享。今天看了Sample:BasicApp。我安装了wm5.0的sdk,这个程序的代码在C:/Program Files/Windows CE Tools/wce500/Windows Mobile 5.0 Pocket PC SDK/
阅读全文

浙公网安备 33010602011771号