2012-06-24 26 views
1

我正在使用以下函數和代碼嘗試獲取vb.net中客戶端窗口的大小,我認爲我的Rect結構沒有任何問題。Windows api GetClientRect問題

爲什麼我得到這個錯誤:

Arithmetic operation resulted in an overflow.

你可以得到這個工作對我來說嗎?

Private Declare Function GetClientRect Lib "user32" (ByVal _ 
    hwnd As IntPtr, ByVal lpRect As Rect) As Boolean 

Dim lobbywindow As Long = windowhwnd 
Dim lobbyrect As New Rect 

GetClientRect(lobbywindow, lobbyrect) 
+0

Lobbywindow應該是一個IntPtr。請參閱http://www.pinvoke.net/default.aspx/user32.getclientrect Rect,因爲您需要爲其聲明一個結構。有沒有理由不使用Control.ClientRectangle? –

+1

你看過pinvoke鏈接並按照RECT結構的鏈接嗎? –

+0

現在完美的工作,不得不在該網站上多一點,但得到它的工作:) – marscom

回答