Dafür gibt es den Style: $ES_READONLY
Beiträge von BugFix
-
-
Guckst du: Hier
-
Versuchs mal über die OnEventMode Methode.
Das ist eigentlich egal ob die Msg per OnEvent ausgewertet wird oder über GUIGetMsg, die Control-ID ist immer der Ausgangspunkt. -
Verwende ein 2D-Array: [[Icon-ID, Programmaufruf]] Der Klick liefert die ID - dann startest du die zugehörige Funktion.
-
Schon mal mein Array-Tut gelesen?
Du kannst entweder das gesamte Array anzeigen (_ArrayDisplay) ODER ein einzelnes Element, das du per Index ansprichst (z.B. ConsoleWrite( $Array[Index] & @CRLF) ) -
wie komme ich an das zweite Ergenis v. RegEx ran? (col1,2,3,4...)
Indem du meine Antworten gründlich liest?
Zitat von BugFixIndex 0 = Backreferenz 1 - erstes Auftreten
Index 1 = Backreferenz 2 - erstes Auftreten
Index 2 = Backreferenz 1 - zweites Auftreten
Index 3 = Backreferenz 2 - zweites AuftretenWie das Rückgabearray aufgebaut ist habe ich dir doch oben beschrieben! Natürlich hat es nur eine Dimension. Und die Ergebisse werden in der Reihenfolge des Auftretens eingesetzt.
-
Mit:
[autoit]GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
[/autoit]
und Auswerten von $NM_CLICK bzw. $NM_RCLICK.
Verwende die Styles: BitOR($LVS_EX_TRACKSELECT, $LVS_EX_FULLROWSELECT), damit auch bei Rechtsklick das Item unter der Maus selektiert ist.
Den Index der Zeile bekommst du mit: _GUICtrlListView_GetSelectedIndices und den Inhalt mit: _GUICtrlListView_GetItemText.
Um die Werte angeklickter SubItem direkt abzufragen brauchst du zum Zeilenindex noch den Spaltenindex: _GUICtrlListView_GetSelectedColumn. -
---wie kriege ich die nun in das Array?
Hääää?! Deine Variable $aAuswahl ist doch das Array, das die Ergebnisse aufnimmt, sofern das Pattern erfolgreich ist. -
Jede Klammer erstellt eine Backreferenz (Ergebnis) und in der Reihenfolge des Auftretens werden diese Werte in ein Array geschrieben.
Wenn also jede Backreferenz befüllt wird sieht dein Array so aus:
Index 0 = Backreferenz 1 - erstes Auftreten
Index 1 = Backreferenz 2 - erstes Auftreten
Index 2 = Backreferenz 1 - zweites Auftreten
Index 3 = Backreferenz 2 - zweites Auftreten
... usw.
Ist jedoch ein Pattern als optional gesetzt (kann auftreten, muß nicht) und es wird kein Wert gefunden, paßt diese Zuordnung nicht mehr. -
Ziemlich derbe, wenn du um Mitternacht postest und am Vormittag schon pusht!
Schon mal #RequireAdmin versucht?
Wenn Programme 'ordentlich'
geschrieben wurden, setzen sie i.A. einen Eintrag mit dem Installationspfad in den Uninstall-Schlüssel (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall), aber verpflichtend ist das nicht und somit muß dort nicht zwingend ein Eintrag zu installierter Software sein. -
Leider ignorierst du kräftig die Hinweise, die man dir gibt. :wacko:
Mit einer RegEx-Abfrage fragst du Daten ab - OK.
Aber du weißt doch nicht, ob dein RegEx auch Daten gebracht hat! Deshalb mußt du vor jedem Zugriff auf die Variable, die das Ergebnisarray enthalten soll prüfen, ob es auch wirklich befüllt wurde (IsArray).
Ist es kein Array setzt du die Schleife einfach mit ContinueLoop fort ohne einen Eintrag im Listview zu erstellen (sind ja auch keine Daten dafür da). -
-
Und wenn du die Daten speicherst (hier ist dann eine txt-Datei zu empfehlen), leg sie so ab, dass du die eingelesenen Zeilen sofort in dein Listview schreiben kannst, in der ersten Zeile legst du dann z.B. die Spaltenüberschrift ab:
-
Völlig egal ob du privat keyloggen willst oder nicht. Wir geben in diese Richtung keinen Support - lies mal die Forenregeln.
Die hier geposteten Ansätze sind zum Glück derart schlecht, dass ich mir nicht die Mühe mache sie zu löschen.[CLOSED]
-
-
Hallo Alina,
zu deinem Geburtstag (der wievielte es ist, verschweigst du Ladylike :D) wünsche ich dir Alles Gute.
Bleib frisch und munter und fördere auch weiterhin die Deutsch-Dänische Freundschaft.
-
Thema ist gelöst, die Diskussion unsinnig (und unwürdig) - [CLOSED]
-
Derartige Skripte gibt es inzwischen zuhauf und alle nennen es fälschlicherweise "Browser". Wie kommt ihr bloß dadrauf? :wacko:
Es ist der M$ Internet Explorer in einer GUI eingebettet. Die Programmierleistung dazu geht gegen null, da das fast identisch in der Hilfe zu finden ist.Von mir aus könnt ihr posten, was ihr wollt - aber mit einer Modifikation von Bsp. aus der Hilfe würde ich mir ziemlich bescheuert vorkommen.

-
Du kannst auch ohne jede Prüfung ganz simpel vor die Zahl einfach eine '0' setzen und dann die 2 Stellen von rechts abgreifen - passt immer.
[autoit]= StringRight( '0' & GuiCtrlRead(...), 2)
[/autoit]
Allerdings ist StringFormat viel eleganter
-
Ja, das ist halt der gravierende Unterschied zwischen: ein Skript hinklatschen und Programmieren.
Befehle aneinanderreihen, dass das gewünschte Verhalten auftritt reicht halt nicht. Jedenfalls nicht, wenn der Faktor Zeit eine Rolle spielt. Da sollte man schon vor Beginn gründlich analysieren, was wann passieren soll. (Stichwort 'Softwareengeneering')
Ganz nebenbei ist ein optimiertes Skript normalerweise auch sehr gut lesbar.