Ich will auch mal noch mein Glück versuchen. Das Design und das Menü hab ich heut mal fertig gemacht. Schonmal von vornerein. Meins ist grafisch ausgefeilter... Damit kann ich am besten punkten
Beiträge von Wambo
-
-
@ TryHigh:
Erinnerst mich irgendwie an ne Mischung aus TomCruise (aus früheren Zeiten) und Colin Farrell im 1. Bild... Aber der Anzug steht dir irgendwie nicht.
Achja.. Ihr zockt ja mit hohen Einsätzen
-
Try High du erinnerst mich an irgendeinen Schauspieler... Vorallem Bild 3...
So und hier bin mal noch ich... schätze mal ich gehöre zu den Jüngsten hier^^
-
Siehe hier:https://autoit.de/index.php?page…st50018%3C/a%3E
Also um dieses Script geht es...
Immoment werden die Daten erst bei der Aktivierung hochgeladen.
Ich hätte nun gerne, dass die Seriennummer bei Programmstart generiert wird und dann auf den Server raufgeladen wird. Das ist aber nicht das problem....
Das problem ist, dass ich nicht weis, woher das Script bei einem Neustart des Scriptes wissen soll, welche Seriennummer es denn nun gehabt hat, ohne die .ini auf dem server dort mit einer lokalen ini vergleichen zu müssen. -
Jezt sollte es funktionieren.
-
Hier mal die neuere Version:
serial.au3
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <ButtonConstants.au3>
#include <Inet.au3>
#include <IE.au3>Global $ran[16]
[/autoit] [autoit][/autoit] [autoit]
Global $key[16]
Dim $lefttimeOpt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]
$ser = GUICreate("Serial Beta Programm", 306, 186, 193, 125)
$Label1 = GUICtrlCreateLabel("Bevor sie das Programm nutzen können, müssen sie es aktivieren.", 8, 8, 292, 41)
$Label2 = GUICtrlCreateLabel("Ihre Seriennummer lautet: XXXXX - XXXXX - XXXXX", 8, 162, 292, 33)
$Label5 = GUICtrlCreateLabel("Seriennummer aktivieren?", 80, 52, 150, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Button3 = GUICtrlCreateButton("Aktivieren.", 80, 68, 145, 25, 0)
$Label4 = GUICtrlCreateLabel("Produkt kostenlos testen? ", 88, 100, 130, 17)
$Button2 = GUICtrlCreateButton("Produkt jetzt kostenlos testen.", 40, 124, 225, 25, 0)
GUISetState(@SW_SHOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUICtrlSetOnEvent($Button2, "freetest")
GUICtrlSetOnEvent($Button3, "act")Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$serform = GUICreate("Aktivierungsformular", 274, 184, 193, 126)
$Group1 = GUICtrlCreateGroup("", 120, 0, 145, 141)
$name = GUICtrlCreateInput("Hans", 128, 16, 129, 21)
$nachname = GUICtrlCreateInput("Mustermann", 128, 40, 129, 21)
$street = GUICtrlCreateInput("Musterstraße 1", 128, 64, 129, 21)
$ort = GUICtrlCreateInput("Musterhausen / 12345", 128, 88, 129, 21)
$serialinput = GUICtrlCreateInput("xxxxx - xxxxx - xxxxx", 128, 112, 129, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("", 2, 10, 117, 27)
$namelabel = GUICtrlCreateLabel("Vorname", 8, 18, 53, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group3 = GUICtrlCreateGroup("", 2, 34, 117, 27)
$nachnamelabel = GUICtrlCreateLabel("Nachname", 8, 42, 64, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group4 = GUICtrlCreateGroup("", 2, 81, 117, 27)
$ortlabel = GUICtrlCreateLabel("Wohnort / PLZ", 8, 89, 89, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group5 = GUICtrlCreateGroup("", 2, 57, 117, 27)
$streetlabel = GUICtrlCreateLabel("Straße", 8, 65, 41, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group6 = GUICtrlCreateGroup("", 2, 106, 117, 27)
$seriallabel = GUICtrlCreateLabel("Seriennummer", 8, 114, 100, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group7 = GUICtrlCreateGroup("", 2, 140, 269, 41)
$sendbutton = GUICtrlCreateButton("Abschicken", 6, 154, 123, 21, 0)
$abortbutton = GUICtrlCreateButton("Abbrechen", 142, 154, 123, 21, 0)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked3")
GUICtrlSetOnEvent($abortbutton, "CLOSEClicked3")
GUICtrlSetOnEvent($sendbutton, "sendact")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_HIDE)$serialop = IniRead("settings.ini", "Settings", "Opt1", "error")
[/autoit] [autoit][/autoit] [autoit]
If $serialop = "error" Then
MsgBox(64, "Schwerwiegender Fehler aufgetreten!", "Die Datei 'settings.ini' ist entweder beschädigt oder wurde gelöscht!"&@CRLF&"Sie können das Programm nur noch im Probemodus ausführen!")
Else
GUICtrlSetData($Label2, "Ihre Seriennummer lautet: "&$serialop)
GUICtrlSetData($serialinput, $serialop)
InetGet("http://serialsql.se.ohost.de/serials/"&$serialop&".ini", @AppDataDir&$serialop&".ini")
$inetactcheck = IniRead(@AppDataDir&$serialop&".ini", "Serials", "actkey", "actlost")
FileDelete(@AppDataDir&$serialop&".ini")
If $inetactcheck = "actlost" Then
MsgBox(64, "Produktaktivierung", "Sie haben das Programm noch nicht aktiviert und befinden sich derzeit in der Probezeit!")
Else
$sread = $serialop
For $i = 0 To 15
$s = $i + 1
$ran[$i] = StringMid($sread, $s, 1)If $ran[$i] = "A" Or $ran[$i] = "2" Or $ran[$i] = "7" Then
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$ran[$i] = "C"
ElseIf $ran[$i] = "B" Or $ran[$i] = "U" Or $ran[$i] = "W" Then
$ran[$i] = "6"
ElseIf $ran[$i] = "T" Or $ran[$i] = "9" Or $ran[$i] = "0" Then
$ran[$i] = "Z"
ElseIf $ran[$i] = "Q" Or $ran[$i] = "5" Or $ran[$i] = "V" Then
$ran[$i] = "X"
ElseIf $ran[$i] = "4" Or $ran[$i] = "3" Or $ran[$i] = "H" Then
$ran[$i] = "J"
ElseIf $ran[$i] = "E" Or $ran[$i] = "N" Or $ran[$i] = "8" Then
$ran[$i] = "P"
ElseIf $ran[$i] = "C" Or $ran[$i] = "X" Or $ran[$i] = "Y" Then
$ran[$i] = "8"
ElseIf $ran[$i] = "G" Or $ran[$i] = "F" Or $ran[$i] = "1" Then
$ran[$i] = "V"
ElseIf $ran[$i] = "O" Or $ran[$i] = "Z" Or $ran[$i] = "W" Then
$ran[$i] = "I"
ElseIf $ran[$i] = "6" Or $ran[$i] = "D" Or $ran[$i] = "I" Then
$ran[$i] = "K"
ElseIf $ran[$i] = "J" Or $ran[$i] = "K" Or $ran[$i] = "L" Then
$ran[$i] = "F"
ElseIf $ran[$i] = "M" Or $ran[$i] = "P" Or $ran[$i] = "R" Then
$ran[$i] = "5"
ElseIf $ran[$i] = "S" Then
$ran[$i] = "G"
EndIf
Next
$actcheckwithinet = $ran[0]&$ran[1]&$ran[2]&$ran[3]&$ran[4]&$ran[5]&$ran[6]&$ran[7]&$ran[8]&$ran[9]&$ran[10]&$ran[11]&$ran[12]&$ran[13]&$ran[14]&$ran[15]
If $inetactcheck = $actcheckwithinet Then
GUISetState(@SW_HIDE, $ser)
Run("notepad.exe")
FileDelete(@AppDataDir&$serialop&".ini")
Exit
Else
MsgBox(0, "Schwerwiegender Fehler!", "Der uns gespeicherte Aktivierungs-Code stimmt nicht mit der ihrer Seriennummer überein! Bitte wenden Sie sich an den Support!")
EndIf
EndIf
EndIfFunc freetest()
[/autoit] [autoit][/autoit] [autoit]
$testseterror = InetGet("http://serialsql.se.ohost.de/serials/"&$serialop&".ini", @AppDataDir&$serialop&".ini")
FileDelete(@AppDataDir&$serialop&".ini")
If $testseterror = 0 Then
$timeusable = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\SERIALACT", "Time")
If @error Then
$timeusable = 0
Else
$timeusable += 1
EndIf
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\SERIALACT", "Time", "REG_SZ", $timeusable)
$resttime = 30 - $timeusable
If $resttime <= 0 Then
MsgBox(64, "Probezeit abgelaufen", "Bitte aktivieren sie das Produkt! Ihre Probezeit ist abgelaufen.")
Else
MsgBox(64, "Produkt nicht aktiviert", "Ihr Produkt ist nicht aktiviert! Sie können es nur noch "&$resttime&"-Mal benutzen.")
FileDelete(@AppDataDir&$serialop&".ini")
Exit
EndIf
Else
FileDelete(@AppDataDir&$serialop&".ini")
Run("notepad.exe")
EndIf
EndFuncFunc act()
[/autoit] [autoit][/autoit] [autoit]
$inetseterror = InetGet("http://serialsql.se.ohost.de/serials/"&$serialop&".ini", @AppDataDir&$serialop&".ini")
FileDelete(@AppDataDir&$serialop&".ini")
If $inetseterror = 0 Then
GUISetState(@SW_SHOW, $serform)
Else
MsgBox(64, "Fehler aufgetreten", "Das Produkt wurde bereits aktiviert.")
EndIf
FileDelete(@AppDataDir&$serialop&".ini")
EndFuncFunc sendact()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$name2 = GUICtrlRead($name)
$nachname2 = GUICtrlRead($nachname)
$street2 = GUICtrlRead($street)
$ort2 = GUICtrlRead($ort)
$serialinput2 = GUICtrlRead($serialinput)For $i = 0 To 15
[/autoit] [autoit][/autoit] [autoit]
$s = $i + 1
$ran[$i] = StringMid($serialinput2, $s, 1)
If $ran[$i] = "A" Or $ran[$i] = "2" Or $ran[$i] = "7" Then
$ran[$i] = "C"
ElseIf $ran[$i] = "B" Or $ran[$i] = "U" Or $ran[$i] = "W" Then
$ran[$i] = "6"
ElseIf $ran[$i] = "T" Or $ran[$i] = "9" Or $ran[$i] = "0" Then
$ran[$i] = "Z"
ElseIf $ran[$i] = "Q" Or $ran[$i] = "5" Or $ran[$i] = "V" Then
$ran[$i] = "X"
ElseIf $ran[$i] = "4" Or $ran[$i] = "3" Or $ran[$i] = "H" Then
$ran[$i] = "J"
ElseIf $ran[$i] = "E" Or $ran[$i] = "N" Or $ran[$i] = "8" Then
$ran[$i] = "P"
ElseIf $ran[$i] = "C" Or $ran[$i] = "X" Or $ran[$i] = "Y" Then
$ran[$i] = "8"
ElseIf $ran[$i] = "G" Or $ran[$i] = "F" Or $ran[$i] = "1" Then
$ran[$i] = "V"
ElseIf $ran[$i] = "O" Or $ran[$i] = "Z" Or $ran[$i] = "W" Then
$ran[$i] = "I"
ElseIf $ran[$i] = "6" Or $ran[$i] = "D" Or $ran[$i] = "I" Then
$ran[$i] = "K"
ElseIf $ran[$i] = "J" Or $ran[$i] = "K" Or $ran[$i] = "L" Then
$ran[$i] = "F"
ElseIf $ran[$i] = "M" Or $ran[$i] = "P" Or $ran[$i] = "R" Then
$ran[$i] = "5"
ElseIf $ran[$i] = "S" Then
$ran[$i] = "G"
EndIf
Next
$activateerror = InetGet("http://serialsql.se.ohost.de/serials/"&$serialinput2&".ini", @AppDataDir&$serialinput2&".ini")
FileDelete(@AppDataDir&$serialinput2&".ini")
If $activateerror = 0 Then
$activate = $ran[0]&$ran[1]&$ran[2]&$ran[3]&$ran[4]&$ran[5]&$ran[6]&$ran[7]&$ran[8]&$ran[9]&$ran[10]&$ran[11]&$ran[12]&$ran[13]&$ran[14]&$ran[15]
$oIE = _IECreate("http://serialsql.se.ohost.de/serials/serials.php?file="&_INetExplorerCapable($serialinput2)&"&serial="&_INetExplorerCapable($serialinput2)&"&actkey="&_INetExplorerCapable($activate)&"&name="&_INetExplorerCapable($name2)&"&nachname="&_INetExplorerCapable($nachname2)&"&wohnort="&_INetExplorerCapable($ort2)&"&street="&_INetExplorerCapable($street2), 0, 0 )
_IELoadWaitTimeout( 3000 )
_IELoadWait( $oIE )
_IEQuit( $oIE )
If @error = 1 Or @error = 3 Or @error = 4 Or @error = 6 Or @error = 8 Or @error = 9 Then
MsgBox(0, "Fehler aufgetreten!", "Es konnte keine Verbindung mit dem Server hergestellt werden! Bitte kontrollieren Sie, dass sie mit dem Internet verbunden sind und schalten Sie Ihre FireWall vorrübergehend aus!")
ElseMsgBox(64, "Aktivierungscode", "Vielen Dank für ihre Geduld! Ihre Software wurde aktiviert!")
[/autoit] [autoit][/autoit] [autoit]
EndIf
Else
MsgBox(64, "Fehler aufgetreten", "Das Produkt wurde bereits aktiviert.")
EndIf
FileDelete(@AppDataDir&$serialop&".ini")EndFunc
[/autoit] [autoit][/autoit] [autoit]Func CLOSEClicked()
[/autoit] [autoit][/autoit] [autoit]
FileDelete(@AppDataDir&$serialop&".ini")
Exit
EndFuncFunc CLOSEClicked3()
[/autoit] [autoit][/autoit] [autoit]
FileDelete(@AppDataDir&$serialop&".ini")
GUISetState(@SW_HIDE, $serform)
EndFuncWhile 1
[/autoit]
Sleep(100)
WEndEr sendet jetzt bei der Aktivierung Daten an eine .php auf einem Webspace, die .php erstellt daraufhin eine .ini datei auf dem server mit der seriennummer als Namen, in der ini stehen die Infos die man bei der Aktivierung eingegeben hat, so kann man sie auch später wieder einlesen indem man die Ini runterlädt, Daten ausliest und ini wieder löscht...
Was mir nicht so ganz gefällt ist, dass die Seriennummer noch in ner lokalen .ini Datei gespeichert wird. Die lokale .ini Datei generiert man mit dem Generator:generator.au3(Generiert neue Seriennummer bei Ausführen!)
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <ButtonConstants.au3>Global $ran[16]
[/autoit] [autoit][/autoit] [autoit]
Global $key[16]Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]
GUICreate("Activation Generator", 186, 146, 193, 125)
GUICtrlCreateLabel("Serienummer hier eingeben:", 8, 8, 161, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$sernum = GUICtrlCreateInput("Seriennummer...", 8, 32, 169, 21)
GUICtrlCreateLabel("Aktivierungs-Key:", 8, 96, 103, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$actkey = GUICtrlCreateInput("Aktivierungskey wird hier erstellt", 8, 112, 169, 21)
$gener = GUICtrlCreateButton("Aktivierungs-Key generieren!", 8, 64, 169, 25, 0)
GUISetState(@SW_Show)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUICtrlSetOnEvent($gener, "generate")For $i = 0 To 15
[/autoit] [autoit][/autoit] [autoit]
$ran[$i] = Random(0, 9, 1)
$key[$i] = Random(1, 26, 1)
If $key[$i] = 1 Then
$key[$i] = "Q"
ElseIf $key[$i] = 2 Then
$key[$i] = "W"
ElseIf $key[$i] = 3 Then
$key[$i] = "E"
ElseIf $key[$i] = 4 Then
$key[$i] = "R"
ElseIf $key[$i] = 5 Then
$key[$i] = "T"
ElseIf $key[$i] = 6 Then
$key[$i] = "Z"
ElseIf $key[$i] = 7 Then
$key[$i] = "U"
ElseIf $key[$i] = 8 Then
$key[$i] = "I"
ElseIf $key[$i] = 9 Then
$key[$i] = "O"
ElseIf $key[$i] = 10 Then
$key[$i] = "P"
ElseIf $key[$i] = 11 Then
$key[$i] = "A"
ElseIf $key[$i] = 12 Then
$key[$i] = "S"
ElseIf $key[$i] = 13 Then
$key[$i] = "D"
ElseIf $key[$i] = 14 Then
$key[$i] = "F"
ElseIf $key[$i] = 15 Then
$key[$i] = "G"
ElseIf $key[$i] = 16 Then
$key[$i] = "H"
ElseIf $key[$i] = 17 Then
$key[$i] = "J"
ElseIf $key[$i] = 18 Then
$key[$i] = "K"
ElseIf $key[$i] = 19 Then
$key[$i] = "L"
ElseIf $key[$i] = 20 Then
$key[$i] = "Y"
ElseIf $key[$i] = 21 Then
$key[$i] = "X"
ElseIf $key[$i] = 22 Then
$key[$i] = "C"
ElseIf $key[$i] = 23 Then
$key[$i] = "V"
ElseIf $key[$i] = 24 Then
$key[$i] = "B"
ElseIf $key[$i] = 25 Then
$key[$i] = "N"
ElseIf $key[$i] = 26 Then
$key[$i] = "M"
EndIf
$koz = Random(0, 1, 1)
$kozcheck = $koz + $ran[$i]
If $kozcheck = $ran[$i] + 1 Then
$ran[$i] = $key[$i]
Else
$ran[$i] = $ran[$i]
EndIf
Next
$serialop = $ran[0]&$ran[1]&$ran[2]&$ran[3]&$ran[4]&$ran[5]&$ran[6]&$ran[7]&$ran[8]&$ran[9]&$ran[10]&$ran[11]&$ran[12]&$ran[13]&$ran[14]&$ran[15]
GUICtrlSetData($sernum, $serialop)
IniWrite("settings.ini", "Settings", "Opt1", $serialop)While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc CLOSEClicked()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc generate()
[/autoit] [autoit][/autoit] [autoit]
Local $ran[16]
$sread = GUICtrlRead($sernum)
For $i = 0 To 15
$s = $i + 1
$ran[$i] = StringMid($sread, $s, 1)If $ran[$i] = "A" Or $ran[$i] = "2" Or $ran[$i] = "7" Then
[/autoit]
$ran[$i] = "C"
ElseIf $ran[$i] = "B" Or $ran[$i] = "U" Or $ran[$i] = "W" Then
$ran[$i] = "6"
ElseIf $ran[$i] = "T" Or $ran[$i] = "9" Or $ran[$i] = "0" Then
$ran[$i] = "Z"
ElseIf $ran[$i] = "Q" Or $ran[$i] = "5" Or $ran[$i] = "V" Then
$ran[$i] = "X"
ElseIf $ran[$i] = "4" Or $ran[$i] = "3" Or $ran[$i] = "H" Then
$ran[$i] = "J"
ElseIf $ran[$i] = "E" Or $ran[$i] = "N" Or $ran[$i] = "8" Then
$ran[$i] = "P"
ElseIf $ran[$i] = "C" Or $ran[$i] = "X" Or $ran[$i] = "Y" Then
$ran[$i] = "8"
ElseIf $ran[$i] = "G" Or $ran[$i] = "F" Or $ran[$i] = "1" Then
$ran[$i] = "V"
ElseIf $ran[$i] = "O" Or $ran[$i] = "Z" Or $ran[$i] = "W" Then
$ran[$i] = "I"
ElseIf $ran[$i] = "6" Or $ran[$i] = "D" Or $ran[$i] = "I" Then
$ran[$i] = "K"
ElseIf $ran[$i] = "J" Or $ran[$i] = "K" Or $ran[$i] = "L" Then
$ran[$i] = "F"
ElseIf $ran[$i] = "M" Or $ran[$i] = "P" Or $ran[$i] = "R" Then
$ran[$i] = "5"
ElseIf $ran[$i] = "S" Then
$ran[$i] = "G"
EndIf
Next
$activate = $ran[0]&$ran[1]&$ran[2]&$ran[3]&$ran[4]&$ran[5]&$ran[6]&$ran[7]&$ran[8]&$ran[9]&$ran[10]&$ran[11]&$ran[12]&$ran[13]&$ran[14]&$ran[15]
GUICtrlSetData($actkey, $activate)
EndFuncUnd hier mal noch die .php Datei:
serials.php (Nur benötigt wenn ihr es auf eurem server testen wollt. Dazu muss der Code angepasst werden)
Spoiler anzeigen
PHP
Alles anzeigen<?php $file = fopen($_GET['file'].".ini", "a+"); fwrite ($file, "\n"); fwrite ($file, "[Serials]"); fwrite ($file, "\n"); fwrite ($file, "serial="); fwrite ($file, $_GET['serial']); fwrite ($file, "\n"); fwrite ($file, "actkey="); fwrite ($file, $_GET['actkey']); fwrite ($file, "\n"); fwrite ($file, "name="); fwrite ($file, $_GET['name']); fwrite ($file, "\n"); fwrite ($file, "nachname="); fwrite ($file, $_GET['nachname']); fwrite ($file, "\n"); fwrite ($file, "wohnort="); fwrite ($file, $_GET['wohnort']); fwrite ($file, "\n"); fwrite ($file, "street="); fwrite ($file, $_GET['street']); fclose($file); ?>
-
Hi,
Mir will einfach keine Idee einfallen wie ich das richtig lösen kann.
Und zwar möchte ich, das bei Scriptstart eine Zufallsvariable generiert wird und diese dann z.b. Auf einem Webserver in einer .ini gespeichert wird. So weit hab ich das auch schon geschafft.
Jetzt ist das Problem folgendes:
Ich möchte beim nächsten Programmstart diese Zufallsvariable vom Webserver wieder abrufen, möglichst ohne die Zufallsvariable lokal auf dem Rechner speichern zu müssen.Ich bin mir nicht sicher ob das so überhaupt gehen kann, denn auf dem Webserver sind mehrere .inis, für jede Zufallsvariable eine, gespeichert. Wenn das nicht funktioniert, gibt es eine andere Lösung außer eben die Zufallsvariable in einer lokalen .ini oder in der Registry zu speichern?
-
Das mit Registry ist blöd ich weis, da will ich ma noch shcauen ob ich das über ne Datenbank machen kann.
Unbrauchbar weil ich ihn hier gezeigt hab, ist er nicht, man kann ganz einfach den Seriennummer To Activation-Code umändern, dass er ihn anders generiert.
-
Habe ein Script geschrieben, dass bei Start eine Seriennummer generiert. Die Produkt muss erst aktiviert werden, bevor man ein Programm vollständig nutzen kann (ohne Probezeit).
Das könnte man z.B. dazu verwenden, wenn man wirklich mal ein Script verkaufen will. Man muss es dann nur ein wenig umschreiben, dass dem Script eben von Anfang an eine Seriennummer zugeschrieben ist, die man dann durch das Aktivieren noch bestätigen muss.Wenn es nicht aktiviert wird, befindet man sich in der Probezeit und kann das Programm nur 50x benutzen.
Seriennummer, Aktivierungscode und Restliche Probezeit werden in der Registry gespeichert.
Das Script ist an sehr vielen Ecken noch Verbesserungswürdig. Vorallem, die Methode der Aktivierung lässt zu wünschen übrig. Einen Sinn hat das Script im aktuellen Zustand nicht wirklich, das weis ich auch... Aber man kann ihm einen Sinn geben.
serial.au3Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <ButtonConstants.au3>
#include <Inet.au3>
#include <IE.au3>Global $ran[16]
[/autoit] [autoit][/autoit] [autoit]
Global $key[16]
Dim $lefttimeOpt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]
$ser = GUICreate("Serial Beta Programm", 306, 186, 193, 125)
$Label1 = GUICtrlCreateLabel("Bevor sie das Programm nutzen können, müssen sie es aktivieren.", 8, 8, 292, 41)
$Label2 = GUICtrlCreateLabel("Ihre Seriennummer lautet: XXXXX - XXXXX - XXXXX", 8, 162, 292, 33)
$Label5 = GUICtrlCreateLabel("Seriennummer aktivieren?", 80, 52, 150, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Button3 = GUICtrlCreateButton("Aktivieren.", 80, 68, 145, 25, 0)
$Label4 = GUICtrlCreateLabel("Produkt kostenlos testen? ", 88, 100, 130, 17)
$Button2 = GUICtrlCreateButton("Produkt jetzt kostenlos testen.", 40, 124, 225, 25, 0)
GUISetState(@SW_SHOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUICtrlSetOnEvent($Button2, "freetest")
GUICtrlSetOnEvent($Button3, "act")Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$serform = GUICreate("Aktivierungsformular", 274, 184, 193, 126)
$Group1 = GUICtrlCreateGroup("", 120, 0, 145, 141)
$name = GUICtrlCreateInput("Hans", 128, 16, 129, 21)
$nachname = GUICtrlCreateInput("Mustermann", 128, 40, 129, 21)
$street = GUICtrlCreateInput("Musterstraße 1", 128, 64, 129, 21)
$ort = GUICtrlCreateInput("Musterhausen / 12345", 128, 88, 129, 21)
$serialinput = GUICtrlCreateInput("xxxxx - xxxxx - xxxxx", 128, 112, 129, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("", 2, 10, 117, 27)
$namelabel = GUICtrlCreateLabel("Vorname", 8, 18, 53, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group3 = GUICtrlCreateGroup("", 2, 34, 117, 27)
$nachnamelabel = GUICtrlCreateLabel("Nachname", 8, 42, 64, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group4 = GUICtrlCreateGroup("", 2, 81, 117, 27)
$ortlabel = GUICtrlCreateLabel("Wohnort / PLZ", 8, 89, 89, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group5 = GUICtrlCreateGroup("", 2, 57, 117, 27)
$streetlabel = GUICtrlCreateLabel("Straße", 8, 65, 41, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group6 = GUICtrlCreateGroup("", 2, 106, 117, 27)
$seriallabel = GUICtrlCreateLabel("Seriennummer", 8, 114, 100, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group7 = GUICtrlCreateGroup("", 2, 140, 269, 41)
$sendbutton = GUICtrlCreateButton("Abschicken", 6, 154, 123, 21, 0)
$abortbutton = GUICtrlCreateButton("Abbrechen", 142, 154, 123, 21, 0)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked3")
GUICtrlSetOnEvent($abortbutton, "CLOSEClicked3")
GUICtrlSetOnEvent($sendbutton, "sendact")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_HIDE)$serialop = IniRead("settings.ini", "Settings", "Opt1", "error")
[/autoit] [autoit][/autoit] [autoit]
If $serialop = "error" Then
MsgBox(64, "Schwerwiegender Fehler aufgetreten!", "Die Datei 'settings.ini' ist entweder beschädigt oder wurde gelöscht!"&@CRLF&"Sie können das Programm nur noch im Probemodus ausführen!")
Else
GUICtrlSetData($Label2, "Ihre Seriennummer lautet: "&$serialop)
GUICtrlSetData($serialinput, $serialop)
InetGet("http://serialsql.se.ohost.de/serials/"&$serialop&".ini", @AppDataDir&$serialop&".ini")
$inetactcheck = IniRead(@AppDataDir&$serialop&".ini", "Serials", "actkey", "actlost")
FileDelete(@AppDataDir&$serialop&".ini")
If $inetactcheck = "actlost" Then
MsgBox(64, "Produktaktivierung", "Sie haben das Programm noch nicht aktiviert und befinden sich derzeit in der Probezeit!")
Else
$sread = $serialop
For $i = 0 To 15
$s = $i + 1
$ran[$i] = StringMid($sread, $s, 1)If $ran[$i] = "A" Or $ran[$i] = "2" Or $ran[$i] = "7" Then
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$ran[$i] = "C"
ElseIf $ran[$i] = "B" Or $ran[$i] = "U" Or $ran[$i] = "W" Then
$ran[$i] = "6"
ElseIf $ran[$i] = "T" Or $ran[$i] = "9" Or $ran[$i] = "0" Then
$ran[$i] = "Z"
ElseIf $ran[$i] = "Q" Or $ran[$i] = "5" Or $ran[$i] = "V" Then
$ran[$i] = "X"
ElseIf $ran[$i] = "4" Or $ran[$i] = "3" Or $ran[$i] = "H" Then
$ran[$i] = "J"
ElseIf $ran[$i] = "E" Or $ran[$i] = "N" Or $ran[$i] = "8" Then
$ran[$i] = "P"
ElseIf $ran[$i] = "C" Or $ran[$i] = "X" Or $ran[$i] = "Y" Then
$ran[$i] = "8"
ElseIf $ran[$i] = "G" Or $ran[$i] = "F" Or $ran[$i] = "1" Then
$ran[$i] = "V"
ElseIf $ran[$i] = "O" Or $ran[$i] = "Z" Or $ran[$i] = "W" Then
$ran[$i] = "I"
ElseIf $ran[$i] = "6" Or $ran[$i] = "D" Or $ran[$i] = "I" Then
$ran[$i] = "K"
ElseIf $ran[$i] = "J" Or $ran[$i] = "K" Or $ran[$i] = "L" Then
$ran[$i] = "F"
ElseIf $ran[$i] = "M" Or $ran[$i] = "P" Or $ran[$i] = "R" Then
$ran[$i] = "5"
ElseIf $ran[$i] = "S" Then
$ran[$i] = "G"
EndIf
Next
$actcheckwithinet = $ran[0]&$ran[1]&$ran[2]&$ran[3]&$ran[4]&$ran[5]&$ran[6]&$ran[7]&$ran[8]&$ran[9]&$ran[10]&$ran[11]&$ran[12]&$ran[13]&$ran[14]&$ran[15]
If $inetactcheck = $actcheckwithinet Then
GUISetState(@SW_HIDE, $ser)
Run("notepad.exe")
FileDelete(@AppDataDir&$serialop&".ini")
Exit
Else
MsgBox(0, "Schwerwiegender Fehler!", "Der uns gespeicherte Aktivierungs-Code stimmt nicht mit der ihrer Seriennummer überein! Bitte wenden Sie sich an den Support!")
EndIf
EndIf
EndIfFunc freetest()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$testseterror = InetGet("http://serialsql.se.ohost.de/serials/"&$serialop&".ini", @AppDataDir&$serialop&".ini")
FileDelete(@AppDataDir&$serialop&".ini")
If $testseterror = 0 Then
$timeusable = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\SERIALACT", "Time")
If @error Then
$timeusable = 0
Else
$timeusable += 1
EndIf
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\SERIALACT", "Time", "REG_SZ", $timeusable)
$resttime = 30 - $timeusable
If $resttime <= 0 Then
MsgBox(64, "Probezeit abgelaufen", "Bitte aktivieren sie das Produkt! Ihre Probezeit ist abgelaufen.")
Else
MsgBox(64, "Produkt nicht aktiviert", "Ihr Produkt ist nicht aktiviert! Sie können es nur noch "&$resttime&"-Mal benutzen.")
FileDelete(@AppDataDir&$serialop&".ini")
Exit
EndIf
Else
FileDelete(@AppDataDir&$serialop&".ini")
Run("notepad.exe")
EndIfEndFunc
[/autoit] [autoit][/autoit] [autoit]Func act()
[/autoit] [autoit][/autoit] [autoit]
$inetseterror = InetGet("http://serialsql.se.ohost.de/serials/"&$serialop&".ini", @AppDataDir&$serialop&".ini")
FileDelete(@AppDataDir&$serialop&".ini")
If $inetseterror = 0 Then
GUISetState(@SW_SHOW, $serform)
Else
MsgBox(64, "Fehler aufgetreten", "Das Produkt wurde bereits aktiviert.")
EndIf
FileDelete(@AppDataDir&$serialop&".ini")
EndFuncFunc sendact()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$name2 = GUICtrlRead($name)
$nachname2 = GUICtrlRead($nachname)
$street2 = GUICtrlRead($street)
$ort2 = GUICtrlRead($ort)
$serialinput2 = GUICtrlRead($serialinput)For $i = 0 To 15
[/autoit] [autoit][/autoit] [autoit]
$s = $i + 1
$ran[$i] = StringMid($serialinput2, $s, 1)
If $ran[$i] = "A" Or $ran[$i] = "2" Or $ran[$i] = "7" Then
$ran[$i] = "C"
ElseIf $ran[$i] = "B" Or $ran[$i] = "U" Or $ran[$i] = "W" Then
$ran[$i] = "6"
ElseIf $ran[$i] = "T" Or $ran[$i] = "9" Or $ran[$i] = "0" Then
$ran[$i] = "Z"
ElseIf $ran[$i] = "Q" Or $ran[$i] = "5" Or $ran[$i] = "V" Then
$ran[$i] = "X"
ElseIf $ran[$i] = "4" Or $ran[$i] = "3" Or $ran[$i] = "H" Then
$ran[$i] = "J"
ElseIf $ran[$i] = "E" Or $ran[$i] = "N" Or $ran[$i] = "8" Then
$ran[$i] = "P"
ElseIf $ran[$i] = "C" Or $ran[$i] = "X" Or $ran[$i] = "Y" Then
$ran[$i] = "8"
ElseIf $ran[$i] = "G" Or $ran[$i] = "F" Or $ran[$i] = "1" Then
$ran[$i] = "V"
ElseIf $ran[$i] = "O" Or $ran[$i] = "Z" Or $ran[$i] = "W" Then
$ran[$i] = "I"
ElseIf $ran[$i] = "6" Or $ran[$i] = "D" Or $ran[$i] = "I" Then
$ran[$i] = "K"
ElseIf $ran[$i] = "J" Or $ran[$i] = "K" Or $ran[$i] = "L" Then
$ran[$i] = "F"
ElseIf $ran[$i] = "M" Or $ran[$i] = "P" Or $ran[$i] = "R" Then
$ran[$i] = "5"
ElseIf $ran[$i] = "S" Then
$ran[$i] = "G"
EndIf
Next$activateerror = InetGet("http://serialsql.se.ohost.de/serials/"&$serialinput2&".ini", @AppDataDir&$serialinput2&".ini")
[/autoit] [autoit][/autoit] [autoit]
FileDelete(@AppDataDir&$serialinput2&".ini")
If $activateerror = 0 Then
$activate = $ran[0]&$ran[1]&$ran[2]&$ran[3]&$ran[4]&$ran[5]&$ran[6]&$ran[7]&$ran[8]&$ran[9]&$ran[10]&$ran[11]&$ran[12]&$ran[13]&$ran[14]&$ran[15]
$oIE = _IECreate("http://serialsql.se.ohost.de/serials/serials.php?file="&_INetExplorerCapable($serialinput2)&"&serial="&_INetExplorerCapable($serialinput2)&"&actkey="&_INetExplorerCapable($activate)&"&name="&_INetExplorerCapable($name2)&"&nachname="&_INetExplorerCapable($nachname2)&"&wohnort="&_INetExplorerCapable($ort2)&"&street="&_INetExplorerCapable($street2), 0, 0 )
_IELoadWaitTimeout( 3000 )
_IELoadWait( $oIE )
_IEQuit( $oIE )
If @error = 1 Or @error = 3 Or @error = 4 Or @error = 6 Or @error = 8 Or @error = 9 Then
MsgBox(0, "Fehler aufgetreten!", "Es konnte keine Verbindung mit dem Server hergestellt werden! Bitte kontrollieren Sie, dass sie mit dem Internet verbunden sind und schalten Sie Ihre FireWall vorrübergehend aus!")
ElseMsgBox(64, "Aktivierungscode", "Vielen Dank für ihre Geduld! Ihre Software wurde aktiviert!")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
EndIf
Else
MsgBox(64, "Fehler aufgetreten", "Das Produkt wurde bereits aktiviert.")
EndIf
FileDelete(@AppDataDir&$serialop&".ini")EndFunc
[/autoit] [autoit][/autoit] [autoit]Func CLOSEClicked()
[/autoit] [autoit][/autoit] [autoit]
FileDelete(@AppDataDir&$serialop&".ini")
Exit
EndFuncFunc CLOSEClicked3()
[/autoit] [autoit][/autoit] [autoit]
FileDelete(@AppDataDir&$serialop&".ini")
GUISetState(@SW_HIDE, $serform)
EndFuncWhile 1
[/autoit]
Sleep(100)
WEndExterner Aktivierungscode-Generator:
generator.au3Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <ButtonConstants.au3>Global $ran[16]
[/autoit] [autoit][/autoit] [autoit]
Global $key[16]Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]
GUICreate("Activation Generator", 186, 146, 193, 125)
GUICtrlCreateLabel("Serienummer hier eingeben:", 8, 8, 161, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$sernum = GUICtrlCreateInput("Seriennummer...", 8, 32, 169, 21)
GUICtrlCreateLabel("Aktivierungs-Key:", 8, 96, 103, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$actkey = GUICtrlCreateInput("Aktivierungskey wird hier erstellt", 8, 112, 169, 21)
$gener = GUICtrlCreateButton("Aktivierungs-Key generieren!", 8, 64, 169, 25, 0)
GUISetState(@SW_Show)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUICtrlSetOnEvent($gener, "generate")For $i = 0 To 15
[/autoit] [autoit][/autoit] [autoit]
$ran[$i] = Random(0, 9, 1)
$key[$i] = Random(1, 26, 1)
If $key[$i] = 1 Then
$key[$i] = "Q"
ElseIf $key[$i] = 2 Then
$key[$i] = "W"
ElseIf $key[$i] = 3 Then
$key[$i] = "E"
ElseIf $key[$i] = 4 Then
$key[$i] = "R"
ElseIf $key[$i] = 5 Then
$key[$i] = "T"
ElseIf $key[$i] = 6 Then
$key[$i] = "Z"
ElseIf $key[$i] = 7 Then
$key[$i] = "U"
ElseIf $key[$i] = 8 Then
$key[$i] = "I"
ElseIf $key[$i] = 9 Then
$key[$i] = "O"
ElseIf $key[$i] = 10 Then
$key[$i] = "P"
ElseIf $key[$i] = 11 Then
$key[$i] = "A"
ElseIf $key[$i] = 12 Then
$key[$i] = "S"
ElseIf $key[$i] = 13 Then
$key[$i] = "D"
ElseIf $key[$i] = 14 Then
$key[$i] = "F"
ElseIf $key[$i] = 15 Then
$key[$i] = "G"
ElseIf $key[$i] = 16 Then
$key[$i] = "H"
ElseIf $key[$i] = 17 Then
$key[$i] = "J"
ElseIf $key[$i] = 18 Then
$key[$i] = "K"
ElseIf $key[$i] = 19 Then
$key[$i] = "L"
ElseIf $key[$i] = 20 Then
$key[$i] = "Y"
ElseIf $key[$i] = 21 Then
$key[$i] = "X"
ElseIf $key[$i] = 22 Then
$key[$i] = "C"
ElseIf $key[$i] = 23 Then
$key[$i] = "V"
ElseIf $key[$i] = 24 Then
$key[$i] = "B"
ElseIf $key[$i] = 25 Then
$key[$i] = "N"
ElseIf $key[$i] = 26 Then
$key[$i] = "M"
EndIf
$koz = Random(0, 1, 1)
$kozcheck = $koz + $ran[$i]
If $kozcheck = $ran[$i] + 1 Then
$ran[$i] = $key[$i]
Else
$ran[$i] = $ran[$i]
EndIf
Next
$serialop = $ran[0]&$ran[1]&$ran[2]&$ran[3]&$ran[4]&$ran[5]&$ran[6]&$ran[7]&$ran[8]&$ran[9]&$ran[10]&$ran[11]&$ran[12]&$ran[13]&$ran[14]&$ran[15]
GUICtrlSetData($sernum, $serialop)
IniWrite("settings.ini", "Settings", "Opt1", $serialop)While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc CLOSEClicked()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc generate()
[/autoit] [autoit][/autoit] [autoit]
Local $ran[16]
$sread = GUICtrlRead($sernum)
For $i = 0 To 15
$s = $i + 1
$ran[$i] = StringMid($sread, $s, 1)If $ran[$i] = "A" Or $ran[$i] = "2" Or $ran[$i] = "7" Then
[/autoit]
$ran[$i] = "C"
ElseIf $ran[$i] = "B" Or $ran[$i] = "U" Or $ran[$i] = "W" Then
$ran[$i] = "6"
ElseIf $ran[$i] = "T" Or $ran[$i] = "9" Or $ran[$i] = "0" Then
$ran[$i] = "Z"
ElseIf $ran[$i] = "Q" Or $ran[$i] = "5" Or $ran[$i] = "V" Then
$ran[$i] = "X"
ElseIf $ran[$i] = "4" Or $ran[$i] = "3" Or $ran[$i] = "H" Then
$ran[$i] = "J"
ElseIf $ran[$i] = "E" Or $ran[$i] = "N" Or $ran[$i] = "8" Then
$ran[$i] = "P"
ElseIf $ran[$i] = "C" Or $ran[$i] = "X" Or $ran[$i] = "Y" Then
$ran[$i] = "8"
ElseIf $ran[$i] = "G" Or $ran[$i] = "F" Or $ran[$i] = "1" Then
$ran[$i] = "V"
ElseIf $ran[$i] = "O" Or $ran[$i] = "Z" Or $ran[$i] = "W" Then
$ran[$i] = "I"
ElseIf $ran[$i] = "6" Or $ran[$i] = "D" Or $ran[$i] = "I" Then
$ran[$i] = "K"
ElseIf $ran[$i] = "J" Or $ran[$i] = "K" Or $ran[$i] = "L" Then
$ran[$i] = "F"
ElseIf $ran[$i] = "M" Or $ran[$i] = "P" Or $ran[$i] = "R" Then
$ran[$i] = "5"
ElseIf $ran[$i] = "S" Then
$ran[$i] = "G"
EndIf
Next
$activate = $ran[0]&$ran[1]&$ran[2]&$ran[3]&$ran[4]&$ran[5]&$ran[6]&$ran[7]&$ran[8]&$ran[9]&$ran[10]&$ran[11]&$ran[12]&$ran[13]&$ran[14]&$ran[15]
GUICtrlSetData($actkey, $activate)
EndFuncserials.php (Nur benötigt wenn ihr es auf eurem server testen wollt. Dazu muss der Code angepasst werden)
Spoiler anzeigen
PHP
Alles anzeigen<?php $file = fopen($_GET['file'].".ini", "a+"); fwrite ($file, "\n"); fwrite ($file, "[Serials]"); fwrite ($file, "\n"); fwrite ($file, "serial="); fwrite ($file, $_GET['serial']); fwrite ($file, "\n"); fwrite ($file, "actkey="); fwrite ($file, $_GET['actkey']); fwrite ($file, "\n"); fwrite ($file, "name="); fwrite ($file, $_GET['name']); fwrite ($file, "\n"); fwrite ($file, "nachname="); fwrite ($file, $_GET['nachname']); fwrite ($file, "\n"); fwrite ($file, "wohnort="); fwrite ($file, $_GET['wohnort']); fwrite ($file, "\n"); fwrite ($file, "street="); fwrite ($file, $_GET['street']); fclose($file); ?>
Wäre cool, wen ihr dabei helfen könntet das Script auszubauen und zu vervollständigen.
Wer das wirklich nutzen möchte, sollte die Art und Weise, wie der Aktivierungscode generiert wird verändern, ansonsten macht das wenig Sinn.### Updates/Fixes.................................................
* 21.06.2008:
- Es wurde ein Fehler behoben, der ein doppeltes einschreiben in die *.ini auf dem Webspace ermöglichte.
- Es wurde ein Form-Fehler behoben.
- Es wurde ein Fehler behoben, der das Script nach Ablauf der 30 Probe-Tests nicht richtig deaktiviert hat.
* 20.06.2008:- Die Aktivierungsdaten werden nun in einer, durch eine *.php Datei erstellte *.ini Datei, auf einem WebSpace gespeichert.
- Arbeitsprinzip überarbeitet.
...................................................................###
## Info: Wenn ihr das Script aktiviert, sind eure eingegebenen Daten auf: http://serialsql.se.ohost.de/serials/ frei zugänglich.
-
Muss man das verstehen? Auf was bezieht sich das?
-
Update:
- Man kann maximal 5 Zeichen eingeben. -
Danke Oscar,
mit den Schleifen und Arrays hab ichs noch nicht so ganz raus... Ich habe mal deinen verkürzten Code oben eingefügt. -
[Blockierte Grafik: http://img9.myimg.de/preview63cce.jpg]
Ich habe ein kleines Script geschrieben, welches zufällige Zahlen generiert und das zu den Zahlen passende Bild anzeigt. So entsteht ein Bilder-Code aus Fünf Zahlen (0-9).
Diese Zahlenabfolge muss man eingeben und "Bestätigen" klicken. Nun wird geprüft, ob die Eingabe mit der Zahlenabfolge übereinstimmt. Wenn nicht, wird eine Fehlermeldung angezeigt und es wird eine neue Zahlenabfolge generiert. Wenn man 3x den Code falsch eingegeben hat, wird das Script beendet.
Wenn der Code richtig eingegeben wurde, kan man z.B. einen Run-Befehl ausführen. Was passieren soll, nachdem der Code richtig eingegeben wurde, kann ganz einfach geändert werden.Info: Das Script könnt ihr nach belieben umbauen, wäre cool, wenn ihr mir zeigen könntet was ihr draus gemacht habt. Die Bildchen der Zahlen könnt ihr auch frei verwenden.
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <ButtonConstants.au3>$times = 0
[/autoit] [autoit][/autoit] [autoit]
Global $pic[5], $randomOpt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]
$secure = GUICreate("Sicherheitscheck", 130, 85, 193, 129)
$code = GUICtrlCreateInput("Sicherheitscode...", 8, 40, 113, 21)
GUICtrlSetLimit(-1, 5)
For $i = 0 To 4
$pic[$i] = GUICtrlCreatePic("", 8+$i*24, 8, 17, 25, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
Next
$button1 = GUICtrlCreateButton("Bestätigen!", 8, 64, 113, 17, $BS_DEFPUSHBUTTON)
GUICtrlSetOnEvent(-1, "check")GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
Refresh()
While 1
Sleep(1000)
WEndFunc check()
[/autoit] [autoit][/autoit] [autoit]
If GUICtrlRead($code) = $random Then
MsgBox(0, "Erfolg!", "Sicherheitscheck erfolgreich. Vielen Dank für ihre Geduld.") ;# Wer nicht will, dass sich ein Fenster öffnet, indem mitgeteilt wird, dass der Code richtig eingegeben wurde, kann diese Zeile löschen. #
Closeandopen()
Else
$times += 1
If $times = 3 Then
MsgBox(64, "Es ist ein Fehler aufgetreten!", "Sie haben bereits 3x den Sicherheitscode falsch eingegeben. Das Programm wird nun beendet.")
Exit
Else
MsgBox(64, "Es ist ein Fehler aufgetreten!", "Der eigegebene Sicherheitscode stimmt nicht mit dem Bild überein! Versuchen sie es bitte erneut.")
Refresh()
EndIf
EndIf
EndFuncFunc Refresh()
[/autoit] [autoit][/autoit] [autoit]
$random = ""
For $i = 0 To 4
$ran = Random(0, 9, 1)
$random &= $ran
GUICtrlSetImage($pic[$i], @ScriptDir&"\images\"&$ran&".jpg")
Next
EndFuncFunc CLOSEClicked()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Exit
EndFunc;# Diese Funktion wird gestartet, nachdem der Code richtig eingegeben wurde. #
[/autoit]
Func Closeandopen()
Run("notepad.exe") ;# Hier den Pfad der zu öffnenden EXE, BAT, COM oder PIF Datei eingeben. (Run ( "filename" [, "workingdir" [, flag]] )) #
Exit
EndFuncIm Dateianhang enthalten:
secure.au3
/images:
0.jpg
1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
6.jpg
7.jpg
8.jpg
9.jpg -
Würde auch mal gerne mein Glück beim übersetzen versuchen.
Stehe auf 1,6 in Englisch (10. Klasse) und mal schauen, ich denke ich könnte meinen Teil zur Übersetzung beitragen. -
Hi, ich habe ein Problem. In meinem Script kann man in eine Ini neue Einträge eintragen, die dann in einer GUICtrlCreateList angezeigt werden sollen. Aber immoment muss man das Script erst neustarten.
Ich habe schon einige Threads hier im Forum gefunden, bin aber nicht schlau daraus geworden bzw. habe keine passende Lösung gefunden.Hier der Teil des Scripts um den es geht:
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <GUIListBox.au3>HotKeySet("{F6}", "_openfox")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
HotKeySet("{F7}", "button")
HotKeySet("{F8}", "_foreground")Dim $addwrote
[/autoit] [autoit][/autoit] [autoit]$Section = IniReadSection("links.ini", "1A")
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 To UBound($Section)-1
$addwrote &= "|" & $Section[$i][1]
NextGlobal $firepfad
[/autoit] [autoit][/autoit] [autoit]$firelist = IniRead("links.ini", "Settings", "Firefoxpfad", "Vollständiger Firefox Pfad")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Opt("RunErrorsFatal", 0)
[/autoit]
Opt("GUIOnEventMode", 1)
Opt("WinTitleMatchMode", 2)
$Form1_1 = GUICreate("Speed-It", 313, 452, 193, 125)
$Group1 = GUICtrlCreateGroup("Speed-It - Firefox quickstarter ", 8, 64, 300, 385, -1, $WS_EX_TRANSPARENT)
$Label1 = GUICtrlCreateLabel("Hotkeys:", 16, 88, 54, 17)
GUICtrlSetFont(-1, 8, 800, 4, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("F6 - Firefox starten. F7 - Go-Button F8 - Speed-It in Vordergrund", 16, 102, 150, 60)
$Button1 = GUICtrlCreateButton("Go! ->", 144, 176, 65, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUICtrlSetCursor (-1, 0)
$addy = GUICtrlCreateList("", 16, 176, 121, 240,$WS_BORDER+$WS_VSCROLL)
GUICtrlSetData(-1, $addwrote)
$Label3 = GUICtrlCreateLabel("© Nico Ell, Speed-It | v.0.5.5", 142, 431, 161, 17)
GUICtrlSetColor(-1, 0x85878C)
GUICtrlSetTip(-1, "© Nico Ell, Speed-It")
$Group2 = GUICtrlCreateGroup("Einstellungen", 144, 208, 153, 217)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$tabopen = GUICtrlCreateCheckbox("Link in neuem Tab öffnen", 152, 232, 137, 17)
$firepfad = GUICtrlCreateInput($firepfad&$firelist, 152, 256, 137, 21)
$Button3 = GUICtrlCreateButton("Pfad speichern", 152, 280, 137, 17, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button2 = GUICtrlCreateButton("Neuer Link", 224, 176, 65, 25, 0)
GUICtrlSetFont(-1, 8, 400, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlSetCursor (-1, 3)
$Pic1 = GUICtrlCreatePic("images\head.gif", 0, 0, 305, 60, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUICtrlSetCursor (-1, 7)
GUICtrlSetOnEvent($Button1, "button")
GUICtrlSetOnEvent($Button2, "button2")
GUICtrlSetOnEvent($Button3, "button3")
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUISetState(@SW_SHOW)LG Nico
-
Speed It v.0.5.5:
Bugs:
- Es wurde ein Fehler behoben, der in manchen Fällen ein fehlerhaftes Anwählen der Addressleiste verursacht hat.Gefixte Speed-it.au3
Spoiler anzeigen
#include <GUIConstants.au3>
#include <GUIListBox.au3>HotKeySet("{F9}", "_openfox")
Dim $addwrote
$Section = IniReadSection("links.ini", "1A")
For $i = 1 To UBound($Section)-1
$addwrote &= "|" & $Section[$i][1]
NextGlobal $firepfad
$firelist = IniRead("links.ini", "Settings", "Firefoxpfad", "Vollständiger Firefox Pfad")
Opt("RunErrorsFatal", 0)
Opt("GUIOnEventMode", 1)
Opt("WinTitleMatchMode", 2)
$Form1_1 = GUICreate("Speed-It", 313, 452, 193, 125)
$Group1 = GUICtrlCreateGroup("Speed-It - Firefox quickstarter ", 8, 64, 300, 385, -1, $WS_EX_TRANSPARENT)
$Label1 = GUICtrlCreateLabel("Hotkeys:", 16, 88, 54, 17)
GUICtrlSetFont(-1, 8, 800, 4, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("F9 - Firefox starten.", 16, 112, 150, 17)
$Button1 = GUICtrlCreateButton("Go! ->", 144, 144, 65, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUICtrlSetCursor (-1, 0)
$addy = GUICtrlCreateList("", 16, 144, 121, 240,$WS_BORDER+$WS_VSCROLL)
GUICtrlSetData(-1, $addwrote)
$Label3 = GUICtrlCreateLabel("© Nico Ell, Speed-It | v.0.5.5", 142, 431, 161, 17)
GUICtrlSetColor(-1, 0x85878C)
GUICtrlSetTip(-1, "© Nico Ell, Speed-It")
$Group2 = GUICtrlCreateGroup("Einstellungen", 144, 208, 153, 217)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$tabopen = GUICtrlCreateCheckbox("Link in neuem Tab öffnen", 152, 232, 137, 17)
$firepfad = GUICtrlCreateInput($firepfad&$firelist, 152, 256, 137, 21)
$Button3 = GUICtrlCreateButton("Pfad speichern", 152, 280, 137, 17, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button2 = GUICtrlCreateButton("Neuer Link", 144, 176, 65, 25, 0)
GUICtrlSetFont(-1, 8, 400, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlSetCursor (-1, 3)
$Pic1 = GUICtrlCreatePic("images\head.gif", 0, 0, 305, 60, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUICtrlSetCursor (-1, 7)
GUICtrlSetOnEvent($Button1, "button")
GUICtrlSetOnEvent($Button2, "button2")
GUICtrlSetOnEvent($Button3, "button3")
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUISetState(@SW_SHOW)While 1
Sleep(1000)
WEndFunc button3 ()
IniWrite("links.ini", "Settings", "Firefoxpfad", GUICtrlRead($firepfad))
EndFuncFunc button()
$index = _GUICtrlListBox_GetCurSel($addy)+1
$address = IniRead("links.ini","1B","url" & $index,"about:blank")
WinActivate("Mozilla")
WinWaitActive("Mozilla")
$tabopencheck = GUICtrlRead($tabopen)
If $tabopencheck = $GUI_CHECKED Then
Send("^t")
Sleep(1500)
Send("^l")
Send($address)
Send("{Enter}")
ElseIf $tabopencheck = $GUI_UNCHECKED Then
Send("^l")
Sleep(10)
Send($address)
Send("{Enter}")
EndIFEndFunc
Func button2 ()
Run("newlink.exe")
EndFuncFunc CLOSEClicked()
Exit
EndFuncFunc _openfox ()
Run($firelist)
If @Error = 1 Then
MsgBox(4096, "Fehler aufgetreten!", "Anscheinend haben Sie einen fehlerhaften Pfad zur firefox.exe angegeben. Stellen Sie sicher, dass ihr Pfad wie folgt aussieht: Bsp.: C:\Programme\Mozilla Firefox\firefox.exe")
EndIfEndFunc
-
Wenn ich das richtig verstanden habe,... machst du das doch lieber manuell durch Einabe von Koordinaten.
Google mal nach "Eyedropper". Das ist ein Programm, dass dir Koordinaten anzeigen kann. -
Zitat aus der deutschen Hilfe-Datei.
ZitatGUI-Ereignis-Modi
Wie oben erwähnt gibt es zwei grundlegende GUI-Modi: den MessageLoopModus und den OnEvent Modus. Die Modi sind einfach zwei verschiedene Wege, um auf GUI-Ereignisse zu reagieren. Welchen Modus du wählst, hängt von deiner persönlichen Vorliebe ab, und bis zu einem gewissen Grad davon, welchen GUI-Typ du erstellen willst. Mit beiden Modi kannst du jede gewünschte GUI erstellen, aber manchmal ist ein Modus passender für eine Aufgabe als der andere.
Der übliche (default) Modus ist der MessageLoop Modus. Um auf den OnEvent Modus umzuschalten verwende Opt("GUIOnEventMode", 1).
Message-loop Modus (default)
Im Message-loop Modus wird dein Skript die meiste Zeit in einer engen Schleife verbringen. Diese Schleife wird einfach ständig die GUI mit der GUIGetMsg Funktion abfragen. Wenn ein Ereignis aufgetreten ist, zeigt der Rückgabewert der GUIGetMsg Funktion die Details an (ein Button wurde angeklickt, die GUI wurde geschlossen, etc.).
In diesem Modus wirst du nur von Ereignissen erfahren solange du aktiv immer wieder die GUIGetMsg Funktion aufrufst; deshalb musst du sicherstellen, dass du sie viele Male pro Sekunde aufrufst, sonst wird deine GUI nicht reagieren.
Dieser Modus ist am besten für GUIs geeignet, wenn die GUI der "König" ist und du nur auf Benutzeraktionen wartest.
Auf dieser Seite findest du eine detailliertere Erklärung des MessageLoop Modus.
OnEvent Modus
Anstatt die GUI ständig abzufragen, um herauszufinden ob etwas passiert ist, lässt du im OnEvent Modus die GUI zeitweise dein Skript anhalten und eine vordefinierte Funktion aufrufen, um das Ereignis zu behandeln. Wenn zum Beispiel ein Nutzer auf Button1 klickt, hält die GUI dein Hauptskript an und ruft eine vorher von dir definierte Funktion auf, die für Button1 zuständig ist. Wenn diese Funktion abgearbeitet ist, wird das Hauptskript fortgesetzt. Dieser Modus ist ähnlich wie die Visual Basic Formular-Methode.
Dieser Modus ist am besten für GUIs geeignet, wenn die GUI weniger wichtig ist und dein Skript zusätzlich zur GUI andere Aufgaben zu erfüllen hat.
Auf dieser Seite findest du eine detailliertere Erklärung des OnEvent Modus.Download gibts hier: http://www.autoitscript.com/autoit3/docs.shtml
-
Speed-IT
Mit diesem kleinen Script könnt ihr euch Links in eine Liste hinzufügen, und diese per Klick auf einen Button im Browser öffnen.
Man mag zwar meinen, das sei unnötig, denn es gibt ja Lesezeichen, aber mit denen komme ich nicht so gut zu Recht. Vielleicht geht es euch ja auch so, probiert es einfach mal aus.
Update v.0.5:
- Man kann eigene Links hinzufügen.
- Man kann Links in neuem Tab öffnen.
- Man kann seinen eigenen Firefox Pfad angeben.
- Adressleiste im Firefox wird nicht mehr per MouseClick angewählt, funktioniert also bei jedem. (Getestet mit Firefox 2.0)
Ladet euch am besten den Anhang runter, da ein kleines Bild mit dabei ist und man für Run Befehl um die 2. GUI zu öffnen, diese als .exe benötigt.Speed-It.au3
Spoiler anzeigen
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=images\icon.ico
#AutoIt3Wrapper_outfile=speedit.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstants.au3>
#include <GUIListBox.au3>HotKeySet("{F9}", "_openfox")
Dim $addwrote
$Section = IniReadSection("links.ini", "1A")
For $i = 1 To UBound($Section)-1
$addwrote &= "|" & $Section[$i][1]
NextGlobal $firepfad
$firelist = IniRead("links.ini", "Settings", "Firefoxpfad", "Vollständiger Firefox Pfad")
Opt("RunErrorsFatal", 0)
Opt("GUIOnEventMode", 1)
Opt("WinTitleMatchMode", 2)
$Form1_1 = GUICreate("Speed-It", 313, 452, 193, 125)
$Group1 = GUICtrlCreateGroup("Speed-It - Firefox quickstarter ", 8, 64, 300, 385, -1, $WS_EX_TRANSPARENT)
$Label1 = GUICtrlCreateLabel("Hotkeys:", 16, 88, 54, 17)
GUICtrlSetFont(-1, 8, 800, 4, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("F9 - Firefox starten.", 16, 112, 150, 17)
$Button1 = GUICtrlCreateButton("Go! ->", 144, 144, 65, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUICtrlSetCursor (-1, 0)
$addy = GUICtrlCreateList("", 16, 144, 121, 240,$WS_BORDER+$WS_VSCROLL)
GUICtrlSetData(-1, $addwrote)
$Label3 = GUICtrlCreateLabel("© Nico Ell, Speed-It | v.0.5.5", 142, 431, 161, 17)
GUICtrlSetColor(-1, 0x85878C)
GUICtrlSetTip(-1, "© Nico Ell, Speed-It")
$Group2 = GUICtrlCreateGroup("Einstellungen", 144, 208, 153, 217)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$tabopen = GUICtrlCreateCheckbox("Link in neuem Tab öffnen", 152, 232, 137, 17)
$firepfad = GUICtrlCreateInput($firepfad&$firelist, 152, 256, 137, 21)
$Button3 = GUICtrlCreateButton("Pfad speichern", 152, 280, 137, 17, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button2 = GUICtrlCreateButton("Neuer Link", 144, 176, 65, 25, 0)
GUICtrlSetFont(-1, 8, 400, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlSetCursor (-1, 3)
$Pic1 = GUICtrlCreatePic("images\head.gif", 0, 0, 305, 60, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUICtrlSetCursor (-1, 7)
GUICtrlSetOnEvent($Button1, "button")
GUICtrlSetOnEvent($Button2, "button2")
GUICtrlSetOnEvent($Button3, "button3")
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUISetState(@SW_SHOW)While 1
Sleep(1000)
WEndFunc button3 ()
IniWrite("links.ini", "Settings", "Firefoxpfad", GUICtrlRead($firepfad))
EndFuncFunc button()
$index = _GUICtrlListBox_GetCurSel($addy)+1
$address = IniRead("links.ini","1B","url" & $index,"about:blank")
WinActivate("Mozilla")
WinWaitActive("Mozilla")
$tabopencheck = GUICtrlRead($tabopen)
If $tabopencheck = $GUI_CHECKED Then
Send("^t")
Sleep(1500)
Send("^l")
Send($address)
Send("{Enter}")
ElseIf $tabopencheck = $GUI_UNCHECKED Then
Send("^l")
Sleep(10)
Send($address)
Send("{Enter}")
EndIFEndFunc
Func button2 ()
Run("newlink.exe")
EndFuncFunc CLOSEClicked()
Exit
EndFuncFunc _openfox ()
Run($firelist)
If @Error = 1 Then
MsgBox(4096, "Fehler aufgetreten!", "Anscheinend haben Sie einen fehlerhaften Pfad zur firefox.exe angegeben. Stellen Sie sicher, dass ihr Pfad wie folgt aussieht: Bsp.: C:\Programme\Mozilla Firefox\firefox.exe")
EndIfEndFunc
Newlink.au3
Spoiler anzeigen
#include <GUIConstants.au3>
Opt("GUIOnEventMode", 1)
Opt("WinTitleMatchMode", 2)
$Form1 = GUICreate("Neuer Link", 227, 160, 193, 125)
$newlink = GUICtrlCreateGroup("Neuen Link hinzufügen", 1, 0, 225, 159)
$linkname = GUICtrlCreateLabel("Linkname:", 8, 24, 62, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$linkname_var = GUICtrlCreateInput("Linkname (Erscheint in der Liste)", 8, 40, 169, 21)
$linkaddy = GUICtrlCreateLabel("Vollständige Linkadresse (URL):", 8, 72, 186, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$linkaddy_var = GUICtrlCreateInput("http://", 8, 88, 169, 21)
$button_add = GUICtrlCreateButton("Link hinzufügen", 8, 120, 129, 25, 0)
$button_exit = GUICtrlCreateButton("Schließen", 144, 120, 73, 25, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUICtrlSetOnEvent($button_exit, "CLOSEClicked")
GUICtrlSetOnEvent($button_add, "ButtonAdd")While 1
Sleep(1000)
WEndFunc ButtonAdd ()
$inicheck1 = IniReadSection("links.ini", "1A")
$iniurlcheck1 = IniReadSection("links.ini", "1B")If @error Then
$linkname_var_read = GUICtrlRead($linkname_var)
If $linkname_var_read = ("Linkname (Erscheint in der Liste)") Then
MsgBox(64, "Fehler!", "Bitte geben sie einen Linknamen an!")
Else
$linkname_wrote = IniWrite("links.ini", "1A", "link1", $linkname_var_read)
EndIf
$linkaddy_var_read = GUICtrlRead($linkaddy_var)
If $linkaddy_var_read = ("http://") Then
MsgBox(64, "Fehler!", "Bitte geben sie die vollständige URL an!")
Else
$linkaddy_wrote = IniWrite("links.ini", "1B", "url1", $linkaddy_var_read)
MsgBox("0", "Erfolg!", "Die Addresse wurde erfolgreich angelegt")
EndIfElse
For $iniurlchecked = 1 To $iniurlcheck1 [0][0]
NextFor $inichecked = 1 To $inicheck1 [0][0]
Next$linkname_var_read = GUICtrlRead($linkname_var)
If $linkname_var_read = ("Linkname (Erscheint in der Liste)") Then
MsgBox(64, "Fehler!", "Bitte geben sie einen Linknamen an!")
Else
$linkname_wrote = IniWrite("links.ini", "1A", "link"&$inichecked, $linkname_var_read)
EndIf
$linkaddy_var_read = GUICtrlRead($linkaddy_var)
If $linkaddy_var_read = ("http://") Then
MsgBox(64, "Fehler!", "Bitte geben sie die vollständige URL an!")
Else
$linkaddy_wrote = IniWrite("links.ini", "1B", "url"&$iniurlchecked, $linkaddy_var_read)
MsgBox("0", "Erfolg!", "Die Addresse wurde erfolgreich angelegt")
EndIf
EndIFEndFunc
Func CLOSEClicked ()
Exit
EndFunc -
Bekomme da einen Error:
Array variable has incorrect number of subscripts or subscript dimension range exceeded.
Aus der Linie:
$addwrote = "|"&$Section[$i][1]$addwrote war in deinem Fall $Links
#Edit: Und wenn ich das richtig sehe, würden doch damit nicht die Werte der jeweiligen Schlüssel in der Liste angezeigt werden, oder?