| |
|
|
Michael Axtmann | Hallo,
ich würde mein Profan Programm gerne beim Computerstart aufrufen und mach deswegen ein Eintrag mit Pfad zur .exe Anwendung des Profan Programms unter: HKey_Local_Machine\Software\Microsoft\Windows\CurrentVersion\Run --> Pfad\Anwendung.exe
Jedoch meldet sich Profan beim Computerstart mit einem Absturz und das wars! Könnte das jm. auch mal probieren? Bzw. weiß jm. was ich falsch mache?
Gruß Michael |
|
|
| |
|
|
|
Jörg Sellmeyer | Dafür muß man schon etwas mehr wissen. Z. B.: welche Version hast Du und noch viel wichtiger: was macht Dein Programm. Wenn Du mit Deinem Programm auf etwas zugreifst, was zum Windowsstart noch nicht initialisiert ist, kann das problematisch sein. Teste doch mal selber mit einem Minimalprogramm, das nur ein Fenster mit Window ... erzeugt. Wenn das abstürzt, liegt es wahrscheinlich an Profan, sonst ist wohl Dein weiterer Code dafür verantwortlich. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 02.03.2012 ▲ |
|
|
|
|
Julian Schmidt | Hier mal ein funktionierendes Beispiel. Vlt hilft es dir weiter... KompilierenMarkierenSeparierenDef @Regopenkeyex(5) !"ADVAPI32","RegOpenKeyExA"
Def @Regdeletevalue(2) !"ADVAPI32","RegDeleteValueA"
Def @Regclosekey(1) !"ADVAPI32","RegCloseKey"
Def DateiName(1) SubStr$(@$(1),-1,"\\")
Def DateiPfad(1) Translate$(@$(1),("\\" + DateiName(@$(1))),"")
DEF GetSysColor(1)!"USER32","GetSysColor"
var Programm$=Par$(Par$(If((Upper$(SubStr$(Par$(0), -1, "\\"))="PROFAN.EXE") or (Upper$(SubStr$(Par$(0), -1, "\\"))="XPROFAN.EXE"),1,0)))
Set("ErrorLevel", 0)
Window 100,120-400,200
Windowstyle "Beispiel-Programm zum Autostart"
cls GetSysColor(15)
var speichern&=Create("Button",%hwnd,"Speichern",width(%hwnd)-120,height(%hwnd)-45,110,35)
var abbrechen&=Create("Button",%hwnd,"Abbrechen",10,height(%hwnd)-45,110,35)
Create("GroupBox",%hwnd,"Autorun:",10,10,width(%hwnd)-20,60)
var autorun&=Create("CheckBox",%hwnd,"Programm mit Windows starten?",30,35,230,20)
case Readini$("HKEY_1","Software\Microsoft\Windows\CurrentVersion\Run","Beispiel-Programm")<>"" : SetCheck autorun&,1
whilenot (getfocus(abbrechen&) or iskey(27))
waitinput
if getfocus(speichern&)
if GetCheck(autorun&)=1'autorun
Writeini "HKEY_1","Software\Microsoft\Windows\CurrentVersion\Run","Beispiel-Programm"=DateiPfad(Programm$) + "\Beispiel.exe"
else
DeleteRegEintrag("$80000001","Software\Microsoft\Windows\CurrentVersion\Run","Beispiel-Programm")
Endif
break
Endif
Endwhile
end
Proc DeleteRegEintrag
Parameters hkey$, schluessel$, name_eintrag$
Declare Handle#
Dim Handle#,4
Declare Key#
Dim Key#,100
String Key#,0=schluessel$
Declare Name#
Dim Name#,100
String Name#,0=name_eintrag$
Print Regopenkeyex(hkey$,Key#,0,$2,Handle#)
Print Regdeletevalue(@Long(Handle#,0),Name#)
Print Regclosekey(@Long(Handle#,0))
Dispose Handle#
Dispose Key#
Dispose Name#
EndProc
|
|
|
| |
|
|