对Windows程序的事件驱动特性的了解
来源:互联网 发布:android 屏幕旋转软件 编辑:程序博客网 时间:2024/05/16 08:31
什么是事件驱动?
程序不断等待(利用一个while循环),等待任何可能的输入,然后做判断,然后再做适当的处理,上述的“输入”是由操作系统捕捉到之后,以消息形式进入程序之中。如下:
MSG msg;
While(GetMessage(&msg, NULL, NULL,NULL))
{
}
什么是消息?
消息,就是上面的MSG结构,是Windows内设的一种数据格式。接受并处理消息的主角就是窗口。每个窗口都应该有一个函数负责处理消息,程序员必须负责设计这个所谓的“窗口函数”。
消息的取得、分派、处理?
WinMain(hInst, hPrev,…)
{
MSGmsg;
RegisterClass(…);
CreateWinow(…);
ShowWindow(…);
UpdateWindow(…);
While(GetMessage(&msg…))
{
TranslateMessage(…);
DispatchMessage(…);
}
}
Return msg.wParam;
WndProc(hwnd, msg, wParam, lParam)
{
Switch(msg)
{
case:…;
case:…;
}
}
在程序执行过程中,不断以GetMessage从消息队列中抓取消息。DispatchMessage通过Windows USER模块的协助与监督,把消息分派至窗口函数,消息将在该处被判别并处理。
- 对Windows程序的事件驱动特性的了解
- WINDOWS程序的事件驱动特性——核心是消息
- 事件驱动的程序开发
- 我对事件驱动的理解
- SWing的经典写法,了解事件驱动和内部类
- Linux基于事件驱动的程序框架
- 对windows消息驱动的重新认识
- 对程序驱动机制的一些理解
- 了解事件的类型
- 对iOS程序启动的顺序的了解
- 了解JQuery的事件绑定特性和事件命名空间机制,编写更好、更灵活的事件处理代码
- 了解JQuery的事件绑定特性和事件命名空间机制,编写更好、更灵活的事件处理代码
- 了解hibernate的特性:filter
- 对Activity的了解
- 对Activity的了解
- 对ERP的了解
- 对触发器的了解
- 对Activity的了解
- 我使用过的Linux命令之tree - 以树状图列出目录的内容
- 纯java方式访问远程WebService接口返回的xml格式的数据保存在本地
- SQL注入漏洞全接触--高级篇 [3]
- STL源码分析《4》----Traits技术
- UIAcceleration 加速器 UIAcceleration 三维加速数据
- 对Windows程序的事件驱动特性的了解
- Android 异步连网框架
- PL/SQL Developer 远程连接Oracle数据库
- 1030. Travel Plan
- Apache HttpComponents
- Oracle将字符编码从GBK转到UTF8会产生哪些后果,如何操作比较稳妥?
- Python 菜鸟学习第八课
- uva 154 rails
- EAS客户端登录windows server 2008上EAS服务端的端口问题。