C# GetClientRect的替代方案?

C# GetClientRect的替代方案?,c#,winapi,getclientrect,C#,Winapi,Getclientrect,我正在监视Vista上处于窗口模式的DirectX应用程序。GetClientRect报告正确的大小,直到应用程序最小化并恢复,然后它始终返回预览大小(106x160) 除了使用GetClientRect WinAPI,还有其他方法查询客户端区域的窗口吗?可能向窗口发送消息,或者检查Windows对窗口客户端区域的了解 如果您能使用C#或.NET,我们将不胜感激。如果您能使用C#或.NET,这将是一种奖励,但任何其他语言都可以我认为您不应该在最小化应用程序时调用GetClientRect,因为它

我正在监视Vista上处于窗口模式的DirectX应用程序。GetClientRect报告正确的大小,直到应用程序最小化并恢复,然后它始终返回预览大小(106x160)

除了使用GetClientRect WinAPI,还有其他方法查询客户端区域的窗口吗?可能向窗口发送消息,或者检查Windows对窗口客户端区域的了解


如果您能使用C#或.NET,我们将不胜感激。如果您能使用C#或.NET,这将是一种奖励,但任何其他语言都可以

我认为您不应该在最小化应用程序时调用GetClientRect,因为它没有多大意义,最小化时根本看不到客户端区域


看看这里:当然有一种方法可以检测窗口何时被最小化,这样您就可以避免在这种情况下使用
GetClientRect

我认为当应用程序被最小化时,您不应该调用GetClientRect,因为它没有多大意义,最小化时根本看不到客户端区域


请看这里:当然有一种方法可以检测窗口何时最小化,这样您就可以避免在这种情况下使用
GetClientRect

我在应用程序还原后调用GetClientRect,因此这实际上没有多大帮助。我注意到,在调用GetClientRect 3分钟后,维度最终被正确设置,这很奇怪,但这就是为什么我想知道是否有其他方法可以获取客户端rect。我在应用程序还原后调用GetClientRect,因此这并没有多大帮助。我注意到,在调用GetClientRect 3分钟后,维度最终被正确设置,这很奇怪,但这就是为什么我想知道是否有其他方法可以获得客户机rect。