Hallo UEZ,
auch von mir Alles Gute zum Geburtstag. Noch bist du ja Bifi (bis vierzig :)) - aber Uhu (unter 100) läßt schon mal grüßen. ![]()
Hallo UEZ,
auch von mir Alles Gute zum Geburtstag. Noch bist du ja Bifi (bis vierzig :)) - aber Uhu (unter 100) läßt schon mal grüßen. ![]()
Danke BugFix, du warst mir schon das 2.mal der Denkanstoß der mir fehlte.
Wie heißt es doch so schön im Film "Der 200 Jahre Mann" - Man ist immer gern zu Diensten. ![]()
Nicht im Array löschen, sondern einfach nicht eintragen ![]()
$Drives = ""
$var = DriveGetDrive("all")
If Not @error Then
For $i = 1 To $var[0]
$Drives &= $var[$i] & " "
$lw = DriveStatus ($var[$i])
If $lw = 'NOTREADY' Then ContinueLoop
_GUICtrlComboBox_AddString($Combo1, $var[$i] & "[" & $lw & "]")
_GUICtrlComboBox_SetCurSel($Combo1, 0)
Next
EndIf
Als Erstlingswerk schon ganz nett. Und wenn du einiges an Erfahrungen gesammelt hast, nimmst du dir das Teil nochmal vor und schrumpfst das Skript auf etwa 20-25 % der jetzigen Größe bei selbem Leistungsumfang. ![]()
Ja, wo isser denn... ![]()
@Jautois: Du hast wieder Globale Variablen drin und genau die wollten wir vermeiden. ![]()
Muster:
[autoit]$hWndCaptcha = _CreateCaptcha() ; === $hWndCaptch enthält jetzt den Wert von $CaptchaLabel aus der Funktion
[/autoit][autoit][/autoit][autoit]Func _CreateCaptcha()
;.....
Return $CaptchaLabel
EndFunc
Du mußt beim Erstellen die Variable $CaptchaLabel aus der Funktion _CreateCaptcha mit Return zurückgeben und in einer Variablen speichern und dann diese Variable weiterverwenden.
Damit die belegten Variablen auch in der
2. Funktion _CheckCaptcha auslesbar sind.
Das umgeht man, indem man die Variable Lokal deklariert und dann ByRef an die Funktionen übergibt. Muß ich mir auch gerade angewöhnen, da Globale Variablen eine gewaltige Fehlerquelle darstellen.
Hier mal als Muster:
Local $iVal = 20
[/autoit][autoit][/autoit][autoit]ConsoleWrite(_test1(2, $iVal) & @CRLF)
ConsoleWrite(_test2(2, $iVal) & @CRLF)
Func _test1($iSummand1, ByRef $iSummand2)
Return $iSummand1 + $iSummand2
EndFunc
Func _test2($iFaktor1, ByRef $iFaktor2)
Return $iFaktor1 * $iFaktor2
EndFunc
heiss das, dass alle dateien die unter dem registry key "HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce"sind,
noch vor dem anmelden ausgeführt werden??
Nein, der Anmeldevorgang muß abgeschlossen sein. Aber danach wird sofort der Eintrag unter RunOnce abgearbeitet - nur Services werden noch davor abgearbeitet.
Ich habe das schon 3-mal durchgelesen, aber ich weiß noch immer nicht was es werden soll. :wacko:
Also du willst irgendwie die XML-Datei verarbeiten.
Aber wie soll das fertige Ergebnis aussehen?
Wir können am besten helfen, wenn wir folgende Infos haben:
- Zustand vorher (das ist XML-Datei)
- gewünschter Zustand (??)
Aber nicht mit Worten umschreiben, sondern an einem Bsp.
Wenn du die Dll öffnest siehst du verschiedene Gruppen. Unter anderem ICON und ICON GROUP.
Für dich zählen NUR die Nummern in ICON GROUP, nicht die in ICON!
Werd doch mal genauer, was kriegst du nicht gebacken?
1. Ein Combo-Control hat keine Menüs, nur Einträge und zu denen kannst du keine "Untereinträge" erstellen - dafür gibt es z.B. das TreeView.
2. Opt("WinTitleMatchMode", 2)
Im angehängten Zitat von progandy ist doch die Beantwortung deiner Frage enthalten. :wacko:
Welches ist denn nun die Version, die man testen darf,
Danke für das Angebot, aber hatte meinen Fehler ja noch gefunden. Die jetzigen Lösungen reichen mir und funktionieren.
Es wäre nur ein möglicher Systemhänger als Problem. (kann passieren, da die parallele Videoaufzeichnung recht ressourcenintensiv ist und wenn dann der User noch etwas rumspielt geht das schonmal in die Hose
)
Aber das ist ja unabhängig von dem Hauptproblem und nunmal nicht zu beeinflussen.
1. Ich habe zuerst die neuste stabile Version von AutoIt installiert und dannach Scite. Nun ist bei mir im Programmmenü zwar ein Punkt "ScriptWiter" vorhanden, der führt aber ins Leere. Siehe Screenshot im Anhang.
Das wird nicht mit AutoIt installiert, sondern mit SciTE. Installiere die aktuelle Version von SciTE4AutoIt3, dann ist das auch enthalten.
Danke! Das behebt dann (fast) alle Probleme. Eventuelle Systemabstürze kann ich ja sowieso nicht berücksichtigen.
doch schon man muss halt nur das label durch ein bild ersetzen also guictrlcreatepic(...)
Dann hast du aber keinen Button-Effekt ![]()
Übrigens, zu dem "Gedrückt halten" --> schaut mal hier nach. Picture als Button animiert Daraus kann man das basteln.
ok thanks an euch beide wobei ich das skript von bugfix sogut wie garnicht verstehe
.
Aber trotzdem danke das von retrokid ist leicht und verständlich sowas braucht ein 14 jähriger
Wenn du es nicht verstehst, kannst du doch fragen. Es wird einfach der Status des Button in einer Variablen gespeichert (0=Off=Titel"On", 1=On=Titel"Off"). BitXor switcht den Wert, wenn er 0 war, wird er 1 und umgekehrt.
Dann wird in Abhängigkeit zum Status der Titel (das Bild) neu gesetzt, hier würde auch dein zugehöriger Code reinkommen.
btw: Du wolltest ein Bild setzen - die Lösung von retrokid ermöglicht das aber nicht.. ![]()