当前搜索:

reactos操作系统实现(172)

NtUserTranslateMessage函数实现键盘的消息转换,实现代码如下:#001  BOOL APIENTRY#002  NtUserTranslateMessage(LPMSG lpMsg,#003                         HKL dwhkl)#004  {#005     NTSTATUS Status;#006     MSG S...
阅读(1196) 评论(0)

reactos操作系统实现(171)

TranslateMessage函数用来把虚拟键消息转换为字符消息,其实现的代码如下:#001  BOOL WINAPI#002  TranslateMessage(CONST MSG *lpMsg)#003  { 在这个函数里只是简单地调用函数TranslateMessageEx。#004    return(TranslateMessageEx((LPMSG)lpM...
阅读(1314) 评论(0)

reactos操作系统实现(170)

co_IntPeekMessage主要实现内核里获取窗口消息,具体实现代码如下:#001  BOOL FASTCALL#002  co_IntPeekMessage(PUSER_MESSAGE Msg,#003                    HWND hWnd,#004                    UINTMsgFilterMin,#005      ...
阅读(1354) 评论(0)

reactos操作系统实现(169)

当用USER32.DLL里调用获取消息之后,就调用到WIN32K.SYS里处理的函数NtUserGetMessage,这个函数实现的代码如下:#001  BOOL APIENTRY#002  NtUserGetMessage(PNTUSERGETMESSAGEINFOUnsafeInfo,#003                   HWND hWnd,#004      ...
阅读(1443) 评论(1)

reactos操作系统实现(168)

当应用程序更新窗口后,就需要不断地接收系统发过来的消息,然后处理消息,最后发送消息出去,这样就构成了应用程序的消息循环处理。不断地获取系统消息的函数是GetMessage函数,下面就是它的实现代码:#001  BOOL WINAPI#002  GetMessageW(LPMSG lpMsg,#003           HWND hWnd,#004           UINT...
阅读(1232) 评论(0)

reactos操作系统实现(167)

co_UserRedrawWindow函数是用来实现窗口重画的功能,实现代码如下:#001  BOOL FASTCALL#002  co_UserRedrawWindow(PWINDOW_OBJECT Window,const RECT* UpdateRect, HRGN UpdateRgn,#003                      ULONG Flags)#00...
阅读(1379) 评论(0)

reactos操作系统实现(166)

NtUserRedrawWindow函数主要用来重画窗口显示。具体代码如下:#001  BOOL APIENTRY#002  NtUserRedrawWindow(HWND hWnd, CONST RECT*lprcUpdate, HRGN hrgnUpdate,#003                     UINT flags)#004  {#005     RE...
阅读(1189) 评论(0)

reactos操作系统实现(165)

在应用程序里,当窗口显示出来之后,需要立即调用一个函数UpdateWindow来更新窗口,否则窗口里面的内容就不会更新,显示还是前面其它窗口显示的内容。现在就来分析这个函数又是怎么样实现的,代码如下:#001  BOOL#002  WINAPI#003  UpdateWindow(#004    HWND hWnd)#005  { 在这个函数里只是简单调用Redra...
阅读(1419) 评论(1)

reactos操作系统实现(164)

继续前面的分析,上次说到需要调用函数co_WinPosShowWindow来显示窗口,那么这个函数里怎么样实现窗口的显示呢?实现代码如下:#001  BOOLEAN FASTCALL#002  co_WinPosShowWindow(PWINDOW_OBJECT Window,INT Cmd)#003  {#004     BOOLEAN WasVisible;#005...
阅读(1371) 评论(0)

reactos操作系统实现(163)

在应用程序里,当创建窗口之后,就需要把窗口显示出来,那么就需要调用函数ShowWindow,具体这个函数是怎么实现的呢?现在就来分析它的实现代码,如下:#001  EXTINLINE BOOL WINAPI#002  ShowWindow(HWND hWnd, int nCmdShow)#003  {        这里直接就调WIN32K.SYS里的代码了。#004 ...
阅读(1517) 评论(0)

reactos操作系统实现(162)

co_IntCreateWindowEx函数主要用创建一个显示的窗口,具体实现代码如下:#001  HWND APIENTRY#002  co_IntCreateWindowEx(DWORD dwExStyle,#003                       PUNICODE_STRINGClassName,#004                       PUN...
阅读(1770) 评论(0)

reactos操作系统实现(161)

NtUserCreateWindowEx函数主要用来创建一个窗口显示。在Win32k.sys里的代码如下:#001  HWND APIENTRY#002  NtUserCreateWindowEx(DWORD dwExStyle,#003                       PUNICODE_STRINGUnsafeClassName,#004           ...
阅读(1475) 评论(0)

reactos操作系统实现(160)

CreateWindowExW函数主要用来根据已经注册窗口类来创建一个窗口。它在User32.dll实现代码如下:#001  HWND WINAPI#002  CreateWindowExW(DWORD dwExStyle,#003                  LPCWSTR lpClassName,#004                  LPCWSTR lpWind...
阅读(1730) 评论(0)

reactos操作系统实现(159)

NtUserRegisterClassEx函数是Win32k.sys里实现窗口类的注册,那么窗口类的注册是什么意思呢?到底注册是为了什么样的目的呢?下面就通过实现代码的分析来解决这些问题,代码如下:#001  RTL_ATOM APIENTRY#002  NtUserRegisterClassEx(IN CONST WNDCLASSEXW*lpwcx,#003         ...
阅读(1363) 评论(0)

reactos操作系统实现(158)

在ReactOS的应用程序里,每个有窗口的应用程序都需要注册一个窗口类,然后根据窗口类来创建窗口。注册窗口的调用函数就是RegisterClassW,这个函数是UNICODE的版本,其实还有多节字版本,但代码是差不多的。这里主要分析UNICODE版本的实现,其代码如下:#001  ATOM WINAPI#002  RegisterClassW(CONST WNDCLASSW *lpWn...
阅读(1177) 评论(0)
25条 共2页1 2 下一页 尾页
    个人资料
    • 访问:5902264次
    • 积分:76279
    • 等级:
    • 排名:第22名
    • 原创:1625篇
    • 转载:61篇
    • 译文:11篇
    • 评论:2102条
    文章存档