Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Diese Procedure aufrufen (https://www.delphipraxis.net/33590-diese-procedure-aufrufen.html)

Zacherl 9. Nov 2004 15:54


Diese Procedure aufrufen
 
hi, kann mir jemand sagen, wie ich diese procedure aufrufen kann? Ich kriegs nicht hin mit den TShiftState. :oops:

Delphi-Quellcode:
procedure tform1.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; { For } 
  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; { For } 
end; { PostKeyEx32 }

nailor 9. Nov 2004 15:57

Re: Diese Procedure aufrufen
 
Der will nen Det mit den ShiftKeys (ein TShiftState halt) haben. Da klickt man auf das Wort, dann auf F1, und sieht dann, welche Werte in das Set gehen. Dann sucht man die raus, die man will, packt Kommata zwischen und Klammern drum, dann kann man loslegen.

DiscMix 9. Nov 2004 15:57

Re: Diese Procedure aufrufen
 
versuch mal:

PostKeyEx32(ord('v'),[ssCrtl],true);

gruss
marco

Zacherl 9. Nov 2004 16:01

Re: Diese Procedure aufrufen
 
Danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:28 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