Hi,
Vorsicht ist geboten mit der Ausschaltung der Dateiumleitung!! Bitte nur nutzen für das gewünschte verfahren!! danach wieder aktivieren.
Lg Kleiner
Hi,
Vorsicht ist geboten mit der Ausschaltung der Dateiumleitung!! Bitte nur nutzen für das gewünschte verfahren!! danach wieder aktivieren.
Lg Kleiner
Hi,
rausgeben, gutes zeugs ??? hä ne einfache weiterentwiklung
Für die ersten beiden Funktionen
Doppelte
@ninja_zx9r wenn du mehr info´s haben möchtes "einfach fragen"
Lg Kleiner
Hi,
Zwecks Rückwärts-Kompatibilität nutzt das Betriebssystem das %SystemRoot%\system32-Verzeichnis für seine 64-Bit-Komponenten. Bei der Ausführung von 32-Bit-Anwendungen werden Zugriffe auf Bibliotheken aus diesem Verzeichnis nach %SystemRoot%\SysWOW64 umgeleitet, wo sich die entsprechenden 32-Bit-Versionen befinden.
Lg Kleiner
Hi,
dann musst du zwei Skripte erstellen, du hast ein X64 System.
Lg Kleiner
Hi ninja_zx9r,
der Sinn der Obigen Funktion war u. ist das, du alle Strukturen nach einander einlesen kannst, ich muss mal
meine Werke überarbeiten die gepostet wurden, die ersten 2 Funktionen sind schon oft überarbeitet
worden u. in einer zusammen gefasst.
Heute schreibe ich die Rekursion anders, Dynamisch u. nicht
das Array auf max. o. andere Größen vor Deklarieren .
Local $RegPathResult = ''
Local $iTimer = TimerInit()
Local $arrRegKey = _RegList('HKCU')
_ArrayDisplay($arrRegKey, TimerDiff($iTimer))
Func _RegList($RegPath)
_RegRekursiv($RegPath)
Return StringSplit(StringTrimLeft($RegPathResult, 1), '|', 2)
EndFunc ;==>_RegList
Func _RegRekursiv($RegPath, $RegPathNext = '', $i = 1)
Do
$RegPathNext = RegEnumKey($RegPath, $i)
If @error <> 0 Then ExitLoop
$i += 1
$RegPathResult &= '|' & ($RegPath & '\' & $RegPathNext)
Until _RegRekursiv($RegPath & '\' & $RegPathNext)
EndFunc ;==>_RegRekursiv
Lg Kleiner
Herzlichen Glückwunsch und alles Gute zum Geburtstag nachträglich.
Lg Kleiner
Herzlichen Glückwunsch und alles Gute zum Geburtstag.
Lg Kleiner
Hi,
es bleibt nur die möglichkeit Class u. Title abzufragen ggf. noch ChildFenster analysieren was ich nicht glaube zum erfolg führt.
Lg Kleiner
Hi,
ja, dafür brauchst du:
Globale Variablen für die Buttons = Array
[autoit]Opt('GUIOnEventMode', 1)
[/autoit]
und eine Funktion wo du Prüfst welcher button wurde ausgeführt mit:
@GUI_CtrlId
[/autoit]Lg Kleiner
Hi,
Bitte das nächste Mal Spoiler u. AutoIt Code nutzen, die Schrift auch nicht so groß, du hast schon die richtige Funktion stehen u. nutzt denn noch die Variable?
Die vergleich Operationen solltest du noch üben was größer u. kleiner als bedeutet.
#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Global $Form1 = GUICreate("Form1", 268, 274, 397, 283)
Local $Button1 = GUICtrlCreateButton("Bestätigen", 32, 152, 193, 57, 0)
Local $Input1 = GUICtrlCreateInput("", 56, 72, 145, 21)
Local $Label1 = GUICtrlCreateLabel("How old are you ? ", 48, 24, 192, 28)
GUICtrlSetFont(-1, 14, 800, 2, "MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $Button1
If GUICtrlRead($Input1) > 18 Then
MsgBox(0, "Fenster", "Zuuuuu ALt")
ElseIf GUICtrlRead($Input1) < 18 Then
MsgBox(0, "Fenster", "Zuuuu Jung")
ElseIf GUICtrlRead($Input1) = 18 Then
MsgBox(0, "Fenster", "Genau richtig")
EndIf
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Lg kleiner
Hi,
Du läst das Passwort mit sich selbs verschlüsseln u. da ist auch das Problem um es wieder zu endschlüsseln, leg ein Masterschlüssel im Script an.
Dein Script kürzer u. Funktionierend:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Res_Description=PWS
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright="(C) Copyright CT-Team 2011"
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
Opt('GUIOnEventMode', 1)
Opt("TrayIconHide", 1)
;------------------INCLUDES------------------------
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StructureConstants.au3>
#include <GUIConstants.au3>
#include <EditConstants.au3>
#include <String.au3>
;-----------------HAUPT-GUI------------------------
Global $ini = @ScriptDir & '\pws.ini'
Global $MasterPW = 'Master'
Global $ABeschreibung[3] = ['Programme', 'Login', 'Passwort']
Global $Programm[10], $Login[10], $Passwort[10], $hCheck[10]
If Not FileExists(@ScriptDir & "\pws.ini") Then
For $i = 0 To 2
For $e = 0 To 9
IniWrite($ini, $ABeschreibung[$i], $ABeschreibung[$i] & $e + 1, "")
Next
Next
EndIf
[/autoit] [autoit][/autoit] [autoit]Global $mainGui = GUICreate("PWS - Der ultimative Passwort-Safe", 500, 400)
GUISetOnEvent(-3, 'E')
GUICtrlCreateLabel("PWS", 225, 5, 60, 30)
GUICtrlSetFont(-1, 15, 800, 0, "Verdana")
GUICtrlCreateLabel("Der ultimative Passwort-Safe", 165, 30, 200, 20)
GUICtrlSetFont(-1, 8, 800, 3, "Verdana")
GUICtrlCreateGroup("Programm:", 15, 50, 150, 320)
GUICtrlSetFont(-1, 8, 800, 0, "Verdana")
Local $x = 70
For $i = 0 To 9
$Programm[$i] = GUICtrlCreateInput(IniRead($ini, $ABeschreibung[0], $ABeschreibung[0] & $i + 1, ""), 22, $x, 135, 25)
$x += 30
Next
GUICtrlCreateGroup("User/Login:", 173, 50, 150, 320)
GUICtrlSetFont(-1, 8, 800, 0, "Verdana")
$x = 70
For $i = 0 To 9
$Login[$i] = GUICtrlCreateInput(IniRead($ini, $ABeschreibung[1], $ABeschreibung[1] & $i + 1, ""), 180, $x, 135, 25)
$x += 30
Next
GUICtrlCreateGroup("Passwort:", 330, 50, 150, 320)
GUICtrlSetFont(-1, 8, 800, 0, "Verdana")
$x = 70
Local $y = 75
For $i = 0 To 9
$Passwort[$i] = GUICtrlCreateInput(IIF(Not IniRead($ini, $ABeschreibung[2], $ABeschreibung[2] & $i + 1, ""), '', _StringEncrypt(0, IniRead($ini, $ABeschreibung[2], $ABeschreibung[2] & $i + 1, ""), $MasterPW, 2)), 337, $x, 135, 25)
GUICtrlSendMsg($Passwort[$i], $EM_SETPASSWORDCHAR, Asc('*'), 0)
$hCheck[$i] = GUICtrlCreateCheckbox("", 485, $y, 10, 10)
GUICtrlSetOnEvent(-1, 'Menue')
$x += 30
$y = $x
Next
$SaveButton = GUICtrlCreateButton("Save", 225, 375, 50, 20)
GUICtrlSetOnEvent(-1, 'Menue')
GUISetState(@SW_SHOW, $mainGui)
Func Menue()
Switch @GUI_CtrlId
Case $SaveButton
For $i = 0 To 9
If GUICtrlRead($Programm[$i]) <> '' Or IniRead($ini, $ABeschreibung[0], $ABeschreibung[0] & $i + 1, "") <> GUICtrlRead($Programm[$i]) Then
IniWrite($ini, $ABeschreibung[0], $ABeschreibung[0] & $i + 1, GUICtrlRead($Programm[$i]))
EndIf
If GUICtrlRead($Login[$i]) <> '' Or IniRead($ini, $ABeschreibung[1], $ABeschreibung[1] & $i + 1, "") <> GUICtrlRead($Login[$i]) Then
IniWrite($ini, $ABeschreibung[1], $ABeschreibung[1] & $i + 1, GUICtrlRead($Login[$i]))
EndIf
If GUICtrlRead($Passwort[$i]) <> '' Or _StringEncrypt(0, IniRead($ini, $ABeschreibung[2], $ABeschreibung[2] & $i + 1, ""), $MasterPW, 2) <> GUICtrlRead($Passwort[$i]) Then
IniWrite($ini, $ABeschreibung[2], $ABeschreibung[2] & $i + 1, _StringEncrypt(1, GUICtrlRead($Passwort[$i]), $MasterPW, 2))
EndIf
Next
MsgBox(0, "", "Speichern erfolgreich!")
Case Else
For $i = 0 To 9
If @GUI_CtrlId = $hCheck[$i] Then
GUICtrlSendMsg($Passwort[$i], $EM_SETPASSWORDCHAR, Not BitAND(GUICtrlRead($hCheck[$i]), $GUI_CHECKED) * Asc('*'), 0)
GUICtrlSetState($Passwort[$i], $GUI_FOCUS)
EndIf
Next
EndSwitch
EndFunc ;==>Menue
[/autoit] [autoit][/autoit] [autoit];===================================================================================================================================#
;Function Name....: IIF($expr, $Truepart = True, $Falsepart = False)
;
;Description......: If Abfrage
;$expr............: Wert zu Prüfung
;$Truepart........: Wenn Wert bei der Prüfung Wahr = ausgabe ( z.B True [Standart])
;$Falsepart.......: Wenn Wert bei der Prüfung Falsch = ausgabe ( z.B False [Standart])
;Return Value(s)..: Auswertung der Prüfung True/False/Benutzer(Ausgabe)
;
;Author(s)........: Kleiner (http://www.autoit.de)
;====================================================================================================================================#
Func IIF($V_Expr, $F_True = True, $F_False = False)
If $V_Expr Then Return $F_True
Return $F_False
EndFunc ;==>IIF
Func E()
Exit
EndFunc ;==>E
While 1 * Sleep(10)
WEnd
Lg Kleiner
Update Post #1
Lg kleiner
Hi,
or mit:
[autoit]WinSetTrans
[/autoit]und dann Hide.
Lg Kleiner
Hi,
Setzt am ende der Löschschleife das Arrayindex Null auf Null
#include <GUIConstantsEx.au3>
;#include "GUICtrlOnHover.au3"
#include <ButtonConstants.au3>
#include <Array.au3>
Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]$hGui = GUICreate("Test", 754, 420, 173, 131)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
$cmd_ok = GUICtrlCreateButton("&Ok", 299, 368, 75, 25, $BS_NOTIFY)
GUICtrlSetOnEvent(-1, "_drives")
Global $c
Global $aLabels[1]
Global $bDelete
Func _drives()
If $bDelete = True Then
For $i = 0 To UBound($aLabels) - 1
GUICtrlDelete($aLabels[$i])
ConsoleWrite('-Löschen:' & @TAB & $aLabels[$i] & @TAB &UBound($aLabels)&@CRLF)
Next
$aLabels[0] = 0
EndIf
Global $aDrives = DriveGetDrive("all")
$c = $aDrives[0]
MsgBox(0, "", $c)
Global $iX
Global $drfree
$iX = 17
Local $i, $sDriveState, $sTmp, $upper, $round
For $i = 1 To $c
$sDriveState = DriveStatus($aDrives[$i])
$drfree = DriveSpaceFree($aDrives[$i])
$roundfree = Round(($drfree / 1024), 2)
$drtotal = DriveSpaceTotal($aDrives[$i])
$roundtotal = Round(($drtotal / 1024), 2)
$drsystem = DriveGetFileSystem($aDrives[$i])
If $drtotal <> 0 Then
If $sDriveState <> "UNKNOWN" And $sDriveState <> "INVALID" Then
$sTmp = DriveGetLabel($aDrives[$i])
EndIf
If $sTmp = '' Then
_CreateLabel(StringUpper($aDrives[$i]) & @CRLF, $iX, 40, 51, 35, 0x01)
Else
_CreateLabel(StringUpper($aDrives[$i]) & @CRLF & '(' & $sTmp & ')', $iX, 40, 51, 35, 0x01)
EndIf
GUICtrlSetFont(-1, 9, 800, 0, "MS Sans Serif")
GUICtrlSetBkColor(-1, 0xFFFFFF)
_CreateLabel("Gesamt: ", $iX + 8, 84, 49, 17, 0)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
_CreateLabel($roundtotal & " GB", $iX + 8, 112, -1, -1, 0)
GUICtrlSetBkColor(-1, 0xFFFFFF)
_CreateLabel("Frei: ", $iX + 8, 139, 30, 17, 0)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
_CreateLabel($roundfree & " GB", $iX + 8, 166, -1, -1, 0)
GUICtrlSetBkColor(-1, 0xFFFFFF)
_CreateLabel("Dateisystem: ", $iX + 8, 197, -1, -1, 0)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
_CreateLabel($drsystem, $iX + 8, 224, -1, -1, 0)
$iX = $iX + 91
EndIf
Next
$bDelete = True
EndFunc ;==>_drives
GUISetState()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While Sleep(100)
WEnd
Func _CreateLabel($sText, $iX, $iY, $iW, $iH, $iSt)
Local $iIndex = $aLabels[0] + 1
ConsoleWrite('+ReDim:' & @TAB & $aLabels[0] & @CRLF)
ReDim $aLabels[$iIndex + 1]
$aLabels[0] = $iIndex
$aLabels[$iIndex] = GUICtrlCreateLabel($sText, $iX, $iY, $iW, $iH, $iSt)
GUICtrlSetOnEvent($aLabels[$iIndex], "_drives")
EndFunc ;==>_CreateLabel
Func _Exit()
Exit
EndFunc ;==>_Exit
Lg kleiner
Hi,
setz alle include die du brauchst am anfang vom Script.
Lg Kleiner
Hi,
ja es ist möglich, du fängst das Mausevent ab u. Steuerst dann die Koordinaten im Childfenster.
Lg kleiner
HI,
für große Skripte immer GUIOnEventMode u. ja du kannst beides nutzen!
Lg Kleiner
garnicht, du kannst wieder da anfangen wo du aufgehört hast wenn du eine Funktion nutzt mit Parameterübergabe.
Lg Kleiner