处理与窗口站的连接

【勇芳软件工作室】汉化HomePreviousNext

当进程首次调用必须转到Win32服务器的USER32或GDI32功能(窗口台或桌面功能除外)时,进程会自动建立与窗口站和桌面的连接。Win32服务器根据以下规则确定进程连接的窗口站:

1.如果进程已经调用了SetProcessWindowStation功能,它将连接到该通话中指定的窗口站。

2.如果进程没有调用SetProcessWindowStation,它连接到从父进程继承的窗口工作站。

3.如果进程未调用SetProcessWindowStation并且没有继承窗口站,则Win32服务器尝试打开MAXIMUM_ALLOWED访问并连接到窗口站,如下所示:

a。如果STARTUPINFO结构的lpDesktop成员在创建进程时传递给CreateProcess功能的lpDesktop成员指定了一个窗口站名称,则该进程将连接到指定的窗口工作站。

b。否则,如果进程在交互式用户的登录会话中运行,则进程连接到交互式窗口站。

c。如果进程在非交互式登录会话中运行,则基于登录会话标识符形成窗口站名称,并尝试打开该窗口站。如果打开操作失败,因为此窗口站不存在,Win32会尝试创建窗口站和默认桌面。