Inter Process Communication in C#


Alright, so you guys might know about the famous web-browser, Google Chrome. One remarkable thing in this (pretty) simple looking application is the use of a programming technique called IPC or Interprocess Communication; with IPC you can communicate with another process without invoking and other third party events. One of the most irritating about .Net is that the app freezes if it is trying to communicate with a web-service. With IPC we can eradicate this problem.

What can you do with it?

So, lets first take an example of what exactly we can do with this: suppose that you have a licensing application named LicMan.exe and a processing app called LicPro.exe. LicMan has the UI and every other part of standard human interference. And LicPro.exe just takes the License Key provided and then processes it and sends it back to LicMan.exe for display. This way the app would not hang and you have a happy customer :-)

Lots of bad ways of doing IPC:

  • Shared Memory: Difficult to manage and set-up.
  • Shared Files / Registry: Very slow doe to the writing & reading to/from disk. Difficult to manage as well.
  • SendMessage / PostMessage: Locks up the UI thread while the message is processed. Messages are limited to integer values. Can't communicate from a non-admin process to a admin process. Assumes that your process has a window. 

How To Make A Proxy Grabber In VB.NET

How To Make A Proxy Grabber In VB.NET
Okay now we are going to make a proxy grabber , so what is this proxy grabber thing ? first of all proxy is something that covers your ip address(it's like you put a jacket when snow falls lol ) and grabber ? grabber is  meant for something that will fetch you things or whatever it's called . For this tutorial we are using websites that provides proxies so we use httpwebrequest and grab the proxies from the website and we check for the right format by using regex .

Let's start ,
First go ahead and create a new project and we need a ListBox and Three Buttons so just add them . After adding them to your form arrange as you see in the below picture.
How To Make A Proxy Grabber In VB.NET
Now coming to the coding point , first add Imports System.Text.RegularExpressions namespace because we use regex as i said before , first open the button click event which is the grab button and add this codes.
 'creating our httpwebrequest target NOTE: you can use any websites that use to provide proxies directly
        Dim the_request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("")
        'creating the httpwebresponce
        Dim the_response As System.Net.HttpWebResponse = the_request.GetResponse
        'defining the stream reader to read the data from the httpwebresponse
        Dim stream_reader As System.IO.StreamReader = New System.IO.StreamReader(the_response.GetResponseStream())
        'defining a string to stream reader fisnished streaming
        Dim code As String = stream_reader.ReadToEnd
        'haha here we use the regex
        Dim expression As New System.Text.RegularExpressions.Regex("[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}:[0-9]{1,4}")
        'adding the proxies to the listbox
        Dim mtac As MatchCollection = expression.Matches(code)
        For Each itemcode As Match In mtac
After the first button we will see the second button which save.
   If ListBox1.Items.Count = (0) Then
            MessageBox.Show("Please click grab to grab proxies and then try saving", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            'defining a streamwriter
            Dim S_W As IO.StreamWriter
            'converting listbox items to string
            Dim itms() As String = {ListBox1.Items.ToString}
            ''defining a savefiledialog
            Dim save As New SaveFileDialog
            Dim it As Integer
            save.FileName = "Grabbed Proxies"
            save.Filter = "Grabbed Proxies (*.txt)|*.txt|ALL Files (*.*)|*.*"
            save.CheckPathExists = True
            S_W = New IO.StreamWriter(save.FileName)
            For it = 0 To ListBox1.Items.Count - 1
        End If
At last we need to add a line of code to clear the listbox which is

Finally debug your program and test test .. How To Make A Proxy Grabber In VB.NET
YAY it's working ,I have explained the code by commenting over the codes and i hope this is helpful . thanks

The Types Of Message Boxes In C#

I am sorry guys , i have so many problems nowadays so I cannot concentrate on blogging, by the way I came through some forums posts and I really wanted to write something so today you will be learning the Types of Message Boxes in C# and the same types of Message Boxes are available in VB.NET .

What is a Message Box?
Shortly I can say Message Boxes are used to show Messages/Alerts to the user.

What are the types of Message Boxes?
The types of Message Boxes are something very important, if you want to display a message box you should know what is the type of the Message Box is going to be(ie:if you display "Cannot Convert" then that's a Error Message.
  1. Error Message Boxes.
  2. Information/Detail Message Boxes.
  3. Warning Message Boxes.
  4. Empty Message Boxes.
  5. Questioning Message Boxes.
  6. Exception Message Boxes.
Note : There are difference between Exception and Error .

Error : Error is something that stops the system from doing it or else we can say something that does not allow doing it.

Exception : Problems that occur during the run of a program or during the usage of a function or a statement.

Influence Theme - Dark Theme For VB.NET

influence theme
I have been using this Influence theme from a little longer time and it's really impressive than other themes. I hope you will like this theme .

10 Misconceptions of Microsoft SharePoint

Microsoft SharePoint has been around since 2001 and is currently being used by almost 80 percent of Fortune 500 companies, but there are still a lot of misconceptions going around about how it works. It's time to clear those up. In the following infographic which can also be found here, are 10 misconceptions about SharePoint and the truth behind them.

1. "SharePoint doesn't run on Macs and iPads." Actually it works just fine with Office for Macs. Alternatively, with Office Web Apps, you can use your iPad browser to view and edit documents with no extra installations.
2. "SharePoint should be managed by IT." While, yes, IT should monitor SharePoint, it is made to be managed by the business and driven by the users. It's not just a tool for techies.
3. "SharePoint is easy, just install it and see the benefits." While it's not difficult to learn to use it, you and your team will need a plan and training to get the most out of it.
4. "SharePoint is only a glorified file store." That is a part of what SharePoint has to offer, but it does more than just store and manage files. Investigate further to see what else you can do with it.
5. "SharePoint is for collaboration, not for running critical LOB systems." You can absolutely integrate your LOB systems on SharePoint's network. It even has the architecture to allow you to host third-party applications.
6. "It always looks like SharePoint." If you're worried about getting stuck with an unoriginal design, don't be. SharePoint 2013 makes it even easier to incorporate your corporate style into different-looking websites. Many websites use SharePoint and you can't even tell just by looking at it.
7. "Our IT department can install it." Your IT department could handle the default installation, but for a full scale deployment, you'll want a team of experts to figure out the best method.
8. "SharePoint shouldn't need custom development." There is a lot of functionality built right into SharePoint, but you'll want to add small custom developments to bring out the biggest benefits.
9. "Everyone's using it so we should." Don't just jump on the bandwagon before determining if it's right for your team. Sometimes specialist products are actually the best option to save money long-term.
10. "SharePoint is a one-off project." It may start out as a project, but it's intended to be used consistently with your business, growing and adapting along with your business needs. The more you keep working with it, the more you find it really pays off.
With a clearer understanding of SharePoint and its benefits, you can now use it more confidently and efficiently. If you hear any of these misconceptions being shared as truth, you now also have the knowledge to correct them.

Brought to you by

How To Read And Write Registry In C#

We will see how to read and write registry in c# today .
For people who don't know about registry if i tell it on my own words registry is like a registrar(the person who registers marriage) it registers all the software's that you install so it's like a registrar .

How to read registry ?
Actually reading a registry key is a simple and can be done with 3-4 lines of codes.I am doing this in Graphical User Interface program yes a Windows Forms Project . Add the namespace using Microsoft.Win32; now make sure what you want to read and where you want to read(Local Machine,Current User,etc) , I have no idea what to read so i will read a Google Chrome Extension registered here Google > Chrome > Extensions > dmibjfmphcpfoacbchialfobiohmhged 
How To Read And Write Registry In C#
So as you can see the path in registry now i write 3 lines of codes to read the registry key path(the path of the extension) and show it in a Message Box .
    RegistryKey path = Registry.LocalMachine.OpenSubKey("Software\\Google\\Chrome\\Extensions\\dmibjfmphcpfoacbchialfobiohmhged");//path of the registry
            string read = (string)path.GetValue("path");//creating a string to get the value of 'path'
            MessageBox.Show(read,"Registry Key Value", MessageBoxButtons.OK,MessageBoxIcon.Information);//the messagebox pops with the key 'path' value
I am sorry i couldn't explain everything in the code , as you can see in the first line we define where our key is  "Local Machine" you can put anything places as in your registry for that by the way remember when you read or write registry you should use double // for the destination .

Now when i debug here the Message Box pops up with the 'path' value.
How To Read And Write Registry In C#
Done with reading .

How to write registry?
As it's very easy to read registry , it's easy to write registry by the way i can't write my key into the path i read because it Google's so i chose Current User path to write the registry key. As we did before (reading) add the namespace using Microsoft.Win32; now i will create a registry path and i will add a value called , my whole path is HKEY_CURRENT_USER\Software\Shim\Ultimate_programming_tutorials . ok now i will write the code to write the registry key.
RegistryKey set = Registry.CurrentUser.CreateSubKey("Software\\Shim\\Ultimate_programming_tutorials");//setting the path
            set.SetValue("website", "");//setting the value
            MessageBox.Show("Value has been added " + set,"Value Added",MessageBoxButtons.OK,MessageBoxIcon.Information);//creating a messagebox to show it's added(value)
            set.Close();//closing the current process
website is the name of the value we are setting and is the value of work :).

Now when i debug a Message Box pops up saying value has been added and the path that the value was added.
How To Read And Write Registry In C#
Now when i look the path , the value is there .
How To Read And Write Registry In C#
Done with writing :) . I hope this is very useful :)

How To Set .NET Framework Target For VB.NET and C# Projects

I heard that many people don't know how to change the .NET Framework target in their projects or they don't know why their programs don't work on others pc who don't have the .NET Framework that you use  so i wanted to write an article about changing the Framework so , i think everyone should target their .NET Framework to the older version because not everyone have the latest .NET Framework ; i always target my Framework to .NET 2.0 because most of the people have .NET Framework 2.0 . There is a small problem in changing your .NET Framework , if you use any latest libraries or maybe algorithms that are not compatible with older versions of .NET Framework then when you change the Framework Target it will show lots of error . I will come to the point now changing the .NET Framework is easy by the way i would like to say that it's better to change the .NET Framework target when you just started the project and don't think to change the .NET Framework in the middle of your project or in a finished project because there is a chance of your project getting corrupted .

How To Get HWID In C#

How To Get HWID In C#
I think some of you know that i have write a tutorial to get the HWID in , if you want to look at it you can go here . coming to the point now to get the HWID first of all it's something with your system so first go ahead and add right click your project name and select add reference then a windows will pop up now go to .NET tab and search for System.Management when you found that tick it and click ok.

How To Make A Downloader In C#

How To Make A Downloader Picture
Making your own downloader (simple download) would sound hard and maybe boring but actually it's not , it's very easy to make a downloader in c# . Today i will tell you how to write downloader in c# in the easiest way by the way this is just a simple one .

