На строчке со звездочкой ошибка:
"System.Runtime.InteropServices.MarshalDirectiveException' occurred in UCIS ver 0.21.exe
Additional information: PInvoke restriction: can not return variants."
- Код: Выделить всё
Private Function GetScreenShot() As Bitmap
Dim hWndDesktop As IntPtr
hWndDesktop = GetDesktopWindow()
Dim rct As RECT
GetWindowRect(hWndDesktop, rct)
Dim Width As Int32 = rct.Right - rct.Left
Dim Height As Int32 = rct.Bottom - rct.Top
Dim pt As New POINTAPI
pt.y = rct.Top
pt.x = rct.Left
ScreenToClient(hWndDesktop, pt) '*
rct.Left = pt.x
rct.Top = pt.y
Dim b As New Bitmap(Width, Height)
Dim g As Graphics = Graphics.FromImage(b)
Dim hdcWindow As IntPtr = GetDC(hWndDesktop)
Dim hdc As IntPtr = g.GetHdc()
BitBlt(hdc.ToInt32, 0, 0, Width, Height, hdcWindow.ToInt32, rct.Left, rct.Top, SRCCOPY)
ReleaseDC(hWndDesktop, hdcWindow)
g.ReleaseHdc(hdc)
Return b
End Function
что это за ошибка вообще такая??? а с таким типом исключений я вообще не сталкивался.
и что конкретно не может "return variants" ("возвращать переменные" так ведь?), функция, или как?
Объясните пожалуйста, а то я в ступоре