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ä.
Kirjoittamalla softan nimen rekisteriin HKCU\Software\Microsoft\CurrentVersion\Run:n.
Ks. esim. https://www.ohjelmointiputka.net/keskustelu/5458-wintoosan-rekisteri
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!
Teet exen ja asennat sen Windowsin käynnistyskansioon, niin minä sen tekisin :)
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.
http://msdn.microsoft.com/library/default.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
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()
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ä? :-)
Sinne, missä haluat rekisteriinkirjoituksen tapahtuvan.
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.
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
Aihe on jo aika vanha, joten et voi enää vastata siihen.