AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Keyboard Send Text

Ein Thema von youuu · begonnen am 9. Jan 2015 · letzter Beitrag vom 9. Jan 2015
Antwort Antwort
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#1

Keyboard Send Text

  Alt 9. Jan 2015, 18:09
Hi,

ich hab ein Problem damit, wenn ich Text senden möchte und dort Umlaute enthalten sind.

Delphi-Quellcode:
  for i := 1 to Length(text) do begin
    // press
    Inp.Itype := INPUT_KEYBOARD;
    Inp.ki.wVk := Ord(UpCase(text[i]));
    Inp.ki.dwFlags := 0;
    SendInput(1, Inp, SizeOf(Inp));

    // release
    Inp.Itype := INPUT_KEYBOARD;
    Inp.ki.wVk := Ord(UpCase(text[i]));
    Inp.ki.dwFlags := KEYEVENTF_KEYUP;
    SendInput(1, Inp, SizeOf(Inp));

    Application.ProcessMessages;
    Sleep(80);
  end;
Umlaute werden komplett ausgespart, leider werden auch sämtliche Zeichen klein gesendet (Haus = haus | Hüte = hte)

Hat jemand eine Idee?



EDIT: GELÖST siehe http://www.delphipraxis.net/154931-s...infacht-2.html
Steven

Geändert von youuu ( 9. Jan 2015 um 19:02 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther
Online

Registriert seit: 6. Mär 2013
6.156 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Keyboard Send Text

  Alt 9. Jan 2015, 19:05
Kannst du genauer erläutern, wohin du den Text "senden" willst? Ist es ein Textfeld von dem du das Fenster-Handle (HWND) kennen würdest? Dann würde ich das über eine WM_CHAR -Message machen. Kurz ausprobiert, funktioniert auch mit Dingen wie ‏جهاد‎.

Ansonsten sind es natürlich nur Kleinbuchstaben, denn du simulierst ja auch kein Drücken auf die Shifttaste. Außerdem verstehe ich den Sinn nicht, die Zeichen (mit Pause) hintereinander zu senden. Packe es doch alles in ein Array und verschicke das einmal mit SendInput .

Dass Ord(System.UpCase(text[i])) dem "Virtual Keycode" entspricht halte ich nur für einen glücklichen Zufall, aber da kenne ich mich nicht aus. Wie man Dinge wie "Ü" oder "‏جهاد‎" jetzt damit versenden könnte wüsste ich spontan auch nicht.
  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 12:40 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