Set a Welcome Greet on Every Windows Startup Using C#

Introduction

Hello friends. Today we will build an application that uses the Speach API (SAPI) that says a welcome greet message on every Windows startup using C#. In other words it lets you set a message as per your choice and your Windows Narrator will speak whenever you start your Windows.

Background

In this application we are just using a VBScript trick. We will create a file having the extension .vbs that contains the following code:

Dim speaks, speech
speaks="<your message>"
Set speech=CreateObject("sapi.spvoice")
speech.Speak speaks

And by saving it to the Startup folder it is run whenever Windows is started and speaks the text that you typed.

Procedures

Step 1: First of all create a new Windows Forms application in Visual Studio and name it as you choose (I named it WelcomeGreet). Now a new Windows Form will be generated.

Add a TextBox control and a Button Control to your project.

(Name them as you want or leave it as it is).

Your form will look like this:

Form

Step 2: Now go to "Solution Explorer" and Navigate to the "References".

Right-click on "References". There you will get two options, click on "Add References". A window will pop up; navigate to the ".Net" tab and search for the "System.Io.Log" library and add it to your project.
 
References
 
System.Io.Log file
 
System.Io.Log file Added

Step 3: Now double-click on the Button Control you added to your Windows Form. The IDE will generate a Click event for you. First of all add the using directive in your project called "using System.Io" because we will do some file read and write operations.

Step 4: Now go to the Button Event (startButton) and type the following code:

/*Getting Path of "Startup" which is a special folder available in every Windows Environment

like : C:\Users\Neo\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup (in my PC)

In Startup drive it is Creating a File name "Welcome.vbs"*/

 

            string pathName = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Startup) + "\\Welcome.vbs";

 

            //If No any Message is set in TextBox

 

            if (myMessage.Text == "")

            {

                MessageBox.Show("Please Enter Your Message First", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }

 

            //If any Message is Set

            else

            {

                try

                {

                    //Storing our Welcome Message from //TextBox into a string variable 'meassage'

                    string message = myMessage.Text;

 

                    //Setting up a reference to StreamWriter //class name 'sw' which is used to write the IO files

                    //and in its Constructor we are passing //the path where the file is to be saved

                    StreamWriter sw = new StreamWriter(pathName);

 

                    //Writting into the Stream

                    sw.WriteLine("Dim speaks, speech");

                    sw.Write("speaks=\"");

                    sw.WriteLine(message + "\"");

                    sw.WriteLine("Set speech=CreateObject(\"sapi.spvoice\")");

                    sw.WriteLine("speech.Speak speaks");

 

                    //Closing the Stream

                    sw.Close();

 

                    MessageBox.Show("You have Successfully Updated Your Welcome Greet Message\nEnjoy on Every Startup", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);

                }

                    //Handling the Exception

                catch (Exception ex)

                {

                    MessageBox.Show("Please Enter The Field Correctly","Error",MessageBoxButtons.OKCancel,MessageBoxIcon.Error);

                        myMessage.Text="";

                }

            } 

Step 5: Now go to the Button Event (stopButton) and type the following code:

string pathName=System.Environment.GetFolderPath(System.Environment.SpecialFolder.Startup) + "\\Welcome.vbs";

try

{

    StreamWriter sw = new StreamWriter(pathName);

    //Flush out the Stream which we //created that is we are now deleting what we had //written in the stream

    sw.Flush();

    sw.Close();

    MessageBox.Show("Message Greet Sussessfully Removed!!","Succesfull",MessageBoxButtons.OK,MessageBoxIcon.Information);

    //Closing the Application

    this.Close();

}

catch(Exception ex)

{

    MessageBox.Show("You haven't yet set Your Welcome Greet!!","Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

 

Step 6: That's all, now after setting up the message, whenever you start your Windows you will be welcomed by your PC with a welcome message. You can download the source code that is in the article. 

Up Next
    Ebook Download
    View all
    Diving Into OOP
    Read by 16.1k people
    Download Now!
    Learn
    View all