通过句柄调整游戏窗口位置
时间: 2023-06-18 11:05:56 浏览: 68
可以使用WinAPI中的`SetWindowPos`函数来实现。该函数的原型如下:
```
BOOL SetWindowPos(
HWND hWnd,
HWND hWndInsertAfter,
int X,
int Y,
int cx,
int cy,
UINT uFlags
);
```
其中,`hWnd`为窗口句柄,`hWndInsertAfter`是一个HWND类型的参数,用于标识在哪个窗口的后面插入当前窗口,可选值有以下几种:
- HWND_BOTTOM:将窗口置于Z序的底部。
- HWND_NOTOPMOST:将窗口置于非顶部。
- HWND_TOP:将窗口置于Z序的顶部。
- HWND_TOPMOST:将窗口置于顶部,即使当前窗口失去焦点,该窗口也会保持在最上面。
`X`和`Y`参数表示窗口的左上角坐标,`cx`和`cy`参数表示窗口的宽度和高度,`uFlags`是一个标志位,用于控制窗口的行为,可选值有以下几种:
- SWP_ASYNCWINDOWPOS:如果调用线程和被调用窗口所属的进程不在同一个线程中,则不等待调用线程处理完所有消息,直接返回。
- SWP_DEFERERASE:防止在窗口移动时擦除窗口的背景。
- SWP_DRAWFRAME:在窗口周围绘制边框(相当于WS_BORDER风格)。
- SWP_FRAMECHANGED:表示窗口的边框样式或大小已经改变,需要重新绘制。
- SWP_HIDEWINDOW:隐藏窗口。
- SWP_NOACTIVATE:不激活窗口。
- SWP_NOCOPYBITS:不复制窗口中的位图到屏幕上。
- SWP_NOMOVE:不改变窗口的位置。
- SWP_NOOWNERZORDER:不改变与窗口关联的所有者窗口的Z序。
- SWP_NOREDRAW:不重绘窗口。
- SWP_NOREPOSITION:与SWP_NOOWNERZORDER相同。
- SWP_NOSENDCHANGING:防止窗口接收WM_WINDOWPOSCHANGING消息。
- SWP_NOSIZE:不改变窗口的大小。
- SWP_NOZORDER:不改变窗口的Z序。
- SWP_SHOWWINDOW:显示窗口。
比如,如果要将窗口移动到(100,100)位置,可以这样调用:
```
SetWindowPos(hWnd, NULL, 100, 100, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
```
其中,`SWP_NOSIZE`表示不改变窗口的大小,`SWP_NOZORDER`表示不改变窗口的Z序。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)