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,这时候就将传进来的指定消息消息进行了处理。

  • 相关阅读:
    js中split()和join()的用法
    事件监听
    行内元素和块级元素
    parseInt()详解
    进制的转换
    什么叫优雅降级和渐进增强?
    js延迟加载的方式有哪些?
    javascript作用域和作用域链
    函数的原型对象和原型链?
    Tensorflow知识点学习
  • 原文地址:https://www.cnblogs.com/hackerl/p/3701347.html
Copyright © 2011-2022 走看看