Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 11, 2025 08:57

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 28 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 26, 2007 10:30 
Offline
DGL Member
Benutzeravatar

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.

_________________
www.extrawurst.org


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 26, 2007 11:19 
Offline
DGL Member
Benutzeravatar

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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 26, 2007 11:25 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Aug 18, 2007 18:47
Beiträge: 694
Wohnort: Köln
Programmiersprache: Java
nett !!! sowas will ich auch für delphi haben :shock:

und wenn alle stricke reissen: einfach nen zweiten delay einbauen (so 3 sekunden) und danach zwei zeilen/spalten springen... :lol:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 26, 2007 11:46 
Offline
DGL Member
Benutzeravatar

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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 26, 2007 11:53 
Offline
DGL Member
Benutzeravatar

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...

_________________
www.extrawurst.org


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 26, 2007 13:51 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Aug 18, 2007 18:47
Beiträge: 694
Wohnort: Köln
Programmiersprache: Java
mh. vorher alten wert auslesen und nachher wieder zurücksetzen.

Code:
  1. var
  2.   Speed, Delay : integer;
  3. begin
  4.   SystemParametersInfo(SPI_GETKEYBOARDSPEED,0,@Speed,0);
  5.   SystemParametersInfo(SPI_GETKEYBOARDDELAY,0,@Delay,0);
  6. end;
  7.  


klappt 1A!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 26, 2007 14:00 
Offline
DGL Member
Benutzeravatar

Registriert: Do Mär 06, 2003 15:27
Beiträge: 281
Wohnort: Bochum
lol, klar aber was wenn mein proggi abschmiert ?

_________________
www.extrawurst.org


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 26, 2007 14:25 
Offline
DGL Member
Benutzeravatar

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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 26, 2007 15:48 
Offline
DGL Member
Benutzeravatar

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. :roll:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 26, 2007 16:01 
Offline
DGL Member
Benutzeravatar

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. :roll:

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...

_________________
www.extrawurst.org


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 26, 2007 17:26 
Offline
DGL Member
Benutzeravatar

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. :roll:

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. ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 26, 2007 20:09 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Aug 18, 2007 18:47
Beiträge: 694
Wohnort: Köln
Programmiersprache: Java
Dann würd mich mal interessieren was passiert wenn man Visual Studio mit dem Plugin abschiesst.... :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 26, 2007 20:16 
Offline
DGL Member
Benutzeravatar

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.

_________________
www.extrawurst.org


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 28 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

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.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 14 Queries | GZIP : On ]