Zum Einen muß neugestartet werden und zum Anderen (ich glaub ich rede mir schon Fusseln an den Mund, so oft ich das jetzt wiederhole) gelten Mappings systemweit. Und genau das ist nicht erwünscht.
Beiträge von BugFix
-
-
wird nichts verändert. Weiß jemand Rat?
Aus dem Schnipsel das Herauszulesen ist etwas schwierig. Da du aber mein Skript als Basis hast, kann ich es erahnen.
Nun, dort kann sich ja nur etwas ändern, wenn $isShift TRUE ist, anderenfalls reichst du ja das Event durch. -
Bei Skriptstart einfach alle GUI mit den zugehörigen Ctrl erstellen und nur die jeweils benötigte einblenden

-
Es ist wenig sinnvoll an einen Thread ständig neue Fragen unterschiedlicher Thematik anzuhängen. Da findet sich niemand mehr durch.
Bitte also für neue Fragen auch neue Threads erstellen - aber vorher die Forensuche bemühen, die meisten Fragen wurden bereits gestellt.
-
Mit Autohotkey ist es ganz einfach Taste zu remappen
Das mag ja sein - aber welchen Wert hat diese Info, wenn er ein AutoIt-Skript schreibt?
Btw. ist Remappen auch in pur Windows möglich und auch nicht zu kompliziert, nur hat Mappen den Nachteil, dass es Systemweit gilt.
-
nur finde ich keine vollständige Liste mit den Key Codes und die brauche ich unbedingt. Kann mir jemand eine vollständige verlinken?
Gründliches Lesen des gefundenen Hook-Threads hilft.
Hier stehts beschrieben. -
Ilse schreibt doch, dass Sie eine unbekannte Anzahl an ini-Dateien hat, deren Namen Sie erstml ermitteln muss.
Ah, habe nicht gesehen, dass sie es sich so kompliziert machen möchte.
Eine INI mit unterschiedlichen Sektionen vereinfacht das wesentlich.
-
Das hat mich auf die Idee gebracht die DLL manuell zu registrieren
Das wollte ich eigentlich vorhin noch empfehlen, dachte dann aber, dass die Software ja wohl ihre Dll registriert haben wird.. 
Da es läuft, kannst du ja auch auf gelöst setzen.

-
Warum verkettest du das Ergebnis als String mit ' ; ' als Trennern, wenn du die gar nicht haben willst? :wacko:
Füge doch dort deine " ein. -
Bei inireadsection muß man doch jede ini einzeln angeben, bevor man Sie ausliest.
Habe ich doch geschrieben:ZitatBeim Skriptstart mit IniReadSectionNames alle Sektionen ermitteln und in ein Array schreiben
-
Aber wenn du dir da sicher bist, stimm ich dir zu .
Worauf du einen lassen kannst...
Ein Blick in die Hilfe zeigt dir dasselbe:Zitat von AutoIt-Hilfe -
Auf den ersten Blick fällt mir nicht auf, warum sich das Skript aufbläht. Ich kann mich aber schwach erinnern, dass dieses RAM-Fressen bei diversen Skripten auftritt, weiß aber nicht mehr ob sich das beheben ließ.
Selbst kann ich, magels Parallelport, das gar nicht testen. -
Leider ist unter dem Link keine detaillierte Beschreibung der Dll vorhanden (keine Parameter, Datentypen..).
Das VB-Bsp. zeigt nur, wie diese Dll als Objekt Instanz initiiert wird und die Funktionen als Methoden auf dieses Objekt angewendet werden.
Du kannst ja mal testen, ob du dieses Objekt, wie im Bsp., erstellen kannst ($obj=ObjCreate - mit IsObj($obj) prüfen). -
Aber auf meine gedrückte rechte Maustaste wird gar nicht reagiert. Wie kommt?
Dort mußt du $GUI_EVENT_SECONDARYDOWN auswerten. Tritt dieses Ereignis ein wurde die Taste gedrückt und solange $GUI_EVENT_SECONDARYUP NICHT eintritt ist sie es immer noch. Am besten also den Status der Taste setzen in einer Variable, die mit $GUI_EVENT_SECONDARYDOWN auf 'True' und mit $GUI_EVENT_SECONDARYUP auf 'False' gesetzt wird. Das kannst du dann in Kombination mit dem Wheelscroll weiterverwerten. -
Ist auch ne gute Idee, aber das soll so anspruchsvoll sein :pinch:
Autsch, wenn ich das lese wird mir um meine Rente angst und bange. He man, das Leben ist kein Schlaraffenland und wenn du ordentlich kassieren willst, dann mußt du auch ordentlich leisten.
Was ist denn schlimm, wenn eine Tätigkeit anspruchsvoll ist? Das Gegenteil wär eine Katastrophe - Monotonie und Langeweile am Arbeitsplatz, dann hast du den Vogel abgeschossen. Diese Leute schleichen nämlich ob ihrer Bedeutungslosigkeit gefrustet durchs Leben und mutieren schlimmstenfalls eines Tages zum Amokläufer. Traurige Perspektive...
-
Wie das

Weil es Bundesländer mit einem 13-Klassen Schulsystem gibt - deshalb
-
Dann probier mal dieses Pattern: (<input (?!type="hidden").+)
Der "negative lookahead" schaut vor dem Match nach vorn und vergleicht mit der Ausschlußbedingung: (?!type="hidden")
Jetzt matchst du natürlich die gesamte Zeile. Du kannst entweder das Pattern noch auf Detailmatches in der Zeile verfeinern oder machst das in einem zweiten Durchlauf separat mit den gefundenen Matches. -
Ich bin leider zu doof um das per DLL-Calls selbst lösen zu können und eine Lösung mittels Postionsermittlung kommt hier nicht in Frage.
Weder das Eine noch das Andere brauchst du dazu, sondern: GuiRegisterMsgGuckst du:
Spoiler anzeigen
[autoit]#include <EditConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("Form1")
GUISetOnEvent($GUI_EVENT_CLOSE, '_ende')
$b = GUICtrlCreateButton('Button', 10, 10, 60, 20)
$in0 = GUICtrlCreateInput('', 100, 60, 60)
$in1 = GUICtrlCreateInput('', 100, 90, 60)
$in2 = GUICtrlCreateInput('', 100, 120, 60)GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]
GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND')While True
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc _ende()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit]
Local $hWndFrom, $iIDFrom, $iCode
$hWndFrom = $ilParam
$iIDFrom = BitAND($iwParam, 0xFFFF) ; Low Word
$iCode = BitShift($iwParam, 16) ; Hi Word
Switch $iCode
Case $EN_SETFOCUS ; Sent when an edit control receives the keyboard focus
Switch $hWndFrom
Case GUICtrlGetHandle($in0)
ConsoleWrite('Fokus erhalten: Input 0' & @CRLF)
Case GUICtrlGetHandle($in1)
ConsoleWrite('Fokus erhalten: Input 1' & @CRLF)
Case GUICtrlGetHandle($in2)
ConsoleWrite('Fokus erhalten: Input 2' & @CRLF)
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_COMMAND -
die schleife soll dann aber auch beendet werden und die funktion von vorne anfangen
Na dann statt die Schleife verlassen, von vorn beginnen: ContinueLoop. -
zum einen sollte aufjedenfall mal die IF-Anweisung auch wieder geschlossen werden
Da liegst du falsch, nicht wenn es ein Ein-Zeilen-Statement ist. Nur wenn die Then-Anweisung in einer neuen Zeile steht muß auch ein EndIf gesetzt werden.@robertmaxity: Sag mal lieber, was du machen willst, aus deinem Code werde ich nicht ganz schlau.