The following is produced with out Instant C# VB to C# converter. Note that
since your sample is fragmented, Instant C# cannot determine that your code
is internal to a method until the "If" statement - that's why the variable
"lngFlags" is treated like a class variable. In general (with any converter)
the more fragmented the code, the worse the result. However, Instant C# does
use heuristics to try to handle these cases (unlike the on-line converters).
// Code in Form class
[System.Runtime.InteropServices.DllImport("wininet. dll",
EntryPoint="InternetGetConnectedState", ExactSpelling=true,
CharSet=System.Runtime.InteropServices.CharSet.Ans i, SetLastError=true)]
private static extern bool InternetGetConnectedState(ref Int32 lpdwFlags,
Int32 dwReserved);
[System.Runtime.InteropServices.DllImport("Wininet. dll",
EntryPoint="InternetDial", ExactSpelling=true,
CharSet=System.Runtime.InteropServices.CharSet.Ans i, SetLastError=true)]
private static extern Int32 InternetDial(IntPtr hwndParent, string
lpszConnectoid, Int32 dwFlags, ref Int32 lpdwConnection, Int32 dwReserved);
[System.Runtime.InteropServices.DllImport("Wininet. dll",
EntryPoint="InternetHangUp", ExactSpelling=true,
CharSet=System.Runtime.InteropServices.CharSet.Ans i, SetLastError=true)]
private static extern Int32 InternetHangUp(Int32 lpdwConnection, Int32
dwReserved);
private enum Flags: int
{
//Local system uses a LAN to connect to the Internet.
INTERNET_CONNECTION_LAN = 0X2,
//Local system uses a modem to connect to the Internet.
INTERNET_CONNECTION_MODEM = 0X1,
//Local system uses a proxy server to connect to the Internet.
INTERNET_CONNECTION_PROXY = 0X4,
//Local system has RAS installed.
INTERNET_RAS_INSTALLED = 0X10
}
//Declaration Used For InternetDialUp.
private enum DialUpOptions: int
{
INTERNET_DIAL_UNATTENDED = 0X8000,
INTERNET_DIAL_SHOW_OFFLINE = 0X4000,
INTERNET_DIAL_FORCE_PROMPT = 0X2000
}
private const int ERROR_SUCCESS = 0X0;
private const int ERROR_INVALID_PARAMETER = 0X87;
private Int32 mlConnection;
// Code in Button1 Click
private long lngFlags;
if (InternetGetConnectedState(ref lngFlags, 0))
{
//connected.
if (lngFlags & Flags.INTERNET_CONNECTION_LAN)
{
//LAN connection.
MessageBox.Show("LAN connection.");
}
else if (lngFlags & Flags.INTERNET_CONNECTION_MODEM)
{
//Modem connection.
MessageBox.Show("Modem connection.");
}
else if (lngFlags & Flags.INTERNET_CONNECTION_PROXY)
{
//Proxy connection.
MessageBox.Show("Proxy connection.");
}
}
else
{
//not connected.
MessageBox.Show("Not connected.");
}
// Code in Button2 click
Int32 DResult = 0;
DResult = InternetDial(this.Handle, "My Connection",
DialUpOptions.INTERNET_DIAL_FORCE_PROMPT, ref mlConnection, 0);
if (DResult == ERROR_SUCCESS)
MessageBox.Show("Dial Up Successful", "Dial-Up Connection");
else
MessageBox.Show("UnSuccessFull Error Code" + DResult, "Dial-Up
Connection");
//Code in button3 click
Int32 Result = 0;
if (! (mlConnection == 0))
{
Result = InternetHangUp(mlConnection, 0);
if (Result == 0)
MessageBox.Show("Hang up successful", "Hang Up Connection");
else
MessageBox.Show("Hang up NOT successful", "Hang Up Connection");
}
else
MessageBox.Show("You must dial a connection first!", "Hang Up Connection");
--
David Anton
www.tangiblesoftwaresolutions.com
Instant C#: VB to C# converter
Instant VB: C# to VB converter
Instant C++: C# to C++ converter & VB to C++ converter
Instant J#: VB to J# converter
"Sai" wrote:
Hi I am new to .Net, I have a code in VB.Net and would like to convert that
to c#. Could any one please help me as I have tried the tool "developfusion"
web site but its of no luck.
Here is my code:
// Code in Form class
Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef
lpdwFlags As Int32, _
ByVal dwReserved As Int32) As Boolean
Private Declare Function InternetDial Lib "Wininet.dll" (ByVal hwndParent As
IntPtr, _
ByVal lpszConnectoid As String, ByVal dwFlags As Int32, ByRef lpdwConnection
As Int32, _
ByVal dwReserved As Int32) As Int32
Private Declare Function InternetHangUp Lib "Wininet.dll" _
(ByVal lpdwConnection As Int32, ByVal dwReserved As Int32) As Int32
Private Enum Flags As Integer
'Local system uses a LAN to connect to the Internet.
INTERNET_CONNECTION_LAN = &H2
'Local system uses a modem to connect to the Internet.
INTERNET_CONNECTION_MODEM = &H1
'Local system uses a proxy server to connect to the Internet.
INTERNET_CONNECTION_PROXY = &H4
'Local system has RAS installed.
INTERNET_RAS_INSTALLED = &H10
End Enum
'Declaration Used For InternetDialUp.
Private Enum DialUpOptions As Integer
INTERNET_DIAL_UNATTENDED = &H8000
INTERNET_DIAL_SHOW_OFFLINE = &H4000
INTERNET_DIAL_FORCE_PROMPT = &H2000
End Enum
Private Const ERROR_SUCCESS = &H0
Private Const ERROR_INVALID_PARAMETER = &H87
Private mlConnection As Int32
// Code in Button1 Click
Dim lngFlags As Long
If InternetGetConnectedState(lngFlags, 0) Then
'connected.
If lngFlags And Flags.INTERNET_CONNECTION_LAN Then
'LAN connection.
MsgBox("LAN connection.")
ElseIf lngFlags And Flags.INTERNET_CONNECTION_MODEM Then
'Modem connection.
MsgBox("Modem connection.")
ElseIf lngFlags And Flags.INTERNET_CONNECTION_PROXY Then
'Proxy connection.
MsgBox("Proxy connection.")
End If
Else
'not connected.
MsgBox("Not connected.")
End If
// Code in Button2 click
Dim DResult As Int32
DResult = InternetDial(Me.Handle, "My Connection",
DialUpOptions.INTERNET_DIAL_FORCE_PROMPT, mlConnection, 0)
If (DResult = ERROR_SUCCESS) Then
MessageBox.Show("Dial Up Successful", "Dial-Up Connection")
Else
MessageBox.Show("UnSuccessFull Error Code" & DResult, "Dial-Up
Connection")
End If
//Code in button3 click
Dim Result As Int32
If Not (mlConnection = 0) Then
Result = InternetHangUp(mlConnection, 0&)
If Result = 0 Then
MessageBox.Show("Hang up successful", "Hang Up Connection")
Else
MessageBox.Show("Hang up NOT successful", "Hang Up Connection")
End If
Else
MessageBox.Show("You must dial a connection first!", "Hang Up
Connection")
End If
Thanks in advance
Sai