Code: Alles auswählen
;
; ------------------------------------------------------------
;
;
;
; ------------------------------------------------------------
Define i
Define z
Define k
Define l
Dim program.s(0)
#WindowWidth = 390
#WindowHeight = 350
LoadFont(0, "Arial", 10,#PB_Font_Bold)
Global PSEXEC$
Global PC$
Global Argument$
Global INI_Datei$
Procedure PsExec(PC$, Argument$)
RunProgram(PSEXEC$,"-i \\"+PC$+" "+Argument$,"", #PB_Program_Hide)
EndProcedure
Procedure PsExecI(PC$, Argument$)
RunProgram(PSEXEC$,"\\"+PC$+" -i -c "+Argument$,"", #PB_Program_Hide)
EndProcedure
Procedure CreateIni()
If FileSize(INI_Datei$) <= 0
; Neue Datei
If CreatePreferences(INI_Datei$)
PreferenceComment("Einstellungen der PSEXEC")
PreferenceComment("")
PreferenceGroup("BUTTON1")
WritePreferenceString("BEZEICHNUNG", "CMD" )
WritePreferenceString("BEFEHL", "cmd.exe" )
ClosePreferences()
Else
MessageRequester("Error", "Fehler beim Anlegen der INI-Datei " + INI_Datei$ )
EndIf
EndIf
EndProcedure
Procedure EditIni()
WinDir$ = Space(100): GetSystemDirectory_(WinDir$,100)
RunProgram(WinDir$+"\notepad.exe", INI_Datei$, "" )
EndProcedure
Procedure Check()
PSEXEC$ = GetCurrentDirectory()
PSEXEC$ = PSEXEC$ + "psexec.exe"
PC$ = GetGadgetText(501)
If PC$ = ""
MessageRequester("Fehler", "Bitte PC-Name angeben!")
Goto nochmal
EndIf
If FileSize(PSEXEC$) <= 0
MessageRequester("Fehler", "psexec.exe nicht gefunden!")
Goto nochmal
EndIf
EndProcedure
Procedure ReadIni()
Dim program.s(0)
INI_Datei$ = GetCurrentDirectory()
INI_Datei$ = INI_Datei$ + "psexec.ini"
OpenPreferences(INI_Datei$)
i=1
z=1
While PreferenceGroup("Program"+Str(i))
ReDim program(i)
ButtonGadget(i, ((i-1)*83)+30-((z-1)*332), ((z-1)*30)+145, 70, 20, ReadPreferenceString("BEZEICHNUNG", "Cmd"))
program(i-1) = ReadPreferenceString("BEFEHL", "cmd.exe")
i+1
If i=5
z+1
EndIf
Wend
i=50
z=1
k=1
While PreferenceGroup("Install"+Str(k))
ReDim program(i)
ButtonGadget(i, ((k-1)*83)+30-((z-1)*332), ((z-1)*30)+245, 70, 20, ReadPreferenceString("BEZEICHNUNG", "Cmd"))
program(i-1) = ReadPreferenceString("BEFEHL", "cmd.exe")
i+1
k+1
If i=55
z+1
EndIf
Wend
ClosePreferences()
EndProcedure
nochmal:
OpenWindow(200, 500, 200, #WindowWidth, #WindowHeight, " PSEXEC GUI", #PB_Window_MinimizeGadget)
ReadIni()
If CreateMenu(700, WindowID(200))
MenuTitle("Datei")
MenuItem( 800, "Settings")
EndIf
EventID = WaitWindowEvent()
CreateIni()
TextGadget(102,60,60,80,25, "PC-Name:")
StringGadget(501, 120, 60, 100, 20, "")
SetGadgetFont(#PB_Default, FontID(0))
TextGadget(103,30,120,80,25, "Anwendung:")
SetGadgetFont(#PB_Default, #PB_Default)
SetGadgetFont(#PB_Default, FontID(0))
TextGadget(113,30,220,80,25, "Installation:")
SetGadgetFont(#PB_Default, #PB_Default)
Repeat
Define event = WaitWindowEvent()
Select event
Case #PB_Event_Menu
Select EventMenu() ; To see which menu has been selected
Case 800 ; About
EditIni()
EndSelect
Case #PB_Event_CloseWindow
End
Case #PB_Event_Gadget
If EventGadget()!501
Check()
Argument$=program(EventGadget()-1)
PC$=GetGadgetText(501)
If EventGadget()<49
PsExec(PC$,Argument$)
EndIf
If EventGadget()>48 And EventGadget()<100
PsExecI(PC$,Argument$)
EndIf
EndIf
EndSelect
ForEver
; Argument$ = COM_BUTTON1$
; Check()
; PsExec(PC$,Argument$)