Ja, sehr lang, böse und gut ![]()
Beiträge von L3viathan
-
-
Aber ab jetzt nix mehr löschen, es ist so, wies ist.
[autoit]#include <GuiConstantsEx.au3>
[/autoit]
#include <WindowsConstants.au3>
#include <WinApi.au3>
$form=GUICreate("Autoit.de USER medley",400,300)
$farbe=GUISetBkColor(0x123456)
$datei=GUICtrlCreateMenu("Datei")
$open = GUICtrlCreateMenuItem ("&Öffnen STRG+O",$datei)
$save=GUICtrlCreateMenuItem ("S&peichern Strg+S",$datei)
$close=GUICtrlCreateMenuItem ("&Schließen Alt+F4",$datei)
$hButBombe = GuiCtrlCreateButton("Booooom",8,8,100,20)
While True
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE -
[autoit]
#include <GuiConstantsEx.au3>
[/autoit]
#include <WindowsConstants.au3>
#include <WinApi.au3>
$form=GUICreate("Autoit.de USER medley",400,300)
$farbe=GUISetBkColor(0x123456)
$datei=GUICtrlCreateMenu("Datei")
$open = GUICtrlCreateMenuItem ("&Öffnen STRG+O",$datei)
$save=GUICtrlCreateMenuItem ("S&peichern Strg+S",$datei)
$close=GUICtrlCreateMenuItem ("&Schließen Alt+F4",$datei)
$hButBombe = GuiCtrlCreateButton("Booooom",8,8,100,20)
While True
Sleep(50)
Switch GUIGetMsg() -
*Thema ausgrab*
[autoit]#include <GuiConstantsEx.au3>
[/autoit]
#include <WindowsConstants.au3>
#include <WinApi.au3>
$form=GUICreate("Autoit.de USER medley",400,300)
$farbe=GUISetBkColor(0x123456)
$datei=GUICtrlCreateMenu("Datei")
$open = GUICtrlCreateMenuItem ("&Öffnen STRG+O",$datei)
$save=GUICtrlCreateMenuItem ("S&peichern Strg+S",$datei)
$close=GUICtrlCreateMenuItem ("&Schließen Alt+F4",$datei)
$hButBombe = GuiCtrlCreateButton("Booooom",8,8,100,20)
While True -
Die ersten beiden sind die besten... 
-
Da ich niemals alle Strategien umsetzen kann, veröffentliche ich hiermit mein Skript. Vielleicht gibts dem einen oder anderen einen Tipp.
Es ist inkl. GUI und so...
/Edit: Auf allgemeinen Wunsch Code entfernt. -
Es ginge auch noch mit StringRegExpReplace:
[autoit]
[/autoit]
$pfad='D:\TEMP\abc\xyz\IMG.jpg'
$pfad = StringRegExpReplace($pfad, '(.*\\).*\..*', '$1')
MsgBox(0,0, $pfad)
Passiert für $pfad= "C:\Programme\Toller.Ordner\ABC.txt" nicht folgendes:
"C:\Programme"
Da scheint mir die vorige Lösung sicherer (und leichter zu durchschauen...;)) -
Danke, Progandy,
die nehm ich.
@Xeno: Deine Funktion funzt doch nicht (zumindest bei mir), weil wenn ich dann was eingebe ein Zeilenumbruch(@CR ODER @LF, keine Ahnung) vor und hinter die Eingabe kommt, wird als angezeigt.
Egal, mit Progandys Funktion gehts prima..
-
Vielen Dank euch beiden, ich favorisiere die Lösung von Xeno, auch wenn ich den Cursor wirklich nur an den Anfang haben möchte.
Denn ich bin gern unabhängig von Hotkeys und Send (Fenster müsste umbedingt aktiv sein...)
Trotzdem auch ein Thx an Schnuffel.
-
Der Titel sagt schon alles, ich möchte den Eingabecursor im EditCtrl mit dem State $GUI_FOCUS zum Beginn verschieben.
z.B. von "Bla,dnsadö asdfk sadop |jaosdj sajdop asjfo kpüdas" zu "|Bla,dnsadö asdfk sadop jaosdj sajdop asjfo kpüdas"
(Dabei repräsentiert der sekrechte Strich den blinkenden Eingabecursor)Ist das irgendwie möglich?
(Ich habe schon die Hilfe durchforstet, aber nix dergleichen gefunden)Ich freue mich über jede Antwort

-
Oder in Worten: eine Toolbar, die der User verändern kann.
-
...neue Version (siehe Post#1)
jetzt mit Eintrag in die Registry (deinstallation) -
Also, sorry für halb-OT, aber:
[autoit]
@Commander21: 1.) Es kann auch Dateien ohne Dateiendung geben, auch wenn das hier keine ist.
2.) Wie jedes Systemsteuerungsmodul leiße sich auch das Eigenschaften von <Datei> mit AutoIt ausführen, das ist ein rundll32.exe ???-Befehl, den ich jetzt nicht auswendig weiß
BTT:
Falls der Schreibschutz das Problem sein sollte, guck dir malAttrib
[/autoit]an.
-
Wie schon gesagt, ihr braucht das hier.(im Includes-Ordner speichern)
Neue Version (siehe Post#1) -
hi ihr beiden,
Ich sitze gerade am iTouch, kann deswegen den Fehler nicht beheben, fix kommt aber spätestens freitag.
Danke fürs danken, Conan
Wenn ihr noch irgendwelche wünsche habt, versuche ich sie schnellstmöglichst umzusetzen.Greez, L3viathan
-
So, da ich heute im Forum einen Setup-Thread gesehen habe, dachte ich mir, das kann ich auch, und hoffentlich (Feedback
) besser.
In der ZIP ist die Au3-Daei, die ini-Datei, die ihr beliebig anpassen könnt, eine leere(!) Lizenzdatei sowie ein Testordner DATA, in den die zu installierenden Dateien reinkommen.
Ich bitte um Namensnennung bei eventueller Verwendung.
Ich benutze die _FileListTreeToArray-Funktion von senthor.Features
Voll customisierbar, mit Ini und Lizenzdatei (updated)
inkl. Bild
Weiche Überblendungen zwischen den Schritten (probierts aus)
Wenn erwünscht (-->Ini) Mögliuchkeit zur eintragung in den Autostart
"Nach Fertigstellen öffnen"-Funktion
Abbruch-Sicherheitsabfrage added
EULA-Fehler behoben.
Uninstallregisrtrierung
Helpfile:)
NEU in dieser Version:
SerialunterstützungWishlist
von mir:
von euch:
Serial (erledigt)Helpfile zum Ini-system
HELPFILE zum Ini-System.
3 Möglichkeiten:
Keine ini-Datei:
In dem Fall macht das Setup alles mit Standartvorgaben (nicht empfohlen)
1 ini-Datei:
Möchtet ihr keinen Multi-languagesupport bieten, genügt eine ini-Datei
Sie MUSS "install.ini" heißen.
Ignoriert die Zeichen * und +, alles kommt in die "install.ini"
2 ini-Dateien:
Möchtet ihr Multi-languagesupport bieten, braucht ihr mindestens drei ini-Dateien:
"install.ini" (für das Definieren der verschiedenen Sprachen)
2 Sprach-ini-Dateien, z.B. "de.ini" und "en.ini", in denen die Infos jeweils sprachspezifisch stehen.
In den Sprachinis stehen Eigenschaften, die ich mit * gekennzeichnet habe
in der install.ini stehen Eigenschaften, die ich mit + gekennzeichnet habe
Los geht's:
[global]
+ langtitle Titel der Sprachauswahl, z.B. Choose Language
+ langprompt Text der Sprachauswahl, z.B. Please choose your language.
+ langs Alle Sprachkürzel mit |-Trenner, z.B. de|en|dk
+ company "Firma", also z.B. MyScripts
+ program Programmname ohne Versionsnummer, z.B. MyBadbadBot
;Der Installationsordner ist standartmäßig @Programfiles\company\program
+ url Herstellerwebsite, z.B. http://www.autoit.de (incl http://)
+ forcedprognameaslastdir Wahrheitswert (1=True;0=False) Dieser gibt an, ob der letzte Ordner in der Installordnerhierarchie der des Programmnamens sein muss
+ autostartpossible Wahrheitswert, ob die Checkbox "Autostart?" angezeigt wird.
+ exePath relativer Pfad zur exe, innerhalb von DATA. Wird für z.B. Autostart und nach-der-Installation-ausführen benötigt, z.B. program.exe
+ uninstall relativer Pfad zur deinstall-exe, innerhalb von DATA. Wird für Deinstallationseintrag benötigt, z.B. program.exe -uninstall
+ registeruninstall Wahrheitswert, ob ein Deinstallationseintrag registriert werden soll.
+ version Version, z.B. 1.0
* licensefile Eula/Lizenzdatei, z.B. EULA.txt (im Ordner selbst, nicht im DATA-Ordner) Ihr könnt natürlich pro Sprache eine EULA machen
* picture Linkes Bild, 150*450px, bmp/jpg, z.B. topleft.bmp
* title Titel des Setups, z.B. Setup - "iPhones abballern"-Spiel
* cancelwarning Text beim Versuch zu beenden, z.B. Möchten Sie das Setup wirklich abbrechen?
[welcome]
* text Text der ersten Seite, z.B. Willkommen
* errortext Text, der zusätzlich kommt, wenn man ablehnt, z.B. Sie müssen die Bedingungen akzeptieren, wenn Sie das Programm installieren möchten.
[options]
* text Text der zweiten Seite, z.B. Wählen Sie die Optionen
[installation]
* text Text während der Installation, z.B. Installation läuft...
[finalize]
* text Text beim abschließenden Fenster, z.B. Installation abgeschlossen
Achtung: Code ist nur zum Angucken gedacht, wenn ihrs ausprobieren wollt, ladet bitte die ZIP incl. EULA & inicode
[autoit]#include <ButtonConstants.au3>
[/autoit]
#include <ComboConstants.au3>
#include <GuiEdit.au3>
#include <EditConstants.au3>
#include <FileEx.au3> ; by senthor (autoit.de)
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region CONFIGVARS
$CFGLangTitle=IniRead("install.ini","global","langtitle","Choose language")
$CFGLangPrompt=IniRead("install.ini","global","langprompt","Please choose your language.")
$CFGini=_lang(StringSplit(IniRead("install.ini","global","langs","de"),"|")) & ".ini"
$CFGlegaltxt=IniRead($CFGini,"global","licensefile","EULA.txt")
$CFGlegal=FileRead($CFGlegaltxt)
$CFGPic=IniRead($CFGini,"global","picture","topleft.bmp")
$CFGTitle=IniRead($CFGini,"global","title","Setup")
$CFGVersion=IniRead($CFGini,"global","version","1.0")
$CFGWelcomeText=IniRead($CFGini,"welcome","text","Willkommen")
$CFGOPtionsText=IniRead($CFGini,"options","text","Wählen Sie die Optionen")
$CFGLicenseAcceptText=IniRead($CFGini,"welcome","errortext","Sie müssen die Bedingungen akzeptieren, wenn Sie das Programm installieren möchten.")
$CFGInstallText=IniRead($CFGini,"installation","text","Installation läuft...")
$CFGFinalizeText=IniRead($CFGini,"finalize","text","Installation abgeschlossen")
$CFGCancelWarning=IniRead($CFGini,"global","cancelwarning","Möchten Sie das Setup wirklich abbrechen?")
$CFGcompany=IniRead("install.ini","global","company","AutoItScript")
$CFGprogname=IniRead("install.ini","global","program","MyProgram")
$CFGurl=IniRead("install.ini","global","url","http://www.autoit.de")
$CFGlastFOLDERhastobemine=IniRead("install.ini","global","forcedprognameaslastdir",False)
$CFGAutoStartPoss=IniRead("install.ini","global","autostartpossible",False)
$CFGAutoStartExe=IniRead("install.ini","global","exePath","")
$CFGuninstall=IniRead("install.ini","global","uninstall","")
$CFGregisteruninstall=IniRead("install.ini","global","registeruninstall",0)
$CFGkey=IniRead("install.ini","global","useserial",False)
#EndRegion CONFIGVARS
Global $next=1,$folder,$finalize=False,$KEY=""
;DEBUG:
If $CFGkey Then _getkey()
#Region ### START Koda GUI section ### Form=
$SetupGUI = GUICreate($CFGTitle, 633, 451, 193, 125)
$picleft = GUICtrlCreatePic($CFGPic, 0, 0, 150, 450, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Label = GUICtrlCreateLabel($CFGWelcomeText, 168, 16, 500, 50)
$legaledit = GUICtrlCreateEdit("", 160, 96, 457, 305,BitOr($WS_VSCROLL,$ES_READONLY))
GUICtrlSetData(-1, $CFGlegal)
$folderinput=GUICtrlCreateInput(@ProgramFilesDir & "\" & $CFGcompany & "\" & $CFGprogname,160,96,250,20,$ES_READONLY)
$folderbutton=GUICtrlCreateButton("Durchsuchen...",415,96,100,20)
$autostartCheckBox=GUICtrlCreateCheckbox("Automatisch mit Windows starten",200,196,250)
$installprogressbar=GUICtrlCreateProgress(160,408,457)
$forwardbutton = GUICtrlCreateButton("Ich stimme zu >", 472, 408, 145, 33, 0)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$backbutton = GUICtrlCreateButton("Ich lehne ab", 312, 408, 153, 33, 0)
$cancelbutton = GUICtrlCreateButton("Abbrechen", 160, 408, 145, 33, 0)
GUICtrlSetState($folderbutton,$GUI_HIDE)
GUICtrlSetState($installprogressbar,$GUI_HIDE)
GUICtrlSetState($folderinput,$GUI_HIDE)
GUICtrlSetState($autostartCheckBox,$GUI_HIDE)
WinSetTrans($CFGTitle,"",0)
GUISetState(@SW_SHOW)
For $i=0 To 255 step 5
WinSetTrans($CFGTitle,"",$i)
Next
#EndRegion ### END Koda GUI section ###
$blendGUI=GUICreate("blend",633,451,Default,Default,$WS_POPUP,$WS_EX_TOOLWINDOW);,+3left,+29top
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
If MsgBox(52,$CFGTitle,$CFGCancelWarning) = 6 Then _exit()
Case $SetupGUI
Case $folderbutton
$folder=FileSelectFolder("Installationsordner auswählen","",7)
;RegEx fehlt noch
If $folder = "" Then ContinueLoop
If $CFGlastFOLDERhastobemine And (StringRight($folder,Stringlen($CFGprogname)) <> $CFGprogname) Then $folder &= "\" & $CFGprogname
$folder=StringReplace($folder,"\\","\")
GUICtrlSetData($folderinput,$folder)
Case $Label
Case $legaledit
Case $forwardbutton
_next($next)
Case $backbutton
$next-=2
_next($next)
Case $cancelbutton
If MsgBox(52,$CFGTitle,$CFGCancelWarning) = 6 Then _exit()
EndSwitch
If $finalize Then _next($next)
WEnd
Func _blendon()
$pos=WinGetPos($CFGTitle)
WinMove("blend","",$pos[0]+3,$pos[1]+29)
WinSetTrans("blend","",0)
GUISetState(@SW_SHOW,$blendGUI)
WinSetOnTop("blend","",1)
WinActivate($CFGTitle)
For $i=0 To 255 step 5
WinSetTrans("blend","",$i)
Next
EndFunc
Func _blendoff()
For $i=255 To 0 step -5
WinSetTrans("blend","",$i)
Next
GUISetState(@SW_HIDE,$blendGUI)
WinSetOnTop("blend","",0)
WinActivate($CFGTitle)
EndFunc
Func _next(byref $next)
_blendon()
Switch $next
Case 0
GUICtrlSetState($folderbutton,$GUI_HIDE)
GUICtrlSetState($folderinput,$GUI_HIDE)
GUICtrlSetState($autostartCheckBox,$GUI_HIDE)
GUICtrlSetState($legaledit,$GUI_SHOW)
GUICtrlSetData($Label,$CFGWelcomeText & @CRLF & @CRLF & $CFGLicenseAcceptText)
GUICtrlSetData($forwardbutton,"Ich stimme zu >")
GUICtrlSetData($backbutton,"< Ich lehne ab")
GUICtrlSetData($cancelbutton,"Abbrechen")
GUICtrlSetData($legaledit, $CFGlegal)
If $CFGkeyURL <> "" Then _getKey()
Case 1
GUICtrlSetState($folderbutton,$GUI_SHOW)
GUICtrlSetState($folderinput,$GUI_SHOW)
If $CFGAutoStartPoss Then GUICtrlSetState($autostartCheckBox,$GUI_SHOW)
GUICtrlSetState($legaledit,$GUI_HIDE)
GUICtrlSetData($Label,$CFGOPtionsText)
GUICtrlSetData($forwardbutton,"Installieren >")
GUICtrlSetData($backbutton,"< Zurück")
GUICtrlSetData($cancelbutton,"Abbrechen")
Case 2
$folder=GUICtrlRead($folderinput)
GUICtrlSetState($folderbutton,$GUI_HIDE)
GUICtrlSetState($folderinput,$GUI_HIDE)
GUICtrlSetState($autostartCheckBox,$GUI_HIDE)
GUICtrlSetState($legaledit,$GUI_SHOW)
GUICtrlSetData($Label,$CFGInstallText)
GUICtrlSetState($cancelbutton,$GUI_HIDE)
GUICtrlSetState($forwardbutton,$GUI_HIDE)
GUICtrlSetState($backbutton,$GUI_HIDE)
GUICtrlSetState($installprogressbar,$GUI_SHOW)
;~ GUICtrlSetData($cancelbutton,"Abbrechen")
_install()
$finalize=True
;~ _blendon()
Case 3
;~ exit;DEBUG
GUICtrlSetState($legaledit,$GUI_HIDE)
GUICtrlSetState($installprogressbar,$GUI_HIDE)
GUICtrlSetData($Label,$CFGFinalizeText)
GUICtrlSetData($forwardbutton,"Fertigstellen")
GUICtrlSetState($forwardbutton,$GUI_SHOW)
GUICtrlSetState($autostartCheckBox,$GUI_SHOW)
GUICtrlSetData($autostartCheckBox,"Programm beim Klick auf Fertigstellen ausführen")
$finalize=False
Case 4
_finalize()
Case Else
$next=0
GUICtrlSetState($folderbutton,$GUI_HIDE)
GUICtrlSetState($folderinput,$GUI_HIDE)
GUICtrlSetState($autostartCheckBox,$GUI_HIDE)
GUICtrlSetState($legaledit,$GUI_SHOW)
GUICtrlSetData($Label,$CFGWelcomeText & @CRLF & @CRLF & $CFGLicenseAcceptText)
GUICtrlSetData($forwardbutton,"Ich stimme zu >")
GUICtrlSetData($backbutton,"Ich lehne ab")
GUICtrlSetData($cancelbutton,"Abbrechen")
GUICtrlSetData($legaledit, $CFGlegal)
EndSwitch
$next+=1
_blendoff()
EndFunc
Func _log($data=@CRLF)
If $data = -1 Then
GUICtrlSetData($legaledit,"")
Return
EndIf
GUICtrlSetData($legaledit,GUICtrlRead($legaledit) & @CRLF & $data)
_GUICtrlEdit_LineScroll($legaledit, 0, _GUICtrlEdit_GetLineCount($legaledit))
EndFunc
Func _install()
_blendoff()
$folder=StringReplace($folder,"\\","\")
DirCreate($folder)
;~ FileCopy(@ScriptDir & "\data\*",$folder,9);So wärs zu einfach...;-)
_log("Erstelle Liste der zu kopierenden Dateien...")
$files=_FileListTreeToArray(@ScriptDir & "\data")
If not IsArray($files) Then _nodata()
For $i=1 To $files[0]
_log("Kopiere " & $files[$i] & " ...")
FileCopy($files[$i],$folder)
GUICtrlSetData($installprogressbar,100*($i/$files[0]))
sleep(100);DEBUG
Next
_log("Finalisieren...")
If $CFGAutoStartPoss And GUICtrlRead($autostartCheckBox) = $GUI_CHECKED Then RegWrite("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run",$CFGprogname,StringReplace($CFGcompany & "\" & $CFGAutoStartExe,"\\","\"))
If $CFGregisteruninstall and IsAdmin() and $CFGuninstall <> "" Then
RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & $CFGcompany & " " & $CFGprogname,"DisplayName","REG_SZ",$CFGcompany & " " & $CFGprogname)
RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & $CFGcompany & " " & $CFGprogname,"DisplayVersion","REG_SZ",$CFGversion)
RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & $CFGcompany & " " & $CFGprogname,"Publisher","REG_SZ",$CFGcompany)
RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & $CFGcompany & " " & $CFGprogname,"UninstallString","REG_SZ",$CFGcompany & "\" & $CFGuninstall)
RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & $CFGcompany & " " & $CFGprogname,"URLInfoAbout","REG_SZ",$CFGurl)
EndIf
_log("Fertig!")
GUICtrlSetData($installprogressbar,100)
EndFunc
Func _finalize()
For $i=255 To 0 step -5
WinSetTrans($CFGTitle,"",$i)
Next
If GUICtrlRead($autostartCheckBox) = $GUI_CHECKED Then Run(StringReplace($CFGcompany & "\" & $CFGAutoStartExe,"\\","\"))
Exit
EndFunc
Func _exit()
For $i=255 To 0 step -5
WinSetTrans($CFGTitle,"",$i)
Next
Exit
EndFunc
Func _lang($langs)
If $langs[0]=0 Then return "install"
$langGUI = GUICreate("Choose lang", 218, 118, 451, 428) ;$CFGLangTitle
$langCombo = GUICtrlCreateCombo(IniRead($langs[1] & ".ini","global","languagename","Standartsprache"), 40, 40, 129, 25,$CBS_DROPDOWNLIST)
$OKButton = GUICtrlCreateButton("Ok", 8, 72, 89, 33, $BS_DEFPUSHBUTTON)
$CancelButton = GUICtrlCreateButton("Abbrechen", 112, 72, 97, 33, 0)
GUICtrlCreateLabel("Choose language", 8, 8, 130, 17);$CFGlangprompt
For $i=1 To $langs[0]
GUICtrlSetData($langCombo,IniRead($langs[$i] & ".ini","global","languagename","Standartsprache"),IniRead($langs[1] & ".ini","global","languagename","Standartsprache"))
Next
GUISetState(@SW_SHOW)
While True
Switch GUIGetMsg()
Case $OKButton
$chosen=GUICtrlRead($langCombo)
For $i=1 To $langs[0]
If Iniread($langs[$i] & ".ini","global","languagename","Standartsprache") = $chosen Then
GUIDelete($langGUI)
Return $langs[$i]
EndIf
Next
Exit -1
Case $CancelButton
exit
EndSwitch
WEnd
EndFunc
Func _nodata()
MsgBox(0,"Error","Nothing to install")
Exit
EndFunc
Func _getkey()
dim $counter =0,$num1=True,$num2=true,$num3=True,$num4=True,$num5=True,$exitloop=False
$Form1 = GUICreate("Seriennummer eingeben", 351, 116, 505, 495)
$Label1 = GUICtrlCreateLabel("Seriennummer eingeben", 0, 8, 345, 17,$SS_CENTER)
$Label2 = GUICtrlCreateLabel("___________________________________________", 56, 40, 262, 17)
GUICtrlSetState(-1, $GUI_DISABLE)
$Input1 = GUICtrlCreateInput("", 16, 40, 57, 21,BitOr($ES_UPPERCASE,$ES_CENTER))
GUICtrlSetLimit(-1,5)
$Input2 = GUICtrlCreateInput("", 80, 40, 57, 21,BitOr($ES_UPPERCASE,$ES_CENTER))
GUICtrlSetLimit(-1,5)
GUICtrlSetState(-1,$GUI_DISABLE)
$Input3 = GUICtrlCreateInput("", 144, 40, 57, 21,BitOr($ES_UPPERCASE,$ES_CENTER))
GUICtrlSetLimit(-1,5)
GUICtrlSetState(-1,$GUI_DISABLE)
$Input4 = GUICtrlCreateInput("", 208, 40, 57, 21,BitOr($ES_UPPERCASE,$ES_CENTER))
GUICtrlSetLimit(-1,5)
GUICtrlSetState(-1,$GUI_DISABLE)
$Input5 = GUICtrlCreateInput("", 272, 40, 57, 21,BitOr($ES_UPPERCASE,$ES_CENTER))
GUICtrlSetLimit(-1,5)
GUICtrlSetState(-1,$GUI_DISABLE)
$Button1 = GUICtrlCreateButton("Ok", 56, 72, 97, 25, $BS_DEFPUSHBUTTON)
$Button2 = GUICtrlCreateButton("Abbrechen", 176, 72, 105, 25, 0)
GUISetState(@SW_SHOW)
While True
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $Input1
Case $Input2
Case $Input3
Case $Input4
Case $Input5
Case $Button1
$exitloop=True
Case $Button2
If MsgBox(52,$CFGTitle,$CFGCancelWarning) = 6 Then exit
EndSwitch
If StringLen(GUICtrlRead($Input1))=5 and $num1 Then
GUICtrlSetState($Input2,BitOr($GUI_ENABLE,$GUI_FOCUS))
$num1=False
EndIf
If StringLen(GUICtrlRead($Input2))=5 and $num2 Then
GUICtrlSetState($Input3,BitOr($GUI_ENABLE,$GUI_FOCUS))
$num2=False
EndIf
If StringLen(GUICtrlRead($Input3))=5 and $num3 Then
GUICtrlSetState($Input4,BitOr($GUI_ENABLE,$GUI_FOCUS))
$num3=False
EndIf
If StringLen(GUICtrlRead($Input4))=5 and $num4 Then
GUICtrlSetState($Input5,BitOr($GUI_ENABLE,$GUI_FOCUS))
$num4=False
EndIf
If StringLen(GUICtrlRead($Input5))=5 and $num5 Then
GUICtrlSetState($Button1,$GUI_FOCUS)
$num5=False
EndIf
If $ExitLoop Then
If not (StringLen(GUICtrlRead($Input1))=5 and StringLen(GUICtrlRead($Input2))=5 and StringLen(GUICtrlRead($Input3))=5 and StringLen(GUICtrlRead($Input4))=5 and StringLen(GUICtrlRead($Input5))=5) Then
$exitloop=False
ContinueLoop
EndIf
$KEY &=GUICtrlRead($Input1)
$KEY &=GUICtrlRead($Input2)
$KEY &=GUICtrlRead($Input3)
$KEY &=GUICtrlRead($Input4)
$KEY &=GUICtrlRead($Input5)
MsgBox(64,"Seriennummer[DEVELOP]",$KEY)
If IsAdmin() Then
RegWrite("HKLM\Software\" & $CFGcompany & "\" & $CFGprogname,"serial","REG_SZ",$KEY)
Else
RegWrite("HKCU\Software\" & $CFGcompany & "\" & $CFGprogname,"serial","REG_SZ",$KEY)
EndIf
GUIDelete()
ExitLoop
EndIf
WEnd
EndFunc
Ach, und die Sleeps bei der Installation sind nur provisorisch, zu Demozwecken, sonst wärs zu schnell.Greez, L3viathan2142
Hoffe, es gefällt.Alte Version 24mal geladen
Alte Version 5mal geladen
Alte Version 23mal geladen
Alte Version 31mal geladen
Alte Version 5mal geladen
Alte Version 7mal geladen -
Also soweit ich weiß, besagt die Definition von Sudoku, dass es nur eine Lösung gibt. Sonst ist es eben kein Sudoku.
-
BTT:
Du kannst doch auf Basis von _isMuted eine _Mute-Funktion schreiben, du musst ja nur statt dem Controlcommand bzw. danach ein ControlClick machen. -
Sind noch einige Fehler drinne:
- Zu Beginn ist der Radio "Einverstanden aktiviert, sollte andersrum sein
- Warum gibts zwei GUIs, awrum nicht eine, die sich verändert?
- Die Optionen müssten eigentlich Checkboxen sein.
- Nach einmaligem Klick auf Installieren, sollte ein zweiter weiteres Installieren ergeben, sondern der Button sollte deaktiviert werden, am besten im OnEventMode.
Genug gemeckert, die Animation am Anfang sieht ganz gut aus... -
Übrigens: Das musst du nicht aus der CMD starten. Es genügt also ein einfaches:
[autoit]
[/autoit]
Run("powercfg /hibernate on",Default,@SW_HIDE)
Run("powercfg /setactive 0 /numerical",Default,@SW_HIDE)
Run("powercfg /change 0 /numerical /hibernate-timeout-ac 60",Default,@SW_HIDE)