读书人

这代码在VS2012下不太行啊如何改改呀

发布时间: 2013-10-11 14:52:39 作者: rapoo

这代码在VS2012下,不太行啊,怎么改改呀?

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal y As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI '确定坐标
X As Long
y As Long
End Type
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long '确定坐标
Dim P As POINTAPI '确定坐标

Private Declare Function ScreenToClient Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long

Private Sub Command1_Click()
X = 200
y = 300
h = WindowFromPoint(X, y)
hD = GetDC(h)
ScreenToClient h, P
c = GetPixel(hD, X, y)
R = c Mod 256
G = (c \ 256) Mod 256
B = c \ 256 \ 256
Print R
Print G
Print B
End Sub

按编译器的提示改了改,那里的X,Y应为声明,也改不了呀。。。应该怎么改呀?
[解决办法]
这代码只能用在VB6中。VB2012是另外一种语言,完全不同了。
[解决办法]
楼主说的VS2012全称是Visual Studio 2012,是个开发套件,你使用时先要搞清楚自己建的是哪种语言的工程。还有,用.NET的话就尽量少用API吧:)
[解决办法]
简单的办法,直接用vb6封装成dll吧。vb.net再引用就可以了。

读书人网 >VB

热点推荐