将VB代码转换为C#代码
以下是VB代码 如何转为C#代码 主要是调用api时Any不知道在C#如何表示等 求完整 麻烦了 谢谢
Public Const WM_COPYDATA As Integer = &H4A
Public Type COPYDATASTRUCT
dwData As Long
cbData As Long
lpData As Long
End Type
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, hpvSource As Any, ByVal
cbCopy As Long)
Public Declare Function findWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal
lpWindowName As String) As Long
Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As
Long, ByVal wParam As Long, lParam As Any) As Long
'调用方法
Public Function CallCenterCall(tel As String)
On Error GoTo err:
Dim FT_hWnd As Long
Dim cds As COPYDATASTRUCT
Dim msg As String
'info = "companyid:'" & companyid & "',tel:'" & tel & "',uid:'" & uid & "',linkman:'" & linkman &
"',isout:'" & isout & "'"
msg = "tel:'" & tel & "'"
Dim buf() As Byte
ReDim Preserve buf(LenB(msg))
Call CopyMemory(buf(1), ByVal msg, LenB(msg))
cds.lpData = VarPtr(buf(1))
cds.cbData = LenB(msg)
cds.dwData = 0
'Dim pid
'pid = GetPsPid("CallCenterClient.exe")
FT_hWnd = findWindow(vbNullString, "呼叫中心")
'FT_hWnd = FindProcessWindow(pid)
If FT_hWnd <> 0 Then
SendMessage FT_hWnd, WM_COPYDATA, 0, cds
Else
MsgBox "呼叫中心未启动!", vbCritical, strSysName
End If
Exit Function
err:
MsgBox err.Description, vbCritical, strSysName
err.Clear
End Function