Die Mehrfachauswahl ist bei einem Standard Listview nicht möglich, weil $LVS_SINGLESEL ein Default Style ist.
Wenn du andere Styles verwendest dann sieh dir doch bitte auch an was du änderst.
Beiträge von Schnitzel
-
-
Ich hab mir das script jetzt nicht im Detail angesehn aber ich denke wenn du das repainting verhinderst bekommst du da ein besseres Ergebnis:
[autoit]GUISetState(@SW_LOCK)
[/autoit]
GUISetState(@SW_UNLOCK) -
Ich denke wenn du Zeile 71 durch das ersetzt
[autoit]GUICtrlSetData($notizen,StringTrimLeft($readini, StringInStr($readini, @CRLF, 0, 4)))
[/autoit]
dann ist es so wie du es haben willst.Das einfügen des Quellcodes ist ein Bug, bzw liegt das am Browser.
-
-
Bin dabei.
Viel Erfolg -
Dann versuchs doch mal mit bisschen debugging und ausprobieren verschiedener Controlfunktionen. Vllt so:
[autoit]$CD = DriveGetDrive("CDROM")
[/autoit]
If @error Then
MsgBox(4096, "DriveGetDrive", "NO CD!")
Else
if Ubound($CD) = 2 then
Msgbox(0,'','CD Drive: ' & $CD[1])
ControlSend("Öffnen", "", "[CLASS:ToolbarWindow32; INSTANCE:2]", $CD[1])
if @error than Msgbox(0,'','Controlsend not possible')
Else
Msgbox(4096, "DriveGetDrive", "More than 1 CD")
endif
EndIf
[autoit]
Oder statt Zeile 7 und 8 mal das:ControlSetText("Öffnen", "", "[CLASS:ToolbarWindow32; INSTANCE:2]", $CD[1])
[/autoit]
if @error than Msgbox(0,'','Controlsettext not possible')Oder so:
[autoit]winactivate("Öffnen")
[/autoit]
ControlSetText("Öffnen", "", "[CLASS:ToolbarWindow32; INSTANCE:2]", $CD[1])
if @error than Msgbox(0,'','Controlsettext not possible')Ein Toolbar Control ist an der Stelle auch etwas komisch. Sicher dass du das richtige hast?
Und nicht eventuell ein unsichtbar davorliegendes oder sowas?
Am besten mal mit Controlmove verschieben dann siehst du sowas recht schnell -
Das Fenster heist also Öffnen und nicht Offnen
-
Ich denke vom Prinzip nehmen die Installer sich vermutlich nicht viel
-
Fenster verschieben wuerde ich nicht machen.
Ich hab mir mal einen der Installer runtergeladen und mit Alt + Taste funktioniert das denk ich schon einigermasen gut
Und/Oder du beziehst die Controlfunktionen auf das Fenster. Man muss naemlich nicht unbedingt eine ControlID angeben.
So etwa funktioniert es recht gut:Spoiler anzeigen
[autoit]WinActivate("Qt 5.2.1 Setup")
[/autoit]
ControlSend("Qt 5.2.1 Setup", "", "", "!n"); next button
Sleep(100)
ControlSend("Qt 5.2.1 Setup", "", "", "^a"); alles markieren in PfadInput
Sleep(100)
ControlSend("Qt 5.2.1 Setup", "", "", "C:\testpfad"); pfad eintragen
Sleep(100)
ControlClick("Qt 5.2.1 Setup", "", "", "left", 1, 360,310); position bezieht sich auf position im fenster -
In $CD[0] steht die Anzahl der gefundenen CD Laufwerke
[autoit]
Mit ner For schleife wirst du Probleme haben sobald mehr als 1 CD Laufwerk gefunden wird, deshalb wuerde ich pruefen ob genau eines gefunden wurde
In etwa so;Hier muss die Datei ausgewahlt werden
[/autoit]
$CD = DriveGetDrive("CDROM")
If @error Then
MsgBox(4096, "DriveGetDrive", "NO CD!")
Else
if ubound($CD) = 2 then
ControlSend("Offnen", "", "[CLASS:ToolbarWindow32; INSTANCE:2]", $CD[1])
endif
EndIf -
Das Problem ist vermutlich bisschen anders.
Nicht alle Fenster/Controls lassen sich mit den Autoit Control... -Funktionen ansteuern
Bei Java GUI's tut man sich z.B. sehr schwer da irgendwas zu machen.GIbt es bei der Software eventuell eine moeglichkeit fuer silent install?
Also z.B. einen Switch mit dem man die installationsexe anstartet um sie automatisch zu installieren?
Ala:Zitatqtcreatorinstall.exe /s
Falls nicht waere es nicht schlecht wenn du einen Link zur installationsexe zur Verfuegung stellst. Dann kann man sich das speziell mal ansehen
-
Man gibt nicht den Buttontext sondern die ID an (siehe Hilfe zu Controlclick)
Sieh dir am besten das mal an: http://translation.autoit.de/onlinehilfe/intro/controls.htmBeim notepad beispiel koenntest du Button2 verwenden
-
So wie ich das sehe ist das eine Testlizenz die 30 Tage guelig ist und dannach funktioniert die Software eh nicht mehr, daher wuere ich das wegklicken der Werbung als nichts "illegales" sehen
-
Nach der Msgbox muesstest du eine Zeile einfuegen in der Else steht, weil du ja im Fehlerfall keine CD Laufwerke gefunden hast
Auserdem solltest du dir ControlSend nochmal in der Hilfe ansehen. Parameter Nr. 3 ist die ControlID und Parameter4 ist der zu sendende Text
Was du dir dazu ansehen kannst ist die Sektion "Allgemeines zu Autoit" in der Hilfe. Besonders diese ist intressant: http://translation.autoit.de/onlinehilfe/intro/controls.htm -
Wie bereits in der Shoutbox besprochen tust du dich mit
[autoit]_ScreenCapture_Capture
[/autoit]
viel leichter -
Wenn du sowas wie nen Datei öffnen Dialog hast dann solltest du einfach Controlsend verwenden
-
Ja genau Ich möchte das per Send der Laufwerksbuchstabe gesendet wird.
Hast du damit noch ein Problem oder kannst du das?
Und warum mit Send() und wohin? -
Herzlich willkommen im Forum
Das was du gepostet hast ist schon sehr nah dran nur bekommst du kein Ergebnis weil bei DriveGetDrive kein Leeryeichen zwischen "CD ROM" stehen darf
[autoit]
Also so:Local $aArray = DriveGetDrive("CDROM")
[/autoit]Falls das noch nicht deine Lösung ist wäre interessant was du damit meinst:
Zitatden Laufwerkbuchstabe dann als Text sendet,
Was meinst du mit als Text senden?
Per Send() irgendwohin? -
1. Was hast du damit vor? Wo willst du das sinnvoll einsetzen?
2. Wo hast du Probleme? Ohne Quellcode sieht man nicht woran du scheiterst. Das hier ist Hilfe und Unterstützung und nicht "Mach mir mal" -
Den Fenstertitel findest du mithilfe des Window Info Tools raus
Sieh dir am besten das mal an: http://translation.autoit.de/onlinehilfe/intro/au3spy.htm
Damit ergeben sich auch die anderen Fragen denke ichAm besten auch noch die beiden ansehn:
http://translation.autoit.de/onlinehilfe/intro/windowsbasic.htm
http://translation.autoit.de/onlinehilfe/in…owsadvanced.htmDas ist alles aus der Autoit-Hilfe und steht unter Allgemeines zu Autoit.
Ein Blick in die Hilfe lohnt sich immer