First of all create a new project then add two buttons, two text boxes, two labels & at last add a progressbar now change the properties of your tools as given below

Button1 - Text : Download
Button2 - Text : Save
Label1 - Text : Direct Link(Optional)
Label2 - Text : Save File(Optional)
Textbox1 - To Put The Download Link
Textbox2 - To Show The Save Directory

Arrange the tools to make your form look like this
Arranging Form

AP WOW Wake On Wan : Wake Up Your Computer

AP WOW Wake On Wan is useful program that allows you to send packets to a computer in order to switch it on .

How To Use?
  1. Click Enable WOW to enable wake on wan.
  2. Inset the IP address of the computer that you want to switch on.
  3. Insert the MAC address of the computer that you want to switch on.
  4. Insert the default subnet of the computer that you want to switch on.
  5. Insert the Port that you have forwarded to receive the packets.
  6. Click Start (WOW) to send a packet to the computer that you want to switch on.
  • Internet Connection
  • .NET Framework 4.0
  • Administrator Privilege
 Working Example

How To Make Typing Effect In C#

typing thingy
Everyone wants the typing effect in their about form of their program even i want :) , so i found a very good way to do that thing easily .

First of all create a new project to test this & add a label from the toolbox because we need it also add a timer to the form . Don't change change anything in the timer properties , Now let's create a String and a Static Integer .
string Type_Text = "Ultimate programming tutorials";//This is the text that's going to be typed
   static int index_Num = 0;//declaring integer index_Num 
Now on form_load event let's code some basics
            timer1.Interval = (150);//setting the timer interval since timer interval is Int i am not using "
            timer1.Enabled = true;//enabling the timer
            label1.Text = "";//setting label1 text to be empty
