Avatar billede aloneiz Nybegynder
19. juli 2004 - 15:40 Der er 17 kommentarer og
1 løsning

Start af program

Hey..
Jeg vil gerne have et program som jeg har lavet til at starte af sig selv når computeren starter, en form for kode så programmet starter af sig selv uden at det behøver at ligge i start..
På forhånd tak..
Avatar billede hiks Nybegynder
19. juli 2004 - 15:43 #1
lig det i menuen start - > programmer -> start

eller i registeringsdatabasen under:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RUN

/hiks
Avatar billede aloneiz Nybegynder
19. juli 2004 - 15:45 #2
Ja det ved jeg godt man kan, men jeg vil gerne have så programmet selv gør det, uden man selv er nødt til at sætte det derind..
Avatar billede hiks Nybegynder
19. juli 2004 - 15:49 #3
hva vil du helst ha? at den tilføjer sig ved første kørsel til startmenuen eller i registreringsdatabasen?

du kan jo også gøre det i installationen af programmet.

/hiks
Avatar billede aloneiz Nybegynder
19. juli 2004 - 15:50 #4
Når man kører programmet første gang skal den lægge sig ind i registeringsdatabasen..
Avatar billede hiks Nybegynder
19. juli 2004 - 16:12 #5
hey - du kan prøve med dette...

/hiks

'--- FORM START ---

Private Sub Form_Load()
On Error Resume Next
If GetFromReg("DitProgram") <> "" Then
    'start program eller lign.
Else
    Call AddToReg("DitProgram", App.Path & "\" & App.EXEName, "str")
End If
End Sub
Function AddToReg(rFelt As String, rValue, rType As String)
'Type angiver typen af værdi
' REG_DWORD {32-bit integer}
' REG_SZ {single string}

Select Case rType
    Case "int"
    rType = "REG_DWORD"
   
    Case "str"
    rType = "REG_SZ"
End Select

On Error Resume Next
Dim wshell
Set wshell = CreateObject("WScript.Shell")


wshell.RegWrite ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RUN\" & rFelt), rValue, rType

Set wshell = Nothing

End Function

Function GetFromReg(rFelt As String)
On Error Resume Next

Dim wshell
Set wshell = CreateObject("WScript.Shell")

GetFromReg = wshell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RUN\" & rFelt)

Set wshell = Nothing

End Function
Avatar billede aloneiz Nybegynder
19. juli 2004 - 16:23 #6
det vil sige der hvor der står dit program der skal jeg skrive hejhej.exe foreksempel, eller skal der være en sti.. og der hvor der står "" Then
    'start program eller lign.
skal jeg så bare fyre en sætning som hejhej.show eller hvad..
Ellers mange tak for dine fine svar..skal nok give dig pointene
Avatar billede hiks Nybegynder
19. juli 2004 - 16:30 #7
ja - jeg kommenterede det ikke lige... men here goes..

ditprogram er den "key" i registreringsdatabasen der indeholder placeringen på dit program.


App.Path & "\" & App.EXEName 'er der hvor du skal angive stien og exe-filen for at programmet kan eksekveres. - Jeg har bare taget så den virker dynamisk alt efter hvor placeringen er og hvad exe-filens navn er vha app.

der hvor der står start program - var bare hvis der skulle ske noget andet på din form_load - der skal ikke nødvendigvis være noget. Du kan lave det om til:

If GetFromReg("DitProgram") = "" Then 'hvis det ik eksisterer i reggen
    Call AddToReg("DitProgram", App.Path & "\" & App.EXEName, "str")
End If

/hiks
Avatar billede aloneiz Nybegynder
19. juli 2004 - 16:34 #8
Undskyld jeg er lidt nybegynder, men du mener altså..
DitProgram skal bare erstattes med det navn der skal stå i regedit basen og så skal jeg angive stien i App.path
Avatar billede hiks Nybegynder
19. juli 2004 - 16:54 #9
jeps og ja men det den gør nu med app.path er at den selv finder placering på dit program og indsætter det + exe-filens navn. Så prøv at kompiler og test hvordan det kommer til at stå i registreringsdatabasen

så tror jeg du forstår hvad jeg mener..

/hiks
Avatar billede aloneiz Nybegynder
19. juli 2004 - 17:10 #10
Hmm. Jeg kopiede bare hele den kodede du have lavet og brugte den, men nu hvor jeg har prøvet 2 gange, ser det stadig ikke ud til at virke.. der kommer intet inde under run... Jeg lavede ikke noget om på koden overhovedet..
Avatar billede hiks Nybegynder
19. juli 2004 - 17:15 #11
hmmm - har du prøvet at opdatere og står du i registreringsdatabasen på det rette sted?

/hiks
Avatar billede aloneiz Nybegynder
19. juli 2004 - 17:16 #12
Yep har prøvet det hele..
Avatar billede hiks Nybegynder
19. juli 2004 - 17:32 #13
og der kommer ingen fejl eller noget (prøv evt. at slå on error resume next fra?!?

meget mærkeligt - det kører fint her...

har du prøvet at søge i regedit på ditprogram ?

/hiks
Avatar billede aloneiz Nybegynder
19. juli 2004 - 17:40 #14
lige så snart jeg fjerner on error resume, siger den..


Run--time error '-2147024894(80070002)':
REgerstreringsnøglen "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RUN\DitProgram" kan ikke åbnes for læsning
Avatar billede hiks Nybegynder
19. juli 2004 - 17:56 #15
ja så har du fjernet on error resume next nede i funktionerne ik?

Det skal du ik - kun oppe i form_load. Når den fejler nede i GETFROMREG - får den bare ingen værdi med retur fra funktionen og derved bliver GetFromReg tom. Så den er ok.

Er nu ret sikker på at den bliver smidt ned i din reg. Du har forsøgt at søge på ditprogram ?

/hiks
Avatar billede aloneiz Nybegynder
19. juli 2004 - 17:59 #16
Okay tak..
Jeg siger mange tak for din storartet hjælp..
Dig kan man kalder en programmør med pointiale..

Mange tak..
Avatar billede hiks Nybegynder
19. juli 2004 - 18:04 #17
takker for roser... og p. - go sommer!

/hiks
Avatar billede aloneiz Nybegynder
19. juli 2004 - 18:06 #18
Tak og i lige måde mate :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester