AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi PostKeyEx32 an bestimmten Prozess senden...
Thema durchsuchen
Ansicht
Themen-Optionen

PostKeyEx32 an bestimmten Prozess senden...

Ein Thema von DjSp4rkY · begonnen am 18. Jul 2009 · letzter Beitrag vom 23. Jul 2009
Antwort Antwort
DjSp4rkY

Registriert seit: 2. Mai 2009
17 Beiträge
 
#1

PostKeyEx32 an bestimmten Prozess senden...

  Alt 18. Jul 2009, 18:16
huhu liebe DP'ler

ich habe hier ne frage zu der PostKeyEx32-prozedur

in der form wie ich sie gefunden habe, sendet sie die tastendrücke nur an das aktive fenster

ich möchte die tastendrücke aber ein bestimmtes fenster bzw. einen bestimmten prozess senden


könnt ihr mir helfen?

gruß schparkie

p.s. so sieht mein code aus, mit dem ich die prozedur aufrufe:

Delphi-Quellcode:
PostKeyEx32(VK_F1, [], False);
application.ProcessMessages;
  Mit Zitat antworten Zitat
DjSp4rkY

Registriert seit: 2. Mai 2009
17 Beiträge
 
#2

Re: PostKeyEx32 an bestimmten Prozess senden...

  Alt 21. Jul 2009, 04:06
*push*

nu hilf mir doch einer bei dem problem
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: PostKeyEx32 an bestimmten Prozess senden...

  Alt 21. Jul 2009, 04:46
#1 -- sorry, hab mich verschaut

#2 Wie schaut die PostKeyEx32 Routine denn genau aus?
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

Re: PostKeyEx32 an bestimmten Prozess senden...

  Alt 21. Jul 2009, 05:04
Zitat von Aphton:
#1 Pushen innerhalb 24h ist hier nicht gern gesehen.
Hat er doch nicht
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: PostKeyEx32 an bestimmten Prozess senden...

  Alt 21. Jul 2009, 05:31
Ohh 18.07.2009

Sorry, danke NamenLozer

MfG
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#6

Re: PostKeyEx32 an bestimmten Prozess senden...

  Alt 21. Jul 2009, 13:10
Zitat:
Procedure PostKeyEx32
*
* Parameters:
* key : virtual keycode of the key to send. For printable
* keys this is simply the ANSI code (Ord(character)).
* shift : state of the modifier keys. This is a set, so you
* can set several of these keys (shift, control, alt,
* mouse buttons) in tandem. The TShiftState type is
* declared in the Classes Unit.
* specialkey: normally this should be False. Set it to True to
* specify a key on the numeric keypad, for example.
* Description:
* Uses keybd_event to manufacture a series of key events matching
* the passed parameters. The events go to the control with focus.
* Note that for characters key is always the upper-case version of
* the character. Sending without any modifier keys will result in
* a lower-case character, sending it with [ssShift] will result
* in an upper-case character!

Hier ist ein Beispiel:
http://www.favman.privat.t-online.de...ert/Bankco.zip
  Mit Zitat antworten Zitat
DjSp4rkY

Registriert seit: 2. Mai 2009
17 Beiträge
 
#7

Re: PostKeyEx32 an bestimmten Prozess senden...

  Alt 22. Jul 2009, 18:41
aaaaaaaaaalso:

1. das von hathor hilft mir in keinster art und weise

2. der push war nicht innerhalb von 24h

3. hier meine PostKeyEx32-Routine:
Delphi-Quellcode:
procedure PostKeyEx32(key: Word; const shift: TShiftState; specialkey: Boolean);
type TShiftKeyInfo = record shift: Byte; vkey: Byte; end; byteset = set of 0..7;
const shiftkeys: array [1..3] of TShiftKeyInfo = ((shift: Ord(ssCtrl); vkey: VK_CONTROL),(shift: Ord(ssShift); vkey: VK_SHIFT),(shift: Ord(ssAlt); vkey: VK_MENU));
var flag: DWORD; bShift: ByteSet absolute shift; i:Integer;
begin
    for i := 1 to 3 do
    begin
      if shiftkeys[i].shift in bShift then keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), 0, 0);
    end;
    if specialkey then flag := KEYEVENTF_EXTENDEDKEY else flag := 0;
    keybd_event(key, MapvirtualKey(key, 0), flag, 0);
    flag := flag or KEYEVENTF_KEYUP;
    keybd_event(key, MapvirtualKey(key, 0), flag, 0);
    for i := 3 downto 1 do
    begin
      if shiftkeys[i].shift in bShift then keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0),KEYEVENTF_KEYUP, 0);
    end;
end;
wie ich die routine aufrufe steht ja im 1. post ganz oben
  Mit Zitat antworten Zitat
DjSp4rkY

Registriert seit: 2. Mai 2009
17 Beiträge
 
#8

Re: PostKeyEx32 an bestimmten Prozess senden...

  Alt 23. Jul 2009, 01:29
muss ich schon wieder pushen?
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#9

Re: PostKeyEx32 an bestimmten Prozess senden...

  Alt 23. Jul 2009, 08:58
Mit diesem PostKey ist das nicht möglich. Da musste wohl nochmal Googeln


Zitat von DjSp4rkY:
2. der push war nicht innerhalb von 24h
Der alte nicht ... aber der neue ^^


EDIT: Gug mal hier: http://www.swissdelphicenter.ch/de/showcode.php?id=220
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
DjSp4rkY

Registriert seit: 2. Mai 2009
17 Beiträge
 
#10

Re: PostKeyEx32 an bestimmten Prozess senden...

  Alt 23. Jul 2009, 16:15
1. das war ja noch kein richtiger push sondern nur ne vorwarnung dass ich nochmal pushen werde xD

2. is das auch egal denn dein link is perfekt

weiss nich wieso ich das nich gefunden habe , weil ich selber recht lange gegoogelt habe


naja, herzlichen dank jedenfalls für deine hilfe

gruß schparkie


p.s. ich denke, kann geclosed werden
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz