Einzelnen Beitrag anzeigen

Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#11

Re: Simulation Strg+C geht nicht mehr unter Vista

  Alt 22. Jun 2008, 19:03
Zitat von Logic:
Ihr sagt immer schaut doch in der Hilfe, aber genau in den Hälfte der Threads genau das gleiche drin... aber gut gesucht hatte ich ja schon, das Ergebnis liefert 45 Treffern... soderle dann bin ich von oben nach unten druchgegangen.

Wenn man nach Bei Google suchenSendInput Delphi sucht, findet man eine Procedur SendAltTab.

Diese Procedur zeigt, wie man SendInput() verwenden kann.

Ich habe die Procedur ein wenig angepasst und daraus eine SendCtrlC Procedur gemacht.

Delphi-Quellcode:
procedure SendCtrlC();
var
  KeyInputs: array of TInput;
{$J+}const
  KeyInputCount: Integer = 0;{$J-}

procedure KeybdInput(VKey: Byte; Flags: DWORD);
  begin
    Inc(KeyInputCount);
    SetLength(KeyInputs, KeyInputCount);
    KeyInputs[KeyInputCount - 1].Itype := INPUT_KEYBOARD;
    with KeyInputs[KeyInputCount - 1].ki do
    begin
      wVk := VKey;
      wScan := MapVirtualKey(wVk, 0);
      dwFlags := KEYEVENTF_EXTENDEDKEY;
      dwFlags := Flags or dwFlags;
      time := 0;
      dwExtraInfo := 0;
    end;
  end;
begin
  KeybdInput(VK_CONTROL, 0);
  KeybdInput(Ord('C'), 0);
  KeybdInput(Ord('C'), KEYEVENTF_KEYUP);
  KeybdInput(VK_CONTROL, KEYEVENTF_KEYUP);
  SendInput(KeyInputCount, KeyInputs[0], SizeOf(KeyInputs[0]));
end;
Thomas
  Mit Zitat antworten Zitat