我用vb.net 调用 InvalidateRect 重绘桌面,怎么改参数,都是这个提示 对 PInvoke 函数“AbuBoard!AbuBoard.API::InvalidateRect”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。 Public Structure RECT
Dim Left As Int32 '矩形左上角的X坐标
Dim Top As Int32 '矩形左上角的Y坐标
Dim Right As Int32 '矩形右下角的X坐标
Dim Bottom As Int32 '矩形右下角的Y坐标
End Structure <DllImport("user32.dll")> _
Public Shared Sub InvalidateRect(ByVal hwnd As Int32, ByVal lpRect As RECT, ByVal bErase As Int32)
End Sub
Dim r As API.RECT
r.Left = 0
r.Top = 0
r.Bottom = My.Computer.Screen.Bounds.Height
r.Right = My.Computer.Screen.Bounds.Width
API.InvalidateRect(API.GetDesktopWindow, r, CType(1, Int32))
Dim Left As Int32 '矩形左上角的X坐标
Dim Top As Int32 '矩形左上角的Y坐标
Dim Right As Int32 '矩形右下角的X坐标
Dim Bottom As Int32 '矩形右下角的Y坐标
End Structure <DllImport("user32.dll")> _
Public Shared Sub InvalidateRect(ByVal hwnd As Int32, ByVal lpRect As RECT, ByVal bErase As Int32)
End Sub
Dim r As API.RECT
r.Left = 0
r.Top = 0
r.Bottom = My.Computer.Screen.Bounds.Height
r.Right = My.Computer.Screen.Bounds.Width
API.InvalidateRect(API.GetDesktopWindow, r, CType(1, Int32))
解决方案 »
- silverlight 中 如何将控件转成它的XAML代码
- 怎么将Windows窗口显示的内容用打印机打印出来
- VFW视频压缩问题
- 关于combobox控件的问题
- 工作2年,今天刚辞职 散分咯!!!
- 如何测试一段程序执行时间?
- 请问vs2005 有没有反向工程功能?
- 怎样显示文件列表??
- 急!急!给90分,一共只有190……为什么移制发布看不见任何server端的控件?
- 谁用.net做过视频采集的 进来看看 急啊!!!!!!!!!!
- 怎么在C# Silverlight项目MainPage.xaml.cs中写入文件保存到本地,保存到本地的路径是绝对路径(如保存到C:\aaa.txt),怎么写?
- 如何调出一个具备“是、否”按钮的对话框?
确保 这里的 函数 参数个数
和 类型匹配
[DllImport("user32.dll")]
static extern bool InvalidateRect(IntPtr hWnd, IntPtr lpRect, bool bErase);VB Signature:
Public Overloads Declare Function InvalidateRect Lib "User32" Alias "InvalidateRect" (ByVal hWnd As Int32, ByRef lpRect As RECT, ByVal bErase As Boolean) As Boolean
Public Overloads Declare Function InvalidateRect Lib "User32" Alias "InvalidateRect" (ByVal hWnd As Int32, ByVal lpRect As IntPtr, ByVal bErase As Boolean) As Boolean
Public Overloads Shared Function InvalidateRect(ByVal hWnd As Int32, ByVal bErase As Boolean) As Boolean
Return InvalidateRect(hWnd, IntPtr.Zero, bErase)
End Function
Public Overloads Shared Function InvalidateRect(ByVal hWnd As Int32, ByVal lpRect As System.Drawing.Rectangle, ByVal bErase As Boolean) As Boolean
Return InvalidateRect(hWnd, RECT.FromRectangle(lpRect), bErase)
End Function