是否可以更改外部窗口的最小尺寸并调整它的大小。假设外部应用程序窗口的大小为 (400,400),最小大小为 (200,200),我们有什么办法可以将其更改为 (100,100)。我有外部窗口的句柄。
我尝试使用 MoveWindow 函数
internal static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int nWidth, int nHeight, bool bRepaint);
但在窗口达到最小尺寸后无法执行此操作。不可能这样做吗?我愿意使用托管的 c# 代码,例如 UI 自动化,甚至是 Windows api、pinvoke 等。有什么建议吗?
最佳答案
可能可以在目标窗口中对某个控件进行子类化,并在控件本身接收消息之前拦截消息,让您有机会丢弃 WM_SIZE
消息(MSDN article)。但是,这需要使用 pinvoke
和 Windows API 进行大量工作。
编辑:This如果您不介意一些体力劳动,可能会容易得多。
关于c# - 更改外部窗口的最小尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25503021/