Autor Beitrag
Flodding
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Mo 16.10.06 21:05 
Hi Leute...

Ich bin der Floh ;)

Soviel zu mir :P

Also ich hab schon echt viel gesucht und rumgeschaut... doch ein Problem"CHEN" (wie ich zuerst dachte) bekomme ich nicht in den griff.

Wie das Thema schon sagt... Es dreht sich um die SHIFT-Taste.

Ich habe ein Programm geschrieben, das ab und zu mal die SHIFT-Taste aktiviert, dann mal wieder DEAKTIVIEREN soll(te), und dann später nochmal aktivieren soll, zusammen mit der END-Taste. Okay... der erfahrene "Progger" weiß nu, dass ich einen Text markieren möchte. Jedoch erweist sich das (höchstwarscheinlich aufgrund eines Updates der Firma Micro$oft) als extrem schwer...

Nach EXTREM-Rescherschen im WWW bin ich dann auf dieses hier gestoßen:

support.microsoft.com/kb/813041

jetzt suche ich eine lösung dafür, dass die SHIFT-Taste nicht richig "losgelassen" wird von meinem Programm, wenn sie einmal gedrückt wurde (von dem Programm).

Ich hoffe einer kann helfen.

MFG

Floddy


Zuletzt bearbeitet von Flodding am Mo 16.10.06 21:46, insgesamt 1-mal bearbeitet
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Mo 16.10.06 21:23 
Was willst Du machen? Einen Text markieren? In deinem Programm? Oder in einem anderen?

_________________
Na denn, dann. Bis dann, denn.
Flodding Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Mo 16.10.06 21:25 
aus einem anderen programm soll der text aus zeile 6 markiert werden und dann kopiert...

die tastendrücke funzen alle perfekt... nur die shift-taste macht mir sorgen, denn die bleibt irgendwie immer so "halb" gedrückt... oder ganz :S das weis ich nciht... wenn ich das programm beende, dann MUSS ich einmal die LINKE SHIFT-Taste drücken damit ich nicht mehr NURNOCH GROß SCHREIBEN *druck* kann... ;)
Flodding Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Di 17.10.06 12:35 
hmm scheint wohl ein unbehebbares problem zu sein...

auch die aussage auf der MS seite , wo erwähnt wird, dass es einen bugfix dafür gibt stimmt nicht... ich habe nix gefunden, es soll in XP Service Pack 2 enthalten sein. Komisch das ich SP2 installiert hab, und es nicht geht :S
chrisw
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 439
Erhaltene Danke: 3

W2K
D7
BeitragVerfasst: Di 17.10.06 13:35 
Steht doch schon auf der Seite der MSDN : "An den Thread-Warteschlangen wird keine WM_KEYUP-Nachricht übermittelt ...."


Versuch doch mal SendMessage(.....WM_KEYUP...)

_________________
Man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug.
Flodding Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Di 17.10.06 13:52 
sorry, aber geht dasein wenig deutlicher? ich hab gestern abend mit delphi angefangen, und vorher nur mit VB6 rumgemacht :S
chrisw
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 439
Erhaltene Danke: 3

W2K
D7
BeitragVerfasst: Di 17.10.06 14:06 
Daraus, dass Du nicht Selstart seltext usw. nutzt, schliesse ich, dass Du ein anderes Programm "fernsteuerst". Da du das kannst hast Du das Handle dieses Programm und mit etwas Suche nach "Sendmessage" dürfte es nicht alzu schwer sein, an dieses Handle eine Message WM_KEYUP zu schicken.

Ob das allerdings Dein Problem beseitigt, darüber bin ich mir nicht ganz im Klaren, da Deine "dürftige" Problembeschreibung mglw. das Problem ist.

Sorry falls ich etwas überspitzt bin.

_________________
Man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug.
Flodding Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Di 17.10.06 14:14 
Also ich erklärs nochmal deutlicher...

Ich öffne eine textdatei... mein programm erkennt dies, und soll dan automatisch 6 Zeilen nach unten gehen, dann SHIFT+DEL drücken, danach STRG+C.

das mache ich mit diesen zeilen.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
  SendKeys('{DOWN}', True);
  SendKeys('{DOWN}', True);
  SendKeys('{DOWN}', True);
  SendKeys('{DOWN}', True);
  SendKeys('{DOWN}', True);
  SendKeys('{DOWN}', True);
  keybd_event(VK_SHIFT, 0, 0, 0);
  SendKeys('{END}', True);
  keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
  keybd_event(VK_STRG, 0, 0, 0);
  SendKeys('C', True);
  keybd_event(VK_STRG, 0, KEYEVENTF_KEYUP, 0);


okay...und beim ersten mal markieren geht es ja auch superklasse.
nur beim zweiten mal markiert er den text nicht mehr, und somit kopiert er diesen auch nicht mehr.

ich muss den befehl

ausblenden Delphi-Quelltext
1:
  keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);					


wohl irgendwie verändern deiner aussage nach... nur ich weiss nicht wie.

MFG

Floddy

Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt
chrisw
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 439
Erhaltene Danke: 3

W2K
D7
BeitragVerfasst: Di 17.10.06 14:17 
Mit welchem Programm bzw welcher Komponente öffnest Du die TextDatei ?

_________________
Man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug.
Flodding Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Di 17.10.06 14:19 
die geht von alleine auf... ist ein JAVA-Applet ;)
Flodding Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Di 17.10.06 17:33 
UPDATE :::

Das Programm funktioniert auf allen platformen... nur bei einigen Win2k und fast allen WinXp nicht...

ich fang bald an meine katzen zu melken :S
Flodding Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Mo 30.10.06 09:52 
Sorry für das doppelpost, aber weis denn wirklich niemand ne lösung?