reactos操作系统实现(179)
SetWindowText函数是实现设置窗口标题上显示的字符串。这个函数在内核里这样实现,代码如下:
#001 BOOL WINAPI
#002 SetWindowTextW(HWND hWnd,
#003 LPCWSTR lpString)
#004 {
#005 DWORD ProcessId;
获取这个窗口相关的进程标识号。
#006 if(!GetWindowThreadProcessId(hWnd, &ProcessId))
#007 {
#008 return FALSE;
#009 }
#010
如果不是本进程,就需要使用下面的代码发送给其它进程。
#011 if(ProcessId != GetCurrentProcessId())
#012 {
#013 /* do not send WM_GETTEXT messages to other processes */
#014
设置窗口的字符串。
#015 DefSetText(hWnd, lpString, FALSE);
#016
准备窗口更新并显示字符串。
#017 if ((GetWindowLongW(hWnd, GWL_STYLE) & WS_CAPTION) == WS_CAPTION)
#018 {
#019 DefWndNCPaint(hWnd, (HRGN)1, -1);
#020 }
#021 return TRUE;
#022 }
#023
通过发送消息WM_SETTEXT来设置字符串到窗口标题里显示。
#024 return SendMessageW(hWnd, WM_SETTEXT, 0, (LPARAM)lpString);
#025 }