Code conversion

G

Guest

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
 
G

Guest

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.Ansi, 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.Ansi, 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.Ansi, 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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top