创建特定窗口后如何调整其大小?
Posted
技术标签:
【中文标题】创建特定窗口后如何调整其大小?【英文标题】:How can i resize a specific window after it's created? 【发布时间】:2011-05-30 05:37:55 【问题描述】:我想在创建后调整某些游戏窗口 (DirectX) 的大小,游戏窗口允许通过鼠标从边缘调整大小。但我想自动执行此操作,因为通过鼠标很难做到这一点:光标在边缘不可见,我必须首先使窗口失焦,才能通过单击边缘来调整大小。需要说明的是:我没有这个游戏的资源,所以我必须制作自己的程序来做到这一点。
如何做到这一点?或者更好:是否已经有现有的程序来做这些事情?
【问题讨论】:
【参考方案1】:可能会有问题,但最好先尝试简单的事情。
正如您用 C++ 标记的帖子,我想您正在寻找 WinAPI 解决方案。试试这个:
int width = 640;
int height = 480;
HWND handle = ::FindWindow(NULL, _T("Window title"));
::SetWindowPos(handle, 0, 0, 0, width, height, SWP_NOMOVE | SWP_NOOWNERZORDER | SWP_NOZORDER);
【讨论】:
完美运行!顺便说一句,那些 :: 标记是什么?没有它们也可以工作。 它们用于在本地定义的符号和全局符号之间进行选择。例如,如果您有一个类,其方法名称与“FindWindow”完全相同,则没有其他方法可以调用 WinAPI 函数:class MyClass void FindWindow() blah-blah void func1() FindWindow() <-- call local one void func2() ::FindWindow() <-- calls WinAPI
以上是关于创建特定窗口后如何调整其大小?的主要内容,如果未能解决你的问题,请参考以下文章