keiner hat gesagt, dass dein Vorhaben leicht ist.
Wobei ein bischen StringSplit etc ... naja, das ist doch nicht so schwer.
Zu deiner Frage nach einer UDF...
ZitatIni-Funktionen für Dein Vorhaben müsstest Du aber erst noch scripten.
keiner hat gesagt, dass dein Vorhaben leicht ist.
Wobei ein bischen StringSplit etc ... naja, das ist doch nicht so schwer.
Zu deiner Frage nach einer UDF...
ZitatIni-Funktionen für Dein Vorhaben müsstest Du aber erst noch scripten.
du kannst doch mit FileRead die verschlüsselte Datei in den Speicher einlesen.
Was Du mit dem Inhalt der Variable dann machst bleibt doch Dir überlassen ...
Decrypten, StringSplit ($var,'='), etc...
Ini-Funktionen für Dein Vorhaben müsstest Du aber erst noch scripten.
Beispiel:
#include <GuiConstantsEx.au3>
#include <String.au3>
FileDelete(@ScriptDir & '\test.ini')
filewrite(@ScriptDir & '\test.ini', _StringEncrypt(1,'[Testkey]'&@CRLF&'Wert1=blablabla'&@CRLF&'Wert2=blubblubblub', 'meinPasswort',1))
_inicrypt()
[/autoit] [autoit][/autoit] [autoit]Func _inicrypt()
$var = _StringEncrypt(0,FileRead(@ScriptDir & '\test.ini'), 'meinPasswort',1)
MsgBox(0, '', $var)
EndFunc
Hallo SionS,
für dein erstes Script nicht schlecht.
Sieht durchdacht aus und ist aufgeräumt.
Nur 3 Dinge.
1. Die Funktion NurBuchstaben() ist leer (ergo unnötig
)
2. Wenn Du AdlibRegister verwendest, dann solltest Du immer sicherstellen, dass die aufgerufene Funktion auch fertig ist,
bevor sie ein zweites mal aufgerufen wird. Zu diesem Zweck setzte man üblicherweise ein AdlibUnRegister an den Anfang der Funktion und startet diese nach Ende der Funktion wieder.
3. Die Formulierung Deines Textes ist etwas unglücklich und enthält einen Schreibfehler --> 'enthällt' --> enthält ![]()
btw.: Ich denke dass Du bei dem Script auch ohne AdlibRegister ausgekommen wärst...
Beispiel:
#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=PngTexturen22\SionSLoGo.ico
#AutoIt3Wrapper_Res_Comment=By SionS
#AutoIt3Wrapper_Res_Description=Kennwort Gennerator
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstants.au3>
#region ### START Koda GUI section ### Form=
$Form1 = GUICreate("SionS PasswortGen", 318, 154, 548, 312)
GUISetIcon("C:\Users\Tobias\Desktop\PngTexturen22\SionSLoGo.ico")
GUISetBkColor(0x000000)
$Label1 = GUICtrlCreateLabel("Drücken Sie auf GenStart.", 15, 15, 301, 23)
GUICtrlSetFont(-1, 12, 800, 0, "Arial")
GUICtrlSetColor(-1, 0xFFFFFF)
$Button1 = GUICtrlCreateButton("GenStart", 15, 105, 76, 31, 0)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Button2 = GUICtrlCreateButton("GenStop", 120, 105, 76, 31, 0)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Button3 = GUICtrlCreateButton("Copy and Save", 225, 105, 76, 31, 0)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
KeyGen()
Case $Button2
KeyGenStop()
Case $Button3
Copy()
Saven()
EndSwitch
[/autoit] [autoit][/autoit] [autoit]If BitAND(GUICtrlGetState($Button1), $GUI_DISABLE) Then CreateKey() ; anstelle von AdlibRegister. Wenn es zu schnell geht einfach in der Funktion einen Sleep(XXX) setzen.
WEnd
Func Saven()
$var = InputBox("PasswortGen", "Geben Sie hier ihren Verwendungszweck ihres generierten Passwortes ein, wenn sie keinen haben geben sie einfach nichts ein.")
$CurrentKey = GUICtrlRead($Label1)
FileWrite(@DesktopDir & "\PasswortGen.txt", " Ihr Passwort hat den Zweck für (" & $var & ") und lautet: " & $CurrentKey & " |")
MsgBox(64, "Info", "Eine Infodatei wurde auf ihrem Desktop erstellt die das Passwort und den von ihnen angegebenen Zweck enthällt.")
EndFunc ;==>Saven
Func Copy()
$CopyKey = GUICtrlRead($Label1)
ClipPut($CopyKey)
EndFunc ;==>Copy
Func KeyGenStop()
GUICtrlSetState($Button1, $GUI_ENABLE); gen start
GUICtrlSetState($Button2, $GUI_DISABLE); gen stop
EndFunc ;==>KeyGenStop
Func KeyGen()
GUICtrlSetState($Button1, $GUI_DISABLE); gen start
GUICtrlSetState($Button2, $GUI_ENABLE); gen stop
EndFunc ;==>KeyGen
;;;;;;;;;;;;;;;;;;;;;;;DANKE AN autoBert;;;;;;;;;;;;;;;;;;;;;;;;;;
[/autoit] [autoit][/autoit] [autoit]Func CreateKey()
$iAbruch = Random(5, 19, 1)
$sKey = ""
For $iSpalte = 0 To 19
$iZahlOderBuchstabe = Random(0, 3, 1)
If Not $iZahlOderBuchstabe Then
$sKey &= Random(0, 9, 1)
Else
$iKlein = Random(0, 3, 1)
If $iKlein Then
$sKey &= Chr(Random(97, 122, 1))
Else
$sKey &= Chr(Random(65, 90, 1))
EndIf
EndIf
If $iSpalte = $iAbruch Then ExitLoop
Next
GUICtrlSetData($Label1, $sKey)
EndFunc ;==>CreateKey
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ich hab es eben ausprobiert unter Win 7.
Da ich zuerst auch an der Hürde gescheitert bin mein Tip.
Wenn es bei Dir trotzdem nicht geht weiß ich auch nicht...
PS: ich habe in dem Beispiel einfach den Parameter @ScriptDir 6 '\App' gelöscht ![]()
in dem von Dir erwähnten Script wird erwartet, dass die 2 exe-Dateien in einem Unterordner des Scriptordners liegen der "App" heisst. ![]()
ich vermute dein Anti-Viren Programm erkennt die Datei als Virus ![]()
kann es an den Leerzeichen in dem Reg-Pfad von Ashampoo liegen?
mach mal ein Bild von dem Ashampoo-Ordner...
verwende Regedit, markiere den Schlüssel den Du abfragen willst und verwende im Menü den Befehl
Bearbeiten --> Schlüsselnamen kopieren um Schreibfehler auszuschließen.
ich bin mir jetzt nicht sicher, ob das hilft da Deine Infos das nicht hergeben.
Bei einem 64-bit System lautet der RegPfad RegRead('HKLM64\SOFTWARE\ .....
dann solltest Du Dir einen Such-String nehmen, der in deinem String auch mehrmals vorkommt.
bei <title> ist das eher unwahrscheinlich ...
álso beim groben drüber schauen:
[autoit]
ConsoleWrite("5:"&@error&@CRLF)
_FileCreate(@tempdir&"post.pf") ; da fehlt der '\'
ConsoleWrite("6:"&@error&@CRLF)
_FTPPutFile($Open, @tempdir&"post.pf", ""&$dirname&"/post.pf"); Leerzeichen in FTP-Ordnern , hmmm
wenn Du es schaffst aus deinem Code-Schnipsel ein Script zu machen
das zumindest im Ansatz lauffähig wäre,
würde sich sicher auch jemand die Mühe machen und es Korrektur lesen ![]()
bitte im ersten Post Deinen Thread auf "gelöst" setzen, wenn dem so ist.
Danke
... und freut mich wenn alles passt. ![]()
einfaches Beispiel:
#Include <File.au3>
[/autoit] [autoit][/autoit] [autoit]Global $diffneu
Global $diff = _getFiletoString(@DesktopDir)
While 1
_MySleep(12000)
$diffneu = _getFiletoString(@DesktopDir)
If $diff <> $diffneu Then
MsgBox(0, '', 'Unterschied gefunden',5)
EndIf
$diff = $diffneu
WEnd
Func _getFiletoString($path)
Local $FileList=_FileListToArray($path), $string = ''
If @Error=1 Or @error = 4 Then Return
For $i = 1 To Ubound($FileList) -1
$string &= $FileList[$i]
Next
Return $string
EndFunc
Func _MySleep($SL_Time)
Local $SL_Timer = TimerInit()
While TimerDiff($SL_Timer) < $SL_Time
Sleep(10)
WEnd
EndFunc
Hallo autobert,
ich denke er meint die: http://translation.autoit.de/onlinehilfe/li…/_FilePrint.htm
bitte schön:
#Include <String.au3>
#Include <Array.au3>
#cs Die Zwischenablage
<option value="375">Dackel</option>
<option value="800">Collie</option>
<option value="900">Schäferhund</option>
#ce
[/autoit] [autoit][/autoit] [autoit]Local $ini = '[Allgemein]' & @CRLF
$string = ClipGet()
$myString = _StringBetween($string, '="', '</')
[/autoit] [autoit][/autoit] [autoit]For $i = 0 To UBound($myString) -1
$a2 = StringSplit($myString[$i],'">', 1)
$ini &= $a2[1] & '=' & $a2[2] & @CRLF
Next
MsgBox(0, '', $ini)
[/autoit] [autoit][/autoit] [autoit]FileWrite(@DesktopDir & '\meini_ini.ini', $ini); ini Datei wird auf Desktop erstellt ![]()
und auch von mir
![]()
![]()
Alles Gute zum Geburtstag ![]()
![]()
![]()
@progandy
wieder was gelernt ![]()
Danke
so wäre es auch gegangen ...
[autoit]GUICtrlSetData($Ziel, $aQuellRead[$i] & "Zeile " & $i & @CRLF,1)
[/autoit]bitte schön ![]()
Global $Active = 0
[/autoit][autoit][/autoit][autoit]$Active = 1
While 1
If $Active = 1 Then
Sleep(2000)
$Ja = PixelSearch(931,231,1676,982,0x57FDAE)
If @error Then
MsgBox(0, '', 'Farbe nicht gefunden')
Else
MouseClick ( "left", $Ja[0], $Ja[1])
EndIf
EndIf
WEnd