In this article, I am going to show how we can shutdown, restart, Lock, Logoff, Sleep etc. through C# Code.
Suppose your app needs to perform operations such as shutdown, restart, Logoff, Lock, Hibernation, Sleep through code, then you need to call a process that runs specific executable file (already stored in our system) along with their required arguments. Here I made a Utility Application ‘PC Controller’ that allows you to do these kind of such operations. A sample code is attached with this article.
After going through this article, we will get to know following points:
Adding items in ListView Control and showing them as Small Icons
Shutting Down, restarting, Locking , logging off operation through code
When we run this application, we get following Screen where each operation is showing as an icon in the ListView Control.
Figure-1
Let us see the above application in more detail. On this GUI designing, here a ListView Control is being used. Just follow the steps below to design GUI:
• To show item as icons, Click the arrow on the right side of the ListViewControl in designer mode and set the View to “SmallIcon”. (See Figure-2)
• Then drop an ImageList Control and add all your icon images in the ImageList Control by setting the “Images” property to folder path where we store our all icons.
• After associating images with ImageList Control, we will see ‘imageList1’ in combo box of “SmallImageList” property. Now set the Small image List property to ‘imageList1’.
• Now attach event handler for “SelectedIndexChanged” event.
Figure-2
In the “SelectedIndex_Changed” event handler, add the following code. In which we basically call a process by giving the executable file name and its command line arguments.
---------------------------------------------------------------------------------------------------------------
ProcessStartInfo startinfo = new ProcessStartInfo(filename, arguments);
Process.Start(startinfo);
----------------------------------------------------------------------------------------------------------------
Here is the full Code:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
DoOperation(listView1.SelectedItems[0].Text);
}
private void DoOperation(string oparation)
{
string filename = string.Empty;
string arguments = string.Empty;
switch (oparation)
{
case "Shut Down":
filename = "shutdown.exe";
arguments = "-s";
break;
case "Restart":
filename = "shutdown.exe";
arguments = "-r";
break;
case "Logoff":
filename = "shutdown.exe";
arguments = "-l";
break;
case "Lock":
filename = "Rundll32.exe";
arguments = "User32.dll, LockWorkStation";
break;
case "Hibernation":
filename = @"%windir%\system32\rundll32.exe";
arguments = "PowrProf.dll, SetSuspendState";
break;
case "Sleep":
filename = "Rundll32.exe";
arguments = "powrprof.dll, SetSuspendState 0,1,0";
break;
}
ProcessStartInfo startinfo = new ProcessStartInfo(filename, arguments);
Process.Start(startinfo);
this.Close();
}
}
No comments:
Post a Comment