c# - 更改外部窗口的最小尺寸

标签 c# windows winapi pinvoke

是否可以更改外部窗口的最小尺寸并调整它的大小。假设外部应用程序窗口的大小为 (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/

相关文章:

c# - 如何使用 C# 调整动画 gif 图像的大小?

windows - 使用Perl获取硬盘信息

c# - 何时清除 Documents and Settings\USER\Local Settings\Temp 文件夹?

winapi - 在 WTL 中实现自定义绘制控件中的滚动

windows - 获取进程桌面

javascript - 在javascript中得到错误的总数

C#:Enum.IsDefined 在组合标志上

winapi - 使用 Windows API 在 Rust 中打开文件

c# - 如何使用 Selenium 和 C# 单击此特定元素

windows - ServiceStack.Redis从Redis服务器读取大文件