Now at last we'll go to timer_tick event so create the event first of all and we'll do some maths (*_*)
label1.Text = Type_Text.Substring(0, index_Num) + "_";//Substring is a part of Type_Text String that we declared at the start
            index_Num++;//Doing a post fix
            if (index_Num == Type_Text.Length + 1)//An if statment with a condition of course
                index_Num = 0;
Here is the full codes
        //Author : Mohamed Shimran
        //Blog :

        string Type_Text = "Ultimate programming tutorials";//This is the text that's going to be typed
        static int index_Num = 0;//declaring integer index_Num 

        private void Form1_Load(object sender, EventArgs e)
            timer1.Interval = (150);//setting the timer interval since timer interval is Int i am not using "
            timer1.Enabled = true;//enabling the timer
            label1.Text = "";//setting label1 text to be empty

        private void timer1_Tick(object sender, EventArgs e)
            label1.Text = Type_Text.Substring(0, index_Num) + "_";//Substring is a part of Type_Text String that we declared at the start
            index_Num++;//Doing a post fix
            if (index_Num == Type_Text.Length + 1)//An if statment with a condition of course
                index_Num = 0;

Now let's debug the program and see what happens

Typing Effect - Debug

As you can see in the image it's working nicely by the way the gif is bit laggy don't mind it . I hope this really helps .

Avanti : Find Programs You To Run In Compatibility Mode

Avanti is a useful program helps you to identify the programs you use to run in compatibility mode . All you have to do is right click and select analyze :).

  • Analyze 
  • Delete
  • Refresh

Avanti - Analyze & And Display Program That You Set To Run In Compatibility Mode
Main Window
Avanti - Analyze & And Display Program That You Set To Run In Compatibility Mode

Comathi Developer : Simple Notepad for developers

Comathi Developer : Notepad for developers

Comathi Developer is a great tool for developers . Comathi Developer does not require any installations , comes handy with many features :) .


  • Supports html,html,php,js(javascript),css,vb(visual basic),cs(csharp),sln,xml,txt,rtf.
  • Preview html document in your default web browser.
  • Convert text to Upper Case, Lower Case, Binary, Alphanumeric.
  • Load source code of any website by using the website URL.
  • Zoom in and zoom out.
  • Counts characters & words.
  • Multi document(Multi tab feature).
Comathi Developer
Main Window
Comathi Developer
Comathi Developer
Editing HTML
Comathi Developer
                                                                             File > New,Open,Save,Save as & Exit

  • Windows XP , Windows Vista , Windows 7 & Windows 8
  • .Net Framework 4.0 or later

  1. Softpedia
  2. SOFT-GO
  3. Brothersoft
  4. CNET

Download Comathi Developer

Free Folder Locking Software : Rabbit Locker

Today we launch Rabbit Locker.
To keep your files / folders safe in seconds.

this will be protected by a password.
watch the video and download the app.

try to run the app as Admin just in case if you find any troubles.
just run the setup and it will install just a .exe file in the folder you want or use the default folder.
this app require internet connection for registration.

problems questions don't wait just ask :)



Main View Of App[by Softpedia]
another view of Rabbit Locker[by Softpedia]

Image Source

Download From Softpedia

Free Messaging Client : Rabbit Messenger 2.0

Rabbit Messenger 2.0 is a free application which allows you to send fast and quick a message to your friends.

Without to use any email app. Some may think that rabbit Messenger is a chat application but its not, it even allows you to add friends to contact you. You can even send others a fast message without to be friends.


  • Add Friends
  • Visit there profile
  • Control your own profile
  • Compose messages
  • Save messages into a file
  • Look who's online
  • Birthday view of your friends. and send them a sweet birthday message.
  • Give other Reputation points
  • Faster Reply to messages
  • Notification of a new message every 5 min. (standard time)
  • Complete Members List
  • Delete friends
  • Change your Online Status

Infographic : Brief History About Programming

Here is a Brief History About Programming in a form an infographic which i found while surfing over the web pages :)

brief  Programming

Click here to view the image

Google Chrome Theme For VB.NET

So everyone loves the looks of Google Chrome and wonder why not in here is a theme that looks like chrome :)

first add a class

Google Chrome Theme For VB.NET
then add these codes inside the class