Welcome to Dream.In.Code
Getting Help is Easy!

Join 136,821 Programmers for FREE! Get instant access to thousands of experts, tutorials, code snippets, and more! There are 2,064 people online right now. Registration is fast and FREE... Join Now!




Make a program to run in the background

 
Reply to this topicStart new topic

> Make a program to run in the background, No form interface, no console, no interface at all

jacobjordan
Group Icon



post 3 Aug, 2008 - 02:27 PM
Post #1


This tutorial deals with how to make a standard VB.NET application run in the background, like a process. By background i mean that the application will have no interface (form or console) and will run from a Sub Main(), but will not terminate once all the code in Main has executed. That means your program will run like a normal form application, and will only exit when told to. First, create a standard Windows Form application. Then, go to the solution explorer, and double click on the item that says My Project.

Once that is opened, you should see something like this

There are a few very simple things you need to change there. First, uncheck the box that says "Enable Application Framework". Then, go to the box that says "Startup Object:" and change that to Sub Main. Then, delete the form that was put in your application automatically. By now, you should notice that there is no startup object in your application. In fact, there is no Code in your application. So, you need to add a Sub Main in. Add a new module to your application (call it anything you want). Then, add this sub into your module:
vb

Sub Main()
'This will execute when your application
'starts up. This is the equivilent of a
'Form_Load event in a form application.
'Put whatever code you want in this sub,
'but make sure you end it with this statement:
Application.Run()
End Sub

Let me explain exactly what this is doing. When you changed the startup object to Sub Main, you application will execute from a Main routine, like a console application, so what is stopping it from showing a console window? Notice the box that says "Application Type:". You will see that that is set to "Windows Form Application". When you create a console application, that box is set to "Console Application". When you create any windows form application, there, of course, is no console window. That is because the application has a type of "Windows Form Application", which basically means your application will not show a console. Of course, in Consle Applications, there are no forms. So what happens when you application's type is Windows Form Application, and there is no form in it? Your program will have no interface at all. But, even though your application is called a Windows Form Application, it will still exit once all the code in Sub Main has executed, like a console application. To prevent that, you must have a line at the end of your Main routine that says Application.Run(). That line will prevent your application from closing right after Main has finished. Now, it will run like a standard form application, just with no form, and the only way you can close it is with an Application.Exit() call. And it's as simple as that. You can treat the module your main routine is in as if it was the code for your form. The only difference is, there is no form, and you can't add controls to it in the designer (because there is no interface there to design). So, for example, if you wanted to add a timer to your application, you can't just drag-and-drop it on the form, you have to get down and dirty and add it in manually, with something like this
vb

Friend WithEvents Timer1 As New Timer()

That will create a timer object, exactly as if it was created by the designer. To add a tick event handler for it, go to the box near the top-left of the code editor. Select the item that says "Timer1", or whatever you called your timer. Then, select the box next to it and it will show a list of events for that control. Click the one you want, Tick in this case, and it will add an event handler for that event directly into your code.
Go to the top of the page
+Quote Post


Register to Make This Ad Go Away!


Fast ReplyReply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 12/3/08 03:03PM

Live Help!

Tutorials

Programming

Web Development

Reference Sheets

Code Snippets

DIC Chatroom

Bye Bye Ads

Monthly Drawing

Thumb Drive

Top Contributors

Top 10 Kudos This Month