zoukankan      html  css  js  c++  java
  • windows 程序的本体与操作系统之间的关系

     1 WinMain(hInst,hPrev,……)
     2 {
     3 MSG msg;
     4 RegisterClass(……);
     5 CreateWindow(……);
     6 ShowWindow(……);
     7 UpdateWindow(……);
     8 while(GetMessage(……))
     9 {
    10 TranslateMessage(……);
    11 DispatchMessage(……);
    12 }
    13 return msg.wParam;
    14 }
    15 
    16 Window Procedure
    17 
    18 WndProc(hwnd,msg,wParam,lParam)
    19 {
    20 switch(msg):
    21 case WM_CREATE:……;
    22 case WM_COMMAND:……;
    23 case WM_LBUTTONDOWN:……;
    24 case WM_PAINT:……;
    25 case WM_CLOSE:……;
    26 case WM_DESTROY:……;
    27 default:return DefWiindowProc(……);
    28 }
    View Code

    操作系统维持两个消息队列,系统消息队列和应用消息队列,Windows操作系统将外界输入的消息放入到系统消息队列中,将应用产生的消息放到应用消息队列中,这些都是Windows的USER Module 模块的协助下完成的,然后Windows应用程序的winmain函数是主体,大概内容如下:

    代码中的GetMessage从消息队列中获取消息,然后再DispatchMessage中就将消息作为参数传给WndProc函数了。WndProc是一个回调函数,在USER Module中有指向该函数的指针,在特定的事件或条件发生时由操作系统就调用的WndProc,这时候就将传进来的指定消息消息进行了处理。

  • 相关阅读:
    潜水员(二维DP)
    开餐馆(OJ 6045)
    石子归并(区间DP)
    庆功会(多重背包)
    JavaScript案例三:动态显示时间
    JavaScript案例二:在末尾添加节点
    JavaScript案例一:Window弹窗案例
    JavaScript BOM对象介绍
    JavaScript模拟函数重载
    MapReduce作业和任务
  • 原文地址:https://www.cnblogs.com/hackerl/p/3701347.html
Copyright © 2011-2022 走看看