C++ win32 c++;将窗口位置设置为右下角

C++ win32 c++;将窗口位置设置为右下角,c++,windows,winapi,window,hwnd,C++,Windows,Winapi,Window,Hwnd,如何将窗口设置在屏幕的右下角(不包括任务栏)?我可以用CreateWindowEx完成它吗?但我只看到CW_使用默认值,没有CW_将其设置到角落 HWND HWND=CreateWindowEx( 无效的 DUCKPROC_类_名称, DUCKPROC\u窗口\u提示\u名称, WS|U边框| WS|U可见, CW_使用默认值, CW_使用默认值, CW_使用默认值, CW_使用默认值, 无效的 无效的 GetModuleHandle(空), 无效的 ); 这是将窗口放置在右下角的示例。(这里我

如何将窗口设置在屏幕的右下角(不包括任务栏)?我可以用CreateWindowEx完成它吗?但我只看到CW_使用默认值,没有CW_将其设置到角落

HWND HWND=CreateWindowEx(
无效的
DUCKPROC_类_名称,
DUCKPROC\u窗口\u提示\u名称,
WS|U边框| WS|U可见,
CW_使用默认值,
CW_使用默认值,
CW_使用默认值,
CW_使用默认值,
无效的
无效的
GetModuleHandle(空),
无效的
);

这是将窗口放置在右下角的示例。(这里我设置窗口的宽度和高度都是200。)

您可以使用CreateWindowEx,但不必使用,因为:

使用扩展窗口创建重叠、弹出或子窗口 风格否则,此函数与CreateWindow相同 功能


您可以提供所需的窗口坐标,而不是CW_Use默认值。还可以查看
系统参数info
:以检索屏幕坐标和任务栏大小。您必须使用这些数据来计算和设置窗口的位置
   RECT desktopRect;
   if (!GetWindowRect(GetDesktopWindow(), &desktopRect))
       return FALSE;

   int windowWidth = 200;
   int windowHeight = 200;
   int posX = desktopRect.right - windowWidth;
   int posY = desktopRect.bottom - windowHeight;
   HWND hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
       posX, posY, windowWidth, windowHeight, nullptr, nullptr, hInstance, nullptr);