How can I make sure there is only one instance of my application running

Saar Carmi shows how to do this in his sample found on C# Corner. In it, he uses the Process class in System.Diagnostics to implement this functionality using code such as [C#] public static Process RunningInstance() { Process current = Process.GetCurrentProcess(); Process[] processes = Process.GetProcessesByName (current.ProcessName); //Loop through the running processes in with the same name foreach (Process process in processes) { //Ignore the current process if (process.Id != current.Id) { //Make sure that the process is running from the exe file. if (Assembly.GetExecutingAssembly().Location.Replace(‘/’, ‘\\’) == current.MainModule.FileName) { //Return the other process instance. return process; } } } //No other instance was found, return null. return null; } [VB.NET] Public Shared Function RunningInstance() As Process Dim current As Process = Process.GetCurrentProcess() Dim processes As Process() = Process.GetProcessesByName(current.ProcessName) ’Loop through the running processes in with the same name Dim process As Process For Each process In processes ’Ignore the current process If process.Id <> current.Id Then ’Make sure that the process is running from the exe file. If [Assembly].GetExecutingAssembly().Location.Replace(‘/’, ‘\’) = current.MainModule.FileName Then ’Return the other process instance. Return process End If End If Next process ’No other instance was found, return null. Return Nothing End Function ’RunningInstance

How do you make .Net components that could be used by COM

The tool Regasm.exe can create a COM typelib and creates the necessary entries in the registry (the CLSID and Typelib ). If only a typelib is required, you can use tlbexp.exe. A com callable wrapper (CCW) will be created when a COM client (VB, VBS, JS, C++ etc.) creates an instance of a (managed) class.

What is a GraphicsPath

The GraphicsPath class represents a series of connected lines and curves. Michael Gold uses this class to draw the hands for his Virtual Clock sample found on C# Corner.