Einzelnen Beitrag anzeigen

Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

Einfügen in Sourcecode vom RAD Studio ?

  Alt 9. Okt 2008, 16:05
Hallo,

gibt es eine Möglichkeit, dass ich von einem anderen Programm einen Text an die aktuelle Stelle im Sourcecode einfügen kann, wenn Turbo Delphi oder RAD Studio mit einem aktuellen Projekt geöffnet ist. Ich habe schon mit WinSpy rumgespielt, komme aber leider nicht weiter.

Wäre nett, wenn Ihr mir da helfen könntet.

Mein jetziger Sourcecode :
Delphi-Quellcode:
function FindWindowEx2(hParent: HWND; ChildClassName: string; ChildNr: Word): HWND;
var
  i: Word;
  hChild: HWND;
begin
  hChild := 0;
  Result := 0;
  Dec(ChildNr);
  for i := 0 to ChildNr do
  begin
    hChild := FindWindowEx(hParent, hChild, PChar(ChildClassName), nil);
    if hChild = 0 then
      Break;
    Result := hChild;
  end;
end;

procedure TForm5.Button1Click(Sender: TObject);
var
  wndMain, wndChild: HWND;
begin
  wndMain := FindWindow('TAppBuilder',nil);
  if wndMain <> 0 then
  begin
    wndChild := FindWindowEx(wndMain, 0, 'TEditorDockPanel', nil);
    wndChild := FindWindowEx(wndChild, 0, 'TEditWindow', nil);
    wndChild := FindWindowEx(wndChild, 0, 'TPanel', nil);
    wndChild := FindWindowEx(wndChild, 0, 'TPanel', nil);
    wndChild := FindWindowEx2(wndChild,'TPanel', 2);
    wndChild := FindWindowEx(wndChild, 0, 'TPanel', nil);
    wndChild := FindWindowEx(wndChild, 0, 'TPanel', nil);
    wndChild := FindWindowEx(wndChild, 0, 'TPanel', nil);
    wndChild := FindWindowEx(wndChild, 0, 'TEditControl', nil);
    if wndChild <> 0 then
    begin
      SendMessage(wndChild, WM_COPYDATA, 0, LongInt(PChar('Eingefügt')));
      ShowMessage('Window Handle: ' + IntToStr(wndChild));
    end;
  end;
end;
Ich habe mir gedacht, fange ich einfach an und füge nur ein Wort hinzu. Leider funktioniert das weder mit WM_COPYDATA noch mit WM_SETTEXT. Ich vermute mal das liegt auch daran, dass zum Schluss nur ein TEditControl steht. Nur wie komme ich an das eigentlich Memo wo der Sourcecode drinsteht ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat