Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: Miten saisi ohjelman käynnistymään windowsin käynnistyessä?

Sivun loppuun

NanoSoft [27.10.2005 15:27:02]

#

Niin, miten sen saisi käynnistymään tuolla tavalla (otsikko)?
Tarkoituksena olisi tehdä semmonen namiska ohjelmaan joka määrittäis et käynnistyykö se windowsin käynnistyessä.

Blaze [27.10.2005 16:06:29]

#

Kirjoittamalla softan nimen rekisteriin HKCU\Software\Microsoft\CurrentVersion\Run:n.

Ks. esim. https://www.ohjelmointiputka.net/keskustelu/5458-wintoosan-rekisteri

NanoSoft [29.10.2005 18:54:39]

#

oho, taisin unohtaa kertoa, että kyseessä oli vb.net, niin tiedättekö et miten sen sais käynnistymään tollai? Ja jos tiiätte ni kertokaa!

CyantLeap [29.10.2005 19:43:45]

#

Teet exen ja asennat sen Windowsin käynnistyskansioon, niin minä sen tekisin :)

Blaze [30.10.2005 15:35:10]

#

NanoSoft kirjoitti:

oho, taisin unohtaa kertoa, että kyseessä oli vb.net

Ei muuta asiaa muutenkuin siltä osalta, että .NET:ssä hyvin todennäköisesti on jokin helpompikin tapa kirjoittaa rekisteriin. Nuo API-funktiot nyt kuitenkin toimivat edelleenkin.

panttu [30.10.2005 20:54:31]

#

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfmicrosoftwin32registryclasstopic.asp
Tuolta otettu esimerkki registerin käytöstä vb.netissä

Imports System
Imports Microsoft.Win32

Class Reg

    Public Shared Sub Main()

        ' Create a RegistryKey, which will access the HKEY_USERS
        ' key in the registry of this machine.
        Dim rk As RegistryKey = Registry.Users

        ' Print out the keys.
        PrintKeys(rk)
    End Sub

    Shared Sub PrintKeys(rkey As RegistryKey)

        ' Retrieve all the subkeys for the specified key.
        Dim names As String() = rkey.GetSubKeyNames()

        Dim icount As Integer = 0

        Console.WriteLine("Subkeys of " & rkey.Name)
        Console.WriteLine("-----------------------------------------------")

        ' Print the contents of the array to the console.
        Dim s As String
        For Each s In  names
            Console.WriteLine(s)

            ' The following code puts a limit on the number
            ' of keys displayed.  Comment it out to print the
            ' complete list.
            icount += 1
            If icount >= 10 Then
                Exit For
            End If
        Next s
    End Sub
End Class

Niko [30.10.2005 23:21:41]

#

Kaikille käyttäjille

Dim oReg As RegistryKey = Registry.LocalMachine
Dim oKey As RegistryKey = oReg.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
oKey.SetValue("ohjelman nimi", Application.ExecutablePath & " /boot")
oKey.Flush()

Vain sille jolla ohjelma ajetaan

Dim oReg As RegistryKey = Registry.CurrentUser
Dim oKey As RegistryKey = oReg.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
oKey.SetValue(""ohjelman nimi", Environment.CommandLine & " /boot")
oKey.Flush()

Nobo [09.11.2005 18:42:59]

#

Niko kirjoitti:

Dim oReg As RegistryKey = Registry.LocalMachine
Dim oKey As RegistryKey = oReg.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
oKey.SetValue("ohjelman nimi", Application.ExecutablePath & " /boot")
oKey.Flush()

Kun olen niin nüüp vielä, niin voisit(te)ko kertoa minne tuo pitää kirjoittaa? Siihen formiin vai moduuliin vai mihkä? :-)

Blaze [09.11.2005 21:09:26]

#

Sinne, missä haluat rekisteriinkirjoituksen tapahtuvan.

panttu [09.11.2005 22:33:55]

#

Nobo kirjoitti:

Kun olen niin nüüp vielä, niin voisit(te)ko kertoa minne tuo pitää kirjoittaa? Siihen formiin vai moduuliin vai mihkä? :-)

Suositeltavin olisi jonnekkin asetukset formin napin/ruksin tapahtumaan, jolloin käyttäjä voi sen halutessaan käydä asettamassa päälle tai poistaa.

Niko [10.11.2005 15:24:41]

#

If oKey.GetValue("ohjelman nimi") = Nothing Then
       MsgBox("Ei ole")
   Else
       MsgBox("On")
   End If

Tollein saat tietoon jos on jo lisätty ton edellisen perään


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta