
vb.net中怎么样声明FindWindow和GetWindowThreadProcessId方法啊?还有“user32.dll”里面的方法能查看吗
展开全部
Declare Function FindWindow Lib "user32" Alias "FindWindowA"
(ByVal lpClassName As String, ByVal lpWindowName As String) As Int32
Declare Function GetWindowThreadProcessId Lib "user32" Alias
"GetWindowThreadProcessId" (ByVal hwnd As Int32, lpdwProcessId As Int32) As
Int32
跟 VB6 里的声明没什么区别,只不过 Long 要变成 Int32 而已。
user32.dll 是 Windows 用户界面相关应用程序接口,用于包括 Windows 处理,基本用户界面等特性,如创建窗口和发送消息。所以和这些相关的 API 都封装在这里。但并不是所有的接口都对用户开放了,只开放了部分,也就是在编程中能调用的 API,所以要查看起来的话不容易。
展开全部
VB和VB.NET还是有许多类型上的不同,有时候直接搬VB过来会出错,例如VB貌似是不存在IntPtr这个句柄结构,ByRef的定义也有区别,API声明最好用VB.net标准:
<DllImport("user32.dll", SetLastError:=True)> _
Public Shared Function FindWindow(ByVal lpClassName As String, _
ByVal lpWindowName As String) As IntPtr
End Function
<DllImport("user32.dll", SetLastError:=True)> _
Public Shared Function GetWindowThreadProcessId(ByVal hwnd As IntPtr, _
ByRef lpdwProcessId As Integer) As Integer
End Function
其实几乎所有的API都可以在下面这个网站查到,而且同时有几个语言的声明方式,还能按dll分类查看,有部分还有案例的,搞编程的最好首收藏一下(http://www.pinvoke.net/)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用api浏览器,VB6有自带的,VB.NET不知道,也可用其它的api浏览器,功能更全。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询