Kein Problem
Am Anfang gehts natürlich um die Funktionalität.
Das is ja auch normal^^
Setz doch bitte den Thread noch auf gelöst.
(Ersten Post bearbeiten, Präfix gelöst wählen und Absenden)
Kein Problem
Am Anfang gehts natürlich um die Funktionalität.
Das is ja auch normal^^
Setz doch bitte den Thread noch auf gelöst.
(Ersten Post bearbeiten, Präfix gelöst wählen und Absenden)
Ersetz mal Zeile 8 durch das:
[autoit]$Input1 = GUICtrlCreateInput("", 198, 66, 193, 28, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_READONLY))
[/autoit]Und Zeile 52 - 67 durch das:
Switch @OSVersion
Case 'WIN_2000'
SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows 2000.wav', 1)
GUICtrlSetData($Input1, 'Windows 2000')
Case 'WIN_2003'
SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows 2003.wav', 1)
GUICtrlSetData($Input1, 'Windows Server 2003')
Case 'WIN_2008'
SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows 2008.wav', 1)
GUICtrlSetData($Input1, 'Windows Server 2008')
Case 'WIN_2008R2'
SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows 2008R2.wav', 1)
GUICtrlSetData($Input1, 'Windows Server 2008 R2')
Case 'WIN_XP'
SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows XP.wav', 1)
GUICtrlSetData($Input1, 'Windows XP')
Case 'WIN_VISTA'
SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows Vista.wav', 1)
GUICtrlSetData($Input1, 'Windows Vista')
Case 'WIN_7'
SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows 7.wav', 1)
GUICtrlSetData($Input1, 'Windows 7')
EndSwitch
Switch bzw Select sind bei solchen Konstellationen performanter.
(und ich finds auch übersichtlicher )
Zeile 3 gehört ganz an den Anfang und Zeile 5-7 gehört raus.
Du willst ne Keepass Datei automatisch öffnen oder?
Bei mir gehts so:
ShellExecute('C:\Programme\KeePass Password Safe\KeePass.exe', 'C:\Database -keyfile:C:\test.txt')
[/autoit]Man braucht nicht den umständlichen weg über die cmd^^
Dann brauchst du eine ini in der du den Status speicherst (sofern das Script nicht durchlaufen soll)
Z.B. ginge das so in der Art
$read = IniRead(@ScriptDir & "\Umschalt.ini", "Frequenzumschaltung", "NextMode", 1)
Switch $read
Case 1
Send("^+{4}")
IniWrite(@ScriptDir & "\Umschalt.ini", "Frequenzumschaltung", "NextMode", 2)
Case 2
Send("^+{5}")
IniWrite(@ScriptDir & "\Umschalt.ini", "Frequenzumschaltung", "NextMode", 1)
EndSwitch
Edit1:
Selbstverständlich wäre es noch besser gelöst wenn sich die aktuelle Frequenz abfragen ließe, aber das müsstest du herrausfinden.
Und Send() is meistens auch nicht die beste Lösung^^
Wenn ich dich nicht ganz falsch verstanden habe könnte es von der Programmlogik etwa so aussehen
HotKeySet("{F10}", "_Frequenzumschaltung")
[/autoit] [autoit][/autoit] [autoit]Global $bStatus = True
[/autoit] [autoit][/autoit] [autoit]While 1
Sleep(100)
WEnd
Func _Frequenzumschaltung()
If $bStatus Then
Send("^+{4}")
Else
Send("^+{5}")
EndIf
$bStatus = Not $bStatus
EndFunc
Herzlich Willkommen und viel Spaß im Forum
Ich denke mal so
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Passwortabfrage", 306, 114, 608, 433, BitOR($WS_CAPTION,$WS_BORDER))
$Input1 = GUICtrlCreateInput("", 16, 16, 273, 21, $ES_PASSWORD)
$Button1 = GUICtrlCreateButton("Weiter", 32, 80, 97, 25, 0)
$Button2 = GUICtrlCreateButton("Abbruch", 176, 80, 97, 25, 0)
$Label1 = GUICtrlCreateLabel("", 16, 48, 125, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$pw = "pw"
[/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Input1
If GUICtrlRead($Input1) == $pw Then
GUICtrlSetData($Label1, "Dein Passwort ist richtig!")
GUICtrlSetColor($Label1,0x00FF00)
Else
GUICtrlSetData($Input1, "")
GUICtrlSetData($Label1, "Dein Passwort ist falsch!")
GUICtrlSetColor($Label1,0xFF0000)
EndIf
Case $Button1
If $pw <> GUICtrlRead($Input1) Then
GUIDelete($Input1)
ExitLoop
EndIf
Case $Button2
Exit
EndSwitch
WEnd
water:
Kommentier doch bitte nicht jeden einzelnen Post. Sondern versuchs lieber besser.
Deine Lösung scheitert auch bei denen ohne Hausnummer
Is echt nich böse gemeint
Leute die auch die Suche benützen können sind hier immer gern gesehen.
Heißt natürlich nicht dass du keine Fragen stellen darfst
Also:
Herzlich Willkommen und viel Spaß im Forum
Ich habs dir mal einigermaßen so gebastelt wie dus haben willst.
Evtl etwas verwirrend wegen den vielen Kommentaren, aber wenn du Fragen hast stell sie einfach
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
$Form1 = GUICreate("Passwortabfrage", 338, 188, 193, 125)
$Input1 = GUICtrlCreateInput("", 24, 40, 241, 21, $ES_PASSWORD)
;~ $Input2 = GUICtrlCreateInput("", 24, 120, 241, 21, $ES_PASSWORD)
$Button1 = GUICtrlCreateButton("Weiter", 24, 152, 105, 33)
$Button2 = GUICtrlCreateButton("Abbruch", 160, 152, 105, 33)
$Passworteigeben = GUICtrlCreateLabel("Passwort", 24, 8, 109, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
;~ $Passwortwiederholen = GUICtrlCreateLabel("Passwort wiederholen", 24, 80, 132, 20)
;~ GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Pic = GUICtrlCreatePic("", 272, 32, 41, 33)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
;~ der einfachheit halber hab ich dein passwort mal in ne Variable gespeichert
$passwort = "passwort"
;Halt was wie wo passieren soll......
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Input1 ; das war vorher unschön^^
If $passwort <> GUICtrlRead($Input1) Then
GUICtrlSetImage($Pic, @ScriptDir & "\kreuz.jpg")
; Entweder es ist falsch, oder es ist richtig, du brauchst also nur ein Else
Else
GUICtrlSetImage($Pic, @ScriptDir & "\richtig-haken.jpg")
EndIf
; 2 inputs machen für mich keinen Sinn, wenn er es beim ersten mal richtig eingibt sieht er das ja,
; dann braucht er es ja nicht nochmal eingeben oder?
;~ Case $Input2
;~ If IniRead("pws.ini", "Allgemein", "PW", "passwort") = $res2 Then
;~ GUICtrlCreatePic("C:\Users\User\Pictures\Icons für AutoIT\richtig-haken.jpg", 272, 112, 41, 41)
;~ ElseIf IniRead("pws.ini", "Allgemein", "PW", "passwort") <> $res2 Then
;~ GUICtrlCreatePic("C:\Users\User\Pictures\Icons für AutoIT\kreuz.jpg", 272, 112, 41, 41)
;~ EndIf
Case $Button1
;~ funktionieren würde die Abfrage wenn dann so:
;~ If $Input1 <> $passwort Or $Input2 <> $passwort Then Exit
;~ und nicht so wie dus hattest:
;~ If $Input1 & $Input2 <> IniRead("pws.ini", "Allgemein", "PW", "passwort") Then Exit
If $passwort = GUICtrlRead($Input1) Then
GUIDelete($Form1)
ExitLoop ; so macht er nach der While Wend schleife weiter
Else
MsgBox(0,"", "Weiter gehts erst mit richtigen Passwort!")
EndIf
Case $Button2
Exit
EndSwitch
WEnd
;Natürlich ist dies auch sporadisch gedacht
MsgBox(64, "", "Es hat funktioniert")
So vllt?
#include <GUIConstantsEx.au3>
Dim $ver = "1.1.0"
$FormUpdate = GUICreate("Update Prüfung", 350, 130, 192, 139)
GUICtrlCreatePic("data\Backround\Background.tgx", 0, 0, 350, 130)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateLabel("Es wird geprüft ob ein Update vorhanden ist!", 22, 45, 350, 40)
GUICtrlSetFont(-1, 10, 600)
GUICtrlSetColor(-1, 16777215)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUISetState()
InetGet("http://test.de/test/update.txt", @ScriptDir & "\data\update.txt", 1, 0)
$file = FileOpen(@ScriptDir & "\data\update.txt", 0)
$line = FileReadLine($file, 1)
$line2 = FileReadLine($file, 2)
$line2 = 1
GUIDelete($FormUpdate)
If $line = $ver Then
FileClose($file)
Else
$fg = MsgBox(52, "Es ist eine neue Version vorhanden!", "Möchtest du jetzt Updaten?")
If $fg = 6 Then
InetGet("http://test.de/test/test.sfx.exe", @ScriptDir & "\test.sfx.exe", 1, 0)
MsgBox(48, "Update abgeschlossen", "Du hast nun die Aktuellste Version!: (" & $ver & ")")
FileClose($file)
Run(@ScriptDir & "\test.sfx.exe")
Exit
EndIf
EndIf
Das ist ja auch nur ein Lösungsvorschlag. Statt dem SplashText kannst du ja genausogut was anderes einblenden.
Nur sehe ich nach wie vor dein Problem nicht.
Wenn du es so speziell willst dann bau dir ne GUI mit nem label und 2 Buttons.
Setz je nachdem ob ein update da ist oder nicht nen Text auf das label und auf die Buttons
Und fertig...
Dein Script gibt so wie es ist keinen Sinn.
Du überprüfst doch erst ob eine neue version verfügbar ist und dannach sagst du dem User dass geprüft wird.
Wieso?
Machs doch einfach so:
#Include <Misc.au3>
[/autoit] [autoit][/autoit] [autoit]Dim $ver = "1.1.0"
InetGet("http://test.de/test/update.txt", @ScriptDir & "\data\update.txt", 1, 0)
$file = FileOpen(@ScriptDir & "\data\update.txt", 0)
$line = FileReadLine($file, 1)
If _VersionCompare($line, $ver) = 1 Then
SplashTextOn("Programm veraltet", "Es steht eine neue Version online zur Verfügung")
; Update oder auch nicht
Else
SplashTextOn("Programm aktuell", "Die installierte Version ist aktuell")
EndIf
Sleep(2000)
;~ Programm starten
[/autoit]Ich bin mir jetzt nicht ganz sicher ob ich es richtig verstanden habe, da du das Problem durcheinander schilderst
Möchtest du dass bei Programmstart deine Gui und auch die Updatemeldung angezeigt werden oder?
Dazu müsstest du dir einfach ne zweite Gui basteln in der sich die Updatemeldung befindet.
Existiert denn der "testuser" schon auf dem Computer bzw in der Domäne?
An deiner Stelle würde ich mir einfach alles in ne txt ausgeben lassen und dann ansehen
Run(@ComSpec & ' /c cacls "' & $myFolder & "\" & $name & '" /T /E /G "' & $name & ':r">>Ausgabe.txt ', '', @SW_HIDE)
[/autoit]
Dann siehste ja wo in etwa das Problem liegt^^
ZitatFunktioniert aber nur mit den Controls rechts. Wenn man sie allerdings aus der Ecke rauszieht über eine bestimmte Position hinaus, werden die auch verschoben. Weiß noch nicht genau wie ich das löse... Vll. so, dass die ID's halt nicht verschoben werden können...
Du hast doch eh alle ID's die verschiebbar sein sollen in dem Array $positionen oder?
Versuchs mal indem du das:
If $aMousePos[4] Then
[/autoit]
durch das ersetzt:
If _ArraySearch($positionen, $aMousePos[4], 0, 0, 0, 0, 1,0)<>-1 Then
[/autoit]Herzlich Willkommen und viel Spaß im Forum
Bitte bitte
Ich mag die UDF auch gern
Setzt doch bitte den Thread noch auf gelöst
(ersten Post bearbeiten, Präfix gelöst wählen und Absenden)
Geh auf die Seite, lade dir die hotkeys.au3 und die hotkey_example.au3
Dann fürst du die hotkey_example.au3 aus