2009-09-04 2 views
4

Я программирую настольное приложение, похожее на рабочий стол Google, но с моим собственным гаджетом с vb.net 2008, как я могу сделать свое приложение, когда пользователь установит его на свой компьютер для запуска во время запуска?Как запустить мою программу при запуске?

Предположим, что мое имя приложения - это WindowAplication1, и я использую Windows XP, и программа будет установлена ​​на диске C.

+0

Просто используйте простой способ 1) Создать короткую стрижку вашего приложения на рабочем столе 2) Скопируйте его 3) Goto Пуск >> Программы >> Запуск здесь «правой кнопкой мыши» с помощью мыши и выберите Открыть >> откроется расположение начального меню. 4) Вставьте этот скопированный ярлык здесь. 5) После завершения этой программы вы автоматически запускаетесь при запуске. – MarmiK

ответ

25

Вы можете добавить его в реестр с помощью следующего кода

My.Computer.Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", True).SetValue(Application.ProductName, Application.ExecutablePath) 
    End Sub 

вы можете удалить его с помощью

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

Приведенный выше код будет добавить его всем пользователям. Вы можете добавить его к текущему пользователю в следующем ключе

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 

Или вы можете добавить ссылку на приложение в папке «Автозагрузка».

Я предлагаю вам не делать это автоматически, это может раздражать пользователя. Я ненавижу, когда приложения автоматически добавляют их в Windows Startup. Предоставьте пользователю возможность запускать программу при запуске Windows.

+0

Можно ли запустить исполняемый файл в стартовых окнах, а не запускать сеанс пользователя? – 2015-04-22 22:59:22

1

Simpley использовать этот код:

Dim info As New FileInfo(application.startuppath) 
info.CopyTo(My.Computer.FileSystem.SpecialDirectories.Programs + "\startup\myapp.exe") 

надеюсь, что это помогает.

0

Вы можете сделать это, используя приведенный ниже код

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

    ' This is where you'll need to have the program 
    ' set the check box to the previous selection that 
    ' the user has set. It's up to you how you do this. 
    ' For now, I'll set it as "unchecked". 

    CheckBox1.Checked = False 

    End Sub 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 

    ' The following code is a rendition of one provided by 
    ' Firestarter_75, so he gets the credit here: 

    Dim applicationName As String = Application.ProductName 
    Dim applicationPath As String = Application.ExecutablePath 

    If CheckBox1.Checked Then 
     Dim regKey As Microsoft.Win32.RegistryKey 
     regKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", True) 
     regKey.SetValue(applicationName, """" & applicationPath & """") 
     regKey.Close() 
    Else 
     Dim regKey As Microsoft.Win32.RegistryKey 
     regKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", True) 
     regKey.DeleteValue(applicationName, False) 
     regKey.Close() 
    End If 

    ' Assuming that you'll run this as a setup form of some sort 
    ' and call it using .ShowDialog, simply close this form to 
    ' return to the main program 
    Close() 
    End Sub 
+0

PLS Ответить мне скоро :) – SmarttoolTechman

0

Простой метод

Imports Microsoft.Win32 

    Dim regKey As Microsoft.Win32.RegistryKey 
    regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run",True) 
    regKey.SetValue(Application.ProductName, Application.ExecutablePath) 
    regKey.Close() 

HOP помогает

0

Просто попробуйте этот код: -

FileCopy("Name.Ext", Environment.GetFolderPath(Environment.SpecialFolder.Startup) & "\Name.Ext") 

Здесь (Name.Ext): -

Name - Your Application's name. Ext - The Extension, it's of-course .exe

Это самый простой и лучше использовать.

1
Imports Microsoft.Win32 

      Registry.SetValue("HKEY_CURRENT_USER\SoftwareE\Microsoft\Windows\CurrentVersion\Run", Application.ProductName, Application.ExecutablePath, RegistryValueKind.String)