积极答复者
关于FlashWindow和API函数的调用问题

问题
-
你好。我是一个VB.NET的初学者。在学习VB.NET 2005 编程中,有时会用到API函数,但常会遇到困难。例如,调用FlashWindow功能等。我用VB6编写的调用FlashWindow的试验小程序能正常工作。但移植到VB.NET 2005时,因未能掌握有关参数的调用方法,多次试验都不能正常工作。请问:
1. 程序中如有多个窗体和多个控件,如何获得有关窗体或控件的hwnd参数?
2. API函数中的数据类型与VB.NET的有何不同?VB.NET中调用API函数时,数据类型应如何调整?
3. 试验程序的代码附予后面。函数“FlashWindow (hwnd As Long, bInvert As Long) As Long”中的参数应如何调用?
请予帮助。谢谢。
wczhou (Email:wczhou@126.com) 2011-3-8
附: VB6和VB.NET 2005中试验小程序的代码是:
Public Class Form1
Private Declare Function FlashWindow Lib "user32" Alias "FlashWindow" (ByVal hwnd As _
Long, ByVal bInvert As Long) As Long
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Button1.Click
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Dim Rt As Integer
Rt = FlashWindow(hwnd, CLng(True)) '在VB6中运行正常的代码。
End Sub
End Class
答案
-
Long 换成 Integer 因为VB是16位的,.Net是32位的
http://feiyun0112.cnblogs.com/- 已建议为答案 Calvin_GaoModerator 2011年3月9日 7:30
- 已标记为答案 ChiYauModerator 2011年3月10日 22:43
全部回复
-
Long 换成 Integer 因为VB是16位的,.Net是32位的
http://feiyun0112.cnblogs.com/- 已建议为答案 Calvin_GaoModerator 2011年3月9日 7:30
- 已标记为答案 ChiYauModerator 2011年3月10日 22:43