Tag Archives: csharp

How to get your IP in C#

There are two ways of getting your IP address in C#. One of them is by using the methods provided by the .NET framework and the other one by using a third party api.

What is the difference you might ask. The answer is fairly simple. There are two kinds of IP’s, internal IP’s and external IP’s. Sadly the .NET framework methods are not able to retrieve the external IP if the computer is not directly connected to the internet (no router or any other similar devices). Since this limitation exists there is only one option if you wish to get the external IP, and this is by using an online service.

I’ve constructed two methods below. One uses only the .NET framework methods but is not 100% accurate when trying to retrieve the external IP (requires the system to be directly connected to the internet). The second method uses an online service which should have fairly accurate results as long as the service is online and the computer is not behind a proxy.

Method 1
LINQ approach

Non-LINQ approach (for .NET framework versions before 3.5)

Method 2

RC4 cypher in C#

Main method:

Usage:

ROT-13 cypher in C#

ROT-13 is a letter substitution cypher that replaces a letter with the letter 13 letters after it in the alphabet. ROT-13 is an example of the Caesar cypher with the difference that Caesar cypher allows you to specify the number of letters to shift.

Main method:

Usage:

Atom-128 algorithm in C#

Encode method:

Decode method:

Usage:

Turn monitor on/off in C#

The following snippet will allow you to change your monitor’s state to either off/on or standby mode. Unlike other methods this one works on Windows 7 as well (tested under Windows 7 64bit).

The first step is to include in your class the following code:

This will allow us to send a WM_SYSCOMMAND message using SendMessage to alter the state of the monitor.

Finally, add the method which we will be calling when we want to change the monitor’s state:

Simply call the SetMonitorState method with the desirable state you want to change your monitor’s state to.

Usage:

Keep in mind that the SC_MONITORPOWER commands supports devices that have power-saving features, so depending on the monitor’s brand/drivers/firmware results might vary.