Registriert: Do Mär 06, 2003 15:27 Beiträge: 281 Wohnort: Bochum
damadmax hat geschrieben:
in der msdn hab ich nämlich fast nix gefunden.
ich auch nicht. aber du hast recht das rührt von einem anderen editor her, der das aber auch gut und gerne intern machen könnte (siehe GeetTickCount) es handelt sich um visual studio mit dem plugin visualAssist, der bietet einem die möglichkeit die repeat rate zu verdoppeln.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
damadmax hat geschrieben:
und schon wäre man wieder beim thema, wie ausführlich windows eigentlich dokumentiert ist.
Das ist eine Frage die du dir besser lieber nicht stellen solltest. Denn bei allem was über die normale Windowsapi hinweg geht sieht es teilweise echt mau aus. Aber das ist ein anderes Thema.
Der einfachste Weg so etwas selber zu implementieren ist wohl, wenn du dir merkst welche Taste als letztes gedrückt wurde und dann einen simplen Timer startest. Der erste Intervall ist die Zeit der Verzögerung und alle folgenden sind die der Wiederholung. Wenn die Taste losgelassen wurde dann löscht oder deaktivierst du den Timer. Du musst natürlich dann alle Tastendrücke (bis auf den ersten) ignorieren. Aber durch den Timer bleibst du sauber in dem Eventkonzept von Windows und hast alle Möglichkeiten. Also nicht nur die freie Auswahl der Zeiten sondern auch die Möglichkeit sie dynamisch anzupassen. Ala Mausbeschleunigung für die Tastatur. Und es beeinflusst dann auch wirklich nur deine Komponente.
Wobei auch nur die Komponente. Das mag sich evtl für den ein oder anderen auch komisch anfühlen, wenn der Rest des Programms sich dann normal verhällt. Ich persönlich fände es sicherlich gewöhnungsbedürftig, wenn die Timings unterschiedlich wären. Aber das ist wohl geschmackssache.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
@damadmax: Sicherlich nicht unmöglich, da es für Delphi ja schließlich die OpenTools API gibt. Auf gexperts.org gibt es ein Faq welches sich etwas mit der API beschäftigt. Abgesehen davon ist die GExperts auch eine Erweiterung für Delphi die so einiges verändert. Also ich könnte mir gut vorstellen, dass so etwas durchaus möglich wäre.
Registriert: Do Mär 06, 2003 15:27 Beiträge: 281 Wohnort: Bochum
ok ich hab getz was gefunden, "SystemParametersInfo" ist ne winapi func mit der man die systemweite keyspeed und repeat-delay ändern kann, ist natürlich nicht die IDEALE lösung...
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Wenn ich das richtig verstanden habe, dann würde ich schätzen, dass die Einstellungen bestehen bleiben. So lange bis das System neu gestartet wird. Der letzte Parameter ermöglicht es, dass die Einstellungen gespeichert werden können.
Allerdings etwas anderes. Selbst wenn dein Programm nicht abstürzt. Wie sieht das aus mit gleichzeitig laufenden Anwendungen oder danach gestarteten? Bzw überträgt sich diese Rate systemweit auf alles so wie es verstanden habe. Damit hättest eigentlich genau den Effekt den du mit der Registry erreicht hättest. Und zwar, dass sich dein Programm in alle anderen Programme einmischen würde.
Aber ich werde aus dem msdn Eintrag auch nicht ganz schlau. Evtl musste es einfach mal ausprobieren. Kleine Anwendung mit einem Memo und fertig.
Registriert: Sa Aug 18, 2007 18:47 Beiträge: 694 Wohnort: Köln
Programmiersprache: Java
wenn du es in der Registry änderst kommt es auf jeden Fall nicht direkt bei anderen oder neu gestarteten Anwendungen an. Ich schätze mal dass es nach neustart bzw Anmelden erst neu ausgelesen wird. Liegt ja schliesslich unter HKCU.
Dein Programm darf nicht abschmieren. Programmier es einfach gut.
Registriert: Do Mär 06, 2003 15:27 Beiträge: 281 Wohnort: Bochum
damadmax hat geschrieben:
Dein Programm darf nicht abschmieren. Programmier es einfach gut.
lol wer gut programmiert geht davon aus das die app halt auch abschmieren kann. deswegen würde ich sowas nie einbauen wo das sys verändert bleibt wenn es abschmiert...
naja die ganze sache funktioniert nicht ohne selbst hand anzulegen. werd wohl echt selber die press-events repeaten müssen...
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Extrawurst hat geschrieben:
damadmax hat geschrieben:
Dein Programm darf nicht abschmieren. Programmier es einfach gut.
lol wer gut programmiert geht davon aus das die app halt auch abschmieren kann. deswegen würde ich sowas nie einbauen wo das sys verändert bleibt wenn es abschmiert...
Wobei es ja auch noch solche tollen Erfindungen wie den TaskManager gibt. Und wenn ich versuche eine falsche Datei zu laden (20MB) und der Editor hängt. Dann fackel ich nicht lange und schieße ihn ab. Und schon sind meine Einstellungen im Eimer.
Registriert: Do Mär 06, 2003 15:27 Beiträge: 281 Wohnort: Bochum
nix. der änder auf jeden fall keine systemeinstellungen...
und glaub mir ich spreche aus erfahrung VS 2003 hängt sich ca. alle 2std auf auf der Arbeit.
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.