Vous êtes sur la page 1sur 6

Dim oReg As RegistryKey = Registry.CurrentUser Dim oKey as RegistryKey = oReg.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True) oKey.

SetValue("MyVBApp", cPGM)

The two best methods for automatically launching a program at startup are to use the registry or the system's Startup folder. Which method you choose depends on how easy you want to make it for the user to remove the program if he or she decides that it shouldn't run at system startup. Using the Startup folder gives the user more control; to prevent the program from running at startup, the user just has to remove its shortcut from the folder. Using the registry makes it less accessible; the user will have to be familiar with the structure of the registry and will have to know how to use an editing tool like RegEdit in order to prevent the application from running at startup. Sample Code. 'Write to register Dim regKey As Microsoft.Win32.RegistryKeyregKey regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentV ersion\Run", True) regKey.SetValue("YourApplicationName", "YourInstallPath") regKey.Close()

If you want to remove from register use this code. regKey.DeleteValue("YourApplicationName", False)

http://vbnetsample.blogspot.com/2008/06/make-your-programs-run-on-windows.html

http://oreilly.com/pub/a/oreilly/windows/ron/startup_0401.html

http://social.msdn.microsoft.com/Forums/en-US/vblanguage/thread/02540681-8c6b4250-af78-158bc05b59f4/

http://www.acthompson.net/teachvb/

Note - I Used VB.net but I Think It Works The Same In Other Languages. Please Let Me Know If It Doesn't. Thanks Hi Everybody, This Tutuorial Was Created By Shadow_x21 (_x21) Part 1 - This Tutorial Will Show You How To: Create A Class Library [ Also Called A DLL(.dll) File ] Reference A Class Library In The Same Or Other Project Advantages To Creating A DLL Is That You Can Reference It (Use It) In A .Net Framework Language(Visual Basic, C#, C++, ect.). This Means That You Can Create A Procedure ( A Simple One That ) and Save It As A DLL, Create A New Project In Whatever Langage You Use and Use That Same Procedure. Note: I Have Not Tried Referencing A DLL In Any Language Other Than VB.net. I Just Create A DLL And Use It In Other Projects With Visual Basic. I Have Heard That You Can Reference A DLL In Other Language Like C# Though, So Hopefully That Is Correct. * To Create A New Class Library(.dll) In VB.net Follow These Steps. - 1( Start Visual Basic. - 2(Goto Create Project(Create...) - 3(Choose "Class Library" Instead Of Windows Application and Name It Whatever You Want (Something Related To Procedures That Your DLL Will Hold) * Inside Of Your Class Create A Sample Procedure : You Can Use The Procedure Below If You Can't Think Of One Or If Your New To VB.NeT.
Public Class Class1 Public Function Message(ByVal Msg As String) As Boolean

MsgBox(Msg.ToString) End Function End Class

* Alright, I Created A Class Library Called "Sample" With A Class Called "Class1" - I Created A Function (Like A Sub) Called Message - I Added "ByVal Msg As String" Which Means I Declared A Variable Called Msg That Will Have A Value Of String/Text (English = ByValue Msg As Text : The Value Of Msg Equals Text/String) - The "As Boolean" After The Function Is Required So That The Function Will Work On All Levels - The "Msgbox(Msg.ToString)" Creates A MessageBox At Runtime (When The Program Runs) With The Value Of Msg I Use "ToString" Just In Case The String Contains Numbers(Integers) Or Other Characters * Now To Save Your DLL Goto File > Save All and Then Choose Your Directory After You Save Your Project You May Want To Build It To Ensure A Final Version(You Can Build It Again Later) Goto Build > Build "Name Of Your Project" * It Is Important To Keep The Project That Was Used To Create Your DLL So You Can Edit It Later To Make Changes * Also : Don't Move Your DLL Directly From It's Saved Folder. Instead Just Copy & Paste It Where You Want It - Referencing A DLL(.dll) or Class Library - Create A New Project And Choose "Windows Application" Instead Of A "Class Library" ( Now To Reference Your DLL, You Can Use The Same Project, An Exististing Project, or a New Project ) - In Visual Basic You Can Reference A DLL Two Ways First - Goto Project > Add Reference... ( A Window Shold Pop-Up. Goto Browse and Look In The "Debug" Or "Release" Folder ) - Example URL/Path Of DLL "Documents\Visual Studio 2005\Projects\Sample\bin\Debug\Sample.dll" "Documents\Visual Studio 2005\Projects\Sample\bin\Release\Sample.dll" Second - You Can Also Double-Click On "My Project" In The"Solution Explorer" At The Right Go To "References" and Click "Add" Below The WhiteBox. Then Follow The Same Steps As The First * Add One Button To Your Form * Add One Textbox To Your Form

Now Double-Click Your Button and Use This Code To Reference The DLL You Made Earlier * Your Code Should Look Somewhat Like The Code Below
Imports Sample Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Hi As New Sample.Class1 Hi.Message(TextBox1.Text) End Sub End Class

* What I Did Was Add A Button and Textbox To My Form. When The Button Is Pressed It Uses The Message Function, Grabs The Text From The Textbox And Puts It In The MessageBox That Will Be Displayed. * How It Works, Code Wise - I Imported, as you can see, my project called "Sample". If Your Project Doesn't Show Up When You Type "Imports" - Then You Did Not Reference Your DLL Correctly or Your DLL Is Not Compatible (or you just screwed up your dll somehow) - Next I Accessed My Button's Click Event. Here I Wrote The Code That Will Be Run Using My "Message" Function As Created Earlier - Here I Created A Variable That Will Have The Value Of "Hi" As New Sample.Class1 - For DLL's and Alot Of Other Functions (As You Will Find Out Later On In Your Coding Life) You Cannot Access There Events/Controls Directly You Have To Create A New Instance Of Them And Apply/Bind It To A Variable. Then You Can Access It's Events and Controls - Now, With The New Variable That I Have Defined, I Can Access Sample.Class1 Events Thus Allowing Me To Use The "Message" Function That I Created Earlier. - Remember When I Created The Variable "Msg" In My DLL Earlier. That Variable Was A Part Of The "Message" Function. "Msg's" Value Will Be Set To That Of The Textbox's Text. That Means When The "Message" Function Executes, Msg's Value Will Be The Textbox's Text. Then A MessageBox Will Appear Containing The Text In Textbox1. Thank You For Reading This. Hopefully You Enjoyed and Understood It. For ?'s and Comments Post It or E-Mail Me At Shadow21son@yahoo.com

EDIT - 11/10/07: I Took Out The Link To My Site Cause' It Sucks. I Might Put Back Up In A Week Or Two.
http://wap.andreavb.com/forum/viewtopic_8930.html

http://www.youtube.com/watch?v=30zvbZWUVPk

Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load My.Computer.Registry.LocalMachine.OpenSubKey("SO FTWARE\Microsoft\Windows\CurrentVersion\Run",

True).SetValue(Application.ProductName, Application.ExecutablePath) End Sub

My.Computer.Registry.LocalMachine.OpenSubKey("SOFTWARE\Mi crosoft\Windows\CurrentVersion\Run", True).DeleteValue(Application.ProductName)

Vous aimerez peut-être aussi