Autor Beitrag
Diamond
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 64
Erhaltene Danke: 1

Windows 7 Prof, OS X 10.8
Delphi XE Architect, XCode 4.4
BeitragVerfasst: Do 17.04.08 10:48 
hi
hab hier mal so ne kleine prozedur:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
Const
  DIK_M : integer = $32;
  DIK_O : integer = $18;
  DIK_RSHIFT : integer = $36;
var
  flag : integer;
begin
    keybd_event(0, DIK_RSHIFT,flag,0);
  Sleep(100);
    keybd_event(0, DIK_M,flag,0);
  Sleep(100);
    keybd_event(0, DIK_M,KEYEVENTF_KEYUP,0);
    keybd_event(0, DIK_RSHIFT,KEYEVENTF_KEYUP, 0);
  Sleep(100);
    keybd_event(0, DIK_O,flag,0);
  Sleep(100);
    keybd_event(0, DIK_O,KEYEVENTF_KEYUP,0);


geschrieben werden sollten die buchstaben so: Mo
geschrieben werden die buchstaben aber: MO

in diesem fall soll es nicht das schlimmste sein aber ich hab eigentlich vor noch andere programme in dieser richtug zu schreiben wo es durchaus mal auf sowas ankommt ;)
hab da n problem mit "KEYEVENTF_KEYUP" drin denk ich
tastatureingaben sollen global in allen anwendungen laufen deshalb keine VKs

programmiere mit delphi 7
hab gelesen keybd_event soll veraltet sein, find auch nichts in der delphihilfe drüber
aber denk nicht dass es daran liegt, da er die tasten ja alle drückt... nur nicht wieder loslässt.
Diamond Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 64
Erhaltene Danke: 1

Windows 7 Prof, OS X 10.8
Delphi XE Architect, XCode 4.4
BeitragVerfasst: Do 17.04.08 13:57 
sprachlos? :lol:
sorry leute aber is echt wichtig..
hab ich da nen programmierfehler drin, funktioniert es nicht mit den anweisungen oder ist das ein bug in delphi 7?

thx
SAiBOT
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 323
Erhaltene Danke: 6

XP SP2; 7
D7; D2009
BeitragVerfasst: Sa 26.04.08 08:11 
versuchs mit PostMessage, dabei benötigst du allerdings das Handle!
Bsp:
ausblenden Delphi-Quelltext
1:
2:
PostMessage(FindWindow(nil,PChar(ParamStr(0))), WM_CHAR, Ord('M'),0);
PostMessage(FindWindow(nil,PChar(ParamStr(0))), WM_CHAR, Ord('o'),0);
toms
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1099
Erhaltene Danke: 2



BeitragVerfasst: Sa 26.04.08 08:32 
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Sa 26.04.08 22:31 
Ich würde es einfach so machen - wenn schon mit keybd_event:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(Ord('M'), 0, 0, 0);
keybd_event(Ord('M'), 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
keybd_event(Ord('O'), 0, 0, 0);
keybd_event(Ord('O'), 0, KEYEVENTF_KEYUP, 0);
Diamond Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 64
Erhaltene Danke: 1

Windows 7 Prof, OS X 10.8
Delphi XE Architect, XCode 4.4
BeitragVerfasst: Di 29.04.08 10:45 
thx für die antworten
habs noch geschafft es selbst zu lösen über folgenden befehl

ausblenden Delphi-Quelltext
1:
2:
3:
4:
keybd_event(VK_SHIFT, DIK_SHIFT,0,0);
keybd_event(VK_M, DIK_M, 0,0);
keybd_event(VK_M, DIK_M, KEYEVENTF_KEYUP,0);
keybd_event(VK_SHIFT, DIK_SHIFT, KEYEVENTF_KEYUP,0);


so lässt er dann doch noch die tasten wieder los ^^