Thema: Delphi Notepad fernsteuern

Einzelnen Beitrag anzeigen

gabneo

Registriert seit: 15. Okt 2006
Ort: Deutsche Toskana :)
93 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#14

Re: Notepad fernsteuern

  Alt 31. Okt 2007, 13:29
Danke für die Menge interessanter Kommentare.
Ob jemand den Error-Log editiert oder nicht wäre gar nicht wichtig, da das Error-Log dazu gedacht ist, andere anzuschwärzen also wenn man es ändert, schneidet man sich ins eigene Fleisch, ausserdem welcher am Resultat interessierter Admin würde Fakten manipulieren? Rauskommen tun solche Sachen immer....spätestens wenn man einen Grund abliefern muss...es gibt nur zwei zustände 1. Es funktioniert 2. Es gibt einen Grund dafür das es nicht funktioniert und dieser wird gerade behoben.

Nunja ich habe es jetzt anders gelöst und einen Weg gefunden es innerhalb der Applikation unterzubringen ohne das Konzept zu zerstören.

greez
gabneo

PS: Für alle anderen die jemals diesen Thread finden und aus irgendeinem Grund Notepad fernsteuern möchten, ich habe es so gemacht:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var wnd:HWND; Rect:TRect; i:Integer; s:string;
begin
 shellExecute(handle,'open',PChar(getspecialfolder(handle,CSIDL_WINDOWS)+'\notepad.exe'),Nil,Nil,SW_NORMAL);
 sleep(50); <---------- ist sehr unsauber, um das kurze aufblitzen zu umgehen sollte man sich überlegen statt dem shellexecute befehl CreateProcess zu nehmen oder TShellExecuteInfo zu deklarieren und die richtige Formatierung (Top/Left/Height/width) gleich beim start mitzuübergeben, dann wird das sleep überfällig = kein aufblitzen mehr

 wnd:=FindWindow('notepad',nil);
 setwindowpos(wnd,hwnd_top,trunc((screen.DesktopWidth/2)-300),trunc((screen.DesktopHeight/2)-200),600,400,swp_showwindow);
 if wnd<>0 then
  begin
   wnd:=FindWindowEx(wnd,0,'Edit',nil);
   s:='TEST';
   For i:=1 to Length(s) do SendMessage(wnd, WM_CHAR, Word(s[i]), 0);
  end;
end;
  Mit Zitat antworten Zitat