先声明一个委托:
成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、网站建设、银川网络推广、小程序设计、银川网络营销、银川企业策划、银川品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供银川建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
Public Delegate Function EnumChildProc(hwnd As Integer, iParam As Integer) As Integer
然后才能使用回调函数,回调函数的参数要和委托完全一致。
然后那个 API 函数需要这样声明:
Declare Function EnumChildWindows Lib "user32" (hWndParent As Integer, lpEnumFunc As EnumChildProc, lParam As Integer) As Integer
有一个方法可以,就是麻烦些:
1.把你的C#项目编译为dll或exe
2.使用reflector再反编译你在1中生成的dll或exe
3.在reflector中再将反编译的结果输出为VB.NET项目.
这样做,肯定是可以的,只是麻烦.
需要用到FileGenerator插件.
reflector的下载和使用,参考:
如果还有问题,hi我.
=============
补充,实在不行就加我啊,帮你远程做一遍,你就会了啊.
Option Explicit On
Option Strict On
Imports System
Module Program
Sub Main()
Dim y,m,t As Integer
begin:
' 输入数据时一行一个
y=CInt(Console.ReadLine())
m=CInt(Console.ReadLine())
t=CInt(Console.ReadLine())
If y
200 Then
Console.WriteLine("ERROR")
goto begin
End If
pr(y,m,t)
Console.Write("Press any key to continue . . . ")
Console.ReadKey(True)
End Sub
Function pr(y As Integer,m As Integer,t As Integer) As Integer
Dim ye,[Me],i As Integer
ye=CInt((m+t-2)/12+y)
[Me]=(m+t-2) Mod 12+1
End If
End Function
Function mday(y As Integer,m As Integer) As Integer
Dim day As Integer()={0,31,28,31,30,31,30,31,31,30,31,30,31}
Dim ad As I
Dim file1 As FileStream
filename = "c:\temp\MyTest.txt"
Dim GetData(4) As Byte, s(4) As Char
file1 = System.IO.File.OpenRead(filename)
Dim CMGs As Long
Dim DPBo As Long
Dim i As Integer = 0, j As Integer
While file1.Read(GetData, 0, 5) 0
i = i + 1
For j = 0 To 4
s(j) = ChrW(GetData(j))
Next
If s = "CMG=""" Then CMGs = i
If s = "[Host" Then DPBo = i - 2 : Exit While
End While
主要是vb.net取消了定长字符串, 所以用字节数组读入, 还得转成字符数组来比较.
Private Sub wmp_PlayStateChange(sender As Object, e As AxWMPLib._WMPOCXEvents_PlayStateChangeEvent)
If DirectCast(e.newState, WMPLib.WMPPlayState) = WMPLib.WMPPlayState.wmppsReady Then
wmp.Ctlcontrols.play()
End If
End Sub
Private Sub axWindowsMediaPlayer1_PlayStateChange(sender As Object, e As AxWMPLib._WMPOCXEvents_PlayStateChangeEvent)
If axWindowsMediaPlayer1.playState = WMPLib.WMPPlayState.wmppsMediaEnded Then
Me.axWindowsMediaPlayer1.currentPlaylist.clear()
Me.axWindowsMediaPlayer1.currentPlaylist.appendItem(Me.axWindowsMediaPlayer1.newMedia("f:\b.wmv"))
axWindowsMediaPlayer1.settings.setMode("loop", True)
timer1.Enabled = True
End If
End Sub
Private Sub timer1_Tick(sender As Object, e As EventArgs)
timer1.Enabled = False
axWindowsMediaPlayer1.Ctlcontrols.play()
End Sub
能不能转换 主要取决于vb6的源程序是不是使用了第三方控件 如果用了 那这些全部都不能转!~
如果vb6里面有控件数组vb.net会自动生成出一套东西(vb.net里面已经没有控件数组)模拟控件数组
如果vb6的程序很简单的话,转成.net之后应该改的地方不大!~
绝对你应该先弄清楚以前vb6的程序具体用了什么 然后去微软查一下vb6升级到vb.net最大的区别!~
我们做过好几个升级的程序 有的不用改 有的简单修改 有的基本重写!~