reactos操作系统实现(175)

前端之家收集整理的这篇文章主要介绍了reactos操作系统实现(175)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

GetDesktopWindow函数主要用来获取桌面窗口的句柄。下面就是这个函数的实现代码

#001 HWND WINAPI

#002 GetDesktopWindow(VOID)

#003 {

#004 PWINDOW Wnd;

#005 HWND Ret = NULL;

#006

使用SEH机制来获取桌面窗口。

#007 _SEH2_TRY

#008 {

函数GetThreadDesktopWnd获取当前线程的桌面句柄。

#009 Wnd = GetThreadDesktopWnd();

#010 if (Wnd != NULL)

从窗口指针里获取这个窗口句柄。

#011 Ret = UserHMGetHandle(Wnd);

#012 }

#013 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)

#014 {

#015 /* Do nothing */

#016 }

#017 _SEH2_END;

#018

#019 return Ret;

#020 }

GetThreadDesktopWnd函数

#001 PWINDOW

#002 FASTCALL

#003 GetThreadDesktopWnd(VOID)

#004 {

通过函数GetThreadDesktopInfo获取桌面信息结构,然后再从结构里获取窗口句柄。

#005 PWINDOW Wnd = GetThreadDesktopInfo()->Wnd;

#006 if (Wnd != NULL)

转换桌面指针为用户空间合适的窗口对象

#007 Wnd = DesktopPtrToUser(Wnd);

#008 return Wnd;

#009}

原文链接:https://www.f2er.com/react/308346.html

猜你在找的React相关文章