Automatisch opstarten

Status
Niet open voor verdere reacties.

Jeevje2

Gebruiker
Lid geworden
25 dec 2009
Berichten
147
Hey,

Ik heb een Anti Virus programma gemaakt. Maar ik wil dat hij opstart wanneer Windows opstart. Want wanneer Windows is gestart en er wordt connectie met het Internet gemaakt, kunnen er allerlei gevaren binnendringen. Dus als mijn Anti Virus programma al gestart is, wordt je mogelijk beschermd en blokkeert hij binnendringende bedreigingen. Hoe moet ik dat doen?

Alvast bedankt

Met vriendelijke groet,
Jeevje2
 
Laatst bewerkt:
Ik heb een Anti Virus programma gemaakt. Maar ik wil dat hij opstart wanneer Windows opstart. Want wanneer Windows is gestart en er wordt connectie met het Internet gemaakt, kunnen er allerlei gevaren binnendringen. Dus als mijn Anti Virus programma al gestart is, wordt je mogelijk beschermd en blokkeert hij binnendringende bedreigingen. Hoe moet ik dat doen?

Code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1_Click
        Try
            Dim CurrentVersion_RunKey As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
            
                'Sleutel aanmaken
                If Not OpstartSleutelBestaat() = RegKeyStatus.BestaatNiet Then Exit Sub
                CurrentVersion_RunKey.SetValue("UniekeProgrammanaam", Chr(34) + Environment.GetCommandLineArgs(0).ToString + Chr(34) + " /parameters", Microsoft.Win32.RegistryValueKind.String)
                MessageBox.Show("Opstarten ingeschakeld!", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
            
                'Sleutel verwijderen
                If Not OpstartSleutelBestaat() = RegKeyStatus.BestaatWel Then Exit Sub
                CurrentVersion_RunKey.DeleteValue("UniekeProgrammanaam", False)
                MessageBox.Show("Opstarten uitgeschakeld!", "", MessageBoxButtons.OK, MessageBoxIcon.Information)

        Catch ex As Exception
            MessageBox.Show("Er is iets foutgegaan bij het schrijven naar het register. De foutmelding was: " + vbCr + ex.Message.ToString, "Fout", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub

    Private Function OpstartSleutelBestaat() As RegKeyStatus
        Try
            Dim OpstartKey As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run")
            If OpstartKey Is Nothing Then Return RegKeyStatus.KanNiet
            Dim LogSleutel As String = OpstartKey.GetValue("UniekeProgrammanaam")
            If LogSleutel Is Nothing Then Return RegKeyStatus.BestaatNiet Else Return RegKeyStatus.BestaatWel
        Catch ex As Exception
            Return RegKeyStatus.KanNiet
        End Try
    End Function

    Private Enum RegKeyStatus As Integer
        BestaatNiet = 0
        BestaatWel = 1
        KanNiet = 2
    End Enum

Succes met je 'antivirus' ;)
 
Bedankt voor je antwoord! Alleen als ik op mijn button klik staat er: Opstarten ingeschakeld! en daarna gelijk Opstarten uitgeschakeld!
Wat is daar mis gegaan?
 
Laatst bewerkt:
Zorg dat hij een snelkoppeling in de opstarten map van windows gooit :p
 
'huh?' is geen geldig antwoord. Ads, gooi hier gwn een slot op.
Je heb je totaal nog niet met dit topic bemoeit en dit is dan je reactie. Graag achterwege laten dit soort opmerkingen. Ben je het ergens niet mee eens kan je ook op de knop meld misbruik drukken.
 
Jeevje2, als je een snelkoppeling maakt van je exe bestand (je proggy dus) en je plaatst deze snelkoppeling dan in de map Opstarten, dan zal je programmatje automatisch opstarten met Windows.

Onder Windows 7 kun je de Opstarten map vinden onder 'C:\Users\Gebruikersnaam\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup'
Of kijk gewoon onder 'Alle Programma's' als je op Start klikt.

Onder Vista zal dat ongetwijfeld hetzelfde zijn. Onder XP weet ik het niet. Google het.
 
Haha bedankt maar ik bedoel, als Windows start, wil ik dat mijn programma bij de eerste opstart al een REGISTER SLEUTEL aanmaakt dat hij gelijk de volgende keer van zichzelf automatisch opstart.
 
Dat doet tie toch ook als je gewoon een snelkoppeling in Opstaten zet? Op die manier hoef je helemaal niet meer te hannessen met register sleutels.

TENZIJ jouw programma een keuze heeft waarmee de gebruiker zelf kan bepalen of het programma gelijk met Windows moet opstarten of niet.
 
het is simpel. Ik wil dat als Windows start dat mijn programma ook start, en hoe moet dat :confused:
 
Laatst bewerkt door een moderator:
Ik wil dat als Windows start dat mijn programma ook start, en hoe moet dat

For f*cks sake, die vraag is nou onderhand al twee keer beantwoord, en je blijft maar dezelfde vraag opnieuw stellen.

Hoe vaak moet dit: "als je een snelkoppeling maakt van je exe bestand (je proggy dus) en je plaatst deze snelkoppeling dan in de map Opstarten, dan zal je programmatje automatisch opstarten met Windows." nog herhaald worden voordat je het eindelijk eens door hebt? Want dat doet precies wat jij elke keer opnieuw vraagt!

:(
 
Maar jullie snappen mijn vraag niet. Ik zei: Als iemand mijn programma installeert en opstart, dat hij dan de volgende keer gelijk opstart bij het opstarten van windows...
 
Oh.. in dat geval moet je bij het installeren die snelkoppeling van je exe bestand in de map Opstarten plaatsen. En dus nog steeds hetzelfde antwoord...
 
Maar jullie snappen mijn vraag niet. Ik zei: Als iemand mijn programma installeert en opstart, dat hij dan de volgende keer gelijk opstart bij het opstarten van windows...

Zeg dat dan meteen!

Dan moet dit voldoen:

Code:
        Dim RegKey As RegistryKey
        Try
            RegKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", True)
            RegKey.SetValue("Application.ProductName", Application.ExecutablePath)
            RegKey.Close()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

Plaats ook even "Imports Microsoft.Win32" bovenaan je code form.

Als je wilt dat de eindgebruiker dit niet zelf mag bepalen, kun je die code het best onder het Form Load event plaatsen.

Het plaatsen van een snelkoppeling in de map Opstarten is verder niet meer nodig.
 
Laatst bewerkt:
Bedankt maar, het werkt niet :confused:
Hij wordt geblokkeerd :confused:
Omdat je het programma als administrator moet uitvoeren...
Is hiervoor ook een code om het op te lossen? Zo bied mijn programmageen bescherming aan...
Dus m.a.w. kunnen er makkelijk (onbekende) bedreigingen binnenkomen...
Kan je me a.u.b. helpen?

Alvast bedankt :D
 
Laatst bewerkt:
Wat werkt er niet? Die code?

In je solution explorer, dubbelklik op My Project. Op het scherm dat dan verschijnt, klik je op het tabblad Application (het is het eerste tabblad dus mogelijk ben je daar al). Klik dan op de knop View UAC Settings. Er verschijn een code formulier. Op regel 18 zie je staan:

Code:
        <requestedExecutionLevel level="asInvoker" uiAccess="false" />

Verander die regel in:

Code:
        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

Als dat ook niet werkt dan weet ik het niet meer.
 
Het zit zo:

Jouw code werkt wel.
Maar mijn programma wordt geblokkeerd omdat hij als een administrator moet worden gestart...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan