Este exemplo mostra que, na aplicação de console, de fato apenas os primeiros 255 caracteres são exibidos, mas isso é uma limitação do console, pois ao colocar um breakpoint na linha da chamada a SendInput, após pressionar F9 para continuar, todos os 512 caracteres do texto de exemplo são escritos na janela de edição de código do Delphi

Format
Delphi
Post date
2023-01-25 11:13
Publication Period
Unlimited
  1. program Project2;
  2. {$APPTYPE CONSOLE}
  3. {$R *.res}
  4. uses
  5. System.SysUtils, Winapi.Windows;
  6. const
  7. TEXT = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras volutpat lacinia enim. Ut a mattis nibh, in ' + 'pretium erat. Integer eget est purus. Aenean diam lacus, auctor vel finibus vitae, gravida varius tellus. In in lobortis orci. Vivamus venenatis, velit ac rutrum sagittis, justo tellus ' + 'fermentum diam, quis semper dolor eros non ante. Aliquam nec lorem pharetra, iaculis lacus id, ultricies ligula. Maecenas suscipit sem ut tincidunt egestas. Vestibulum maximus mi nec metus scelerisque pellentesque tortor.';
  8. var
  9. Inputs: TArray<TInput>;
  10. C: Cardinal;
  11. I: Cardinal;
  12. begin
  13. try
  14. SetLength(Inputs,Length(TEXT) * 2);
  15. I := 0;
  16. for C := 1 to Length(TEXT) do
  17. begin
  18. ZeroMemory(@Inputs[I],SizeOf(TInput));
  19. Inputs[I].Itype := INPUT_KEYBOARD;
  20. Inputs[I].ki.dwFlags := KEYEVENTF_UNICODE;
  21. Inputs[I].ki.wScan := Ord(TEXT[C]);
  22. Inc(I);
  23. ZeroMemory(@Inputs[I],SizeOf(TInput));
  24. Inputs[I].Itype := INPUT_KEYBOARD;
  25. Inputs[I].ki.dwFlags := KEYEVENTF_UNICODE or KEYEVENTF_KEYUP;
  26. Inputs[I].ki.wScan := Ord(TEXT[C]);
  27. Inc(I);
  28. end;
  29. // Put a breakpoint on the line bellow and when the flow stops, put the
  30. // cursor after the "end." and press F9
  31. SendInput(Length(TEXT) * 2,Inputs[0],SizeOf(TInput));
  32. readln;
  33. except
  34. on E: Exception do
  35. Writeln(E.ClassName, ': ', E.Message);
  36. end;
  37. end.
다운로드 Printable view

URL of this paste

Embed with JavaScript

Embed with iframe

Raw text