Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Befehl in einem Bestimmten Task ausführen (https://www.delphipraxis.net/35097-befehl-einem-bestimmten-task-ausfuehren.html)

delphi_newbie_123 2. Dez 2004 16:14


Befehl in einem Bestimmten Task ausführen
 
Hi nochmal.
Ich bin wieder vor einem Problem und zwar:
ich möchte ohne mein Programm minimieren zu müssen in dem notepad dokument zb ein zeichenkette einfügen
ist das überhaupt möglich, wenn ja dann wie ?
bin über jeden link und tipp dankbar

Sprint 2. Dez 2004 18:13

Re: Befehl in einem Bestimmten Task ausführen
 
Hab' dir mal ein kleines Beispiel geschrieben. CreateProcess startet Notepad. WaitForInputIdle wartet solange bis Notepad bereit ist. Mit FindWindow & FindWindowEx wird das Fenster von Notepad gesucht. Und mit SendMessage wird dann dein Text an das Fenster von Notepad geschickt. Durch CreateProcess haben wir Handles von Kernel-Objekten bekommen, diese müssen wieder mit CloseHandle freigegeben werden.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  SI: TStartupInfo;
  PI: TProcessInformation;
  ParentHWnd: HWND;
  ChildHWnd: HWND;
begin

  FillChar(SI, SizeOf(TStartupInfo), 0);
  SI.cb := SizeOf(TStartupInfo);
  if CreateProcess(nil, 'notepad.exe', nil, nil, False, 0, nil, nil, SI, PI) then
  begin
    WaitForInputIdle(PI.hProcess, INFINITE);
    ParentHWnd := FindWindow('Notepad', 'Unbenannt - Editor');
    if IsWindow(ParentHWnd) then
    begin
      ChildHWnd := FindWindowEx(ParentHWnd, 0, 'Edit', nil);
      if IsWindow(ChildHWnd) then
      begin
        SendMessage(ChildHWnd, WM_SETTEXT, 0, Longint(PChar('Hallo Welt!' + #0)));
      end;
    end;
    CloseHandle(PI.hProcess);
    CloseHandle(PI.hThread);
  end;

end;

delphi_newbie_123 2. Dez 2004 19:44

Re: Befehl in einem Bestimmten Task ausführen
 
ich danke dir soo sehr.
werde morgen, wenn ich weider Zeit habe den Script testen!


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