Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Fremde Exe in exe kleben (einbinden) ! (https://www.delphipraxis.net/99896-fremde-exe-exe-kleben-einbinden.html)

taktaky 19. Sep 2007 10:37


Fremde Exe in exe kleben (einbinden) !
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ist möglich und leicht, ein fremdes Programm in mein Programm einzubinden?

Das fremde exe soll aber richtig Fest sein und auch wenn ich das Programm bewege.

Binding an Object visible on runtime

http://members.lycos.co.uk/forforums...-einbinden.jpg



Gruß




_________________

SirThornberry 19. Sep 2007 10:49

Re: Fremde Exe in exe kleben (einbinden) !
 
hallo, könntest du das Bild bitte in den Anhang packen. Das hat den Vorteil das es auch noch im Beitrag vorhanden ist wenn du es mal vom Lycosserver löschst :)

Luckie 19. Sep 2007 10:49

Re: Fremde Exe in exe kleben (einbinden) !
 
Du könntest mit MSDN-Library durchsuchenSetParent dein Fenster als Parent des fremden Fensters setzen. Aber wozu soll das gut sein?

taktaky 19. Sep 2007 11:00

Re: Fremde Exe in exe kleben (einbinden) !
 
Zitat:

Zitat von Luckie
Du könntest mit MSDN-Library durchsuchenSetParent dein Fenster als Parent des fremden Fensters setzen. Aber wozu soll das gut sein?

Aber wie? gar nicht kappiert!

Gibt es kein Code dafür?

Ist eine exe nicht wie ein Bild auf Form zu binden?

Gruß




-----

Luckie 19. Sep 2007 11:02

Re: Fremde Exe in exe kleben (einbinden) !
 
Das ist der Code!
http://msdn2.microsoft.com/en-us/library/ms633541.aspx

Zitat:

Zitat von taktaky
Ist eine exe nicht wie ein Bild auf Form zu binden?

Wie bitte? Geht das etwas verständlicher?

taktaky 19. Sep 2007 11:17

Re: Fremde Exe in exe kleben (einbinden) !
 
Zitat:

Zitat von Luckie

Trotzdem nicht kapiert :( , ich sehe nur die allgemeine Funktion
Wie soll der Delphi Code lauten?

SirThornberry 19. Sep 2007 11:20

Re: Fremde Exe in exe kleben (einbinden) !
 
du musst das Fenster der Exe suchen welches du einfangen willst. Das Handle dieses Fensters übergibst du dann der Funktion und übergibst zusätzlich das Handle des neuen Parents (das deiner Form).
Wie die einzelnen Schritte funktionieren findet sich über die Suche bzw. kannst du dazu auch Fragen stellen wenn du an einer konkreten Stelle nicht weiter kommst. Aber ein copy&paste Beispiel wird dir wohl verwährt bleiben.
Schau dir die Hilfe zur Funktion genau an und arbeite dich in das Thema ein so das du es auch verstehst.

taktaky 19. Sep 2007 13:43

Re: Fremde Exe in exe kleben (einbinden) !
 
Hallo,

alle gerade laufende Anwendungen kann ich finden und ihre Titel listen :

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  EnumWindowsProc = function (Hwnd : THandle;Param:Pointer):Boolean;stdcall;
  TFrmMain = class(TForm)
    BtLister: TButton;
    List1: TListBox;
    procedure BtListerClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmMain: TFrmMain;

implementation
function GetTitle(Hwnd : THandle;Param:Pointer):Boolean;stdcall;
var
  Text : string;
begin
  SetLength(Text,100);
  GetWindowText(Hwnd,Pchar(Text),100);
  FrmMain.List1.Items.Add (Inttostr(Hwnd) + ' : ' + Text);
  GetTitle := True;
end;

{$R *.DFM}

procedure TFrmMain.BtListerClick(Sender: TObject);
var
WindowProc : EnumWindowsProc;
begin
  List1.Items.Clear;
  WindowProc := GetTitle;
  EnumWindows(@WindowProc,0);
end;

end.
Aber das Problem wie kann ich eine in mein Form Binden?


Gruß

Luckie 19. Sep 2007 13:49

Re: Fremde Exe in exe kleben (einbinden) !
 
Wurde dir doch gerade erklärt:
  1. Handle des Betreffenden Fenster finden mit MSDN-Library durchsuchenFindWindow
  2. Oben genannte API-Funktion aufrufen, mit dem Handle des eignen und dem Handle des mit Hilfe von FindWindow gefundenen Fensters.

taktaky 19. Sep 2007 14:49

Re: Fremde Exe in exe kleben (einbinden) !
 
Zitat:

Zitat von Luckie
Wurde dir doch gerade erklärt:
  1. Handle des Betreffenden Fenster finden mit MSDN-Library durchsuchenFindWindow
  2. Oben genannte API-Funktion aufrufen, mit dem Handle des eignen und dem Handle des mit Hilfe von FindWindow gefundenen Fensters.

Ich kann zwar ein Window finden ,anzeigen, ausblenden, ... :
Delphi-Quellcode:

procedure TForm1.Button3Click(Sender: TObject);
begin
Windows.ShowWindow(FindWindow(nil,PChar('Test')),SW_show);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Windows.ShowWindow(FindWindow(nil,PChar('Test')),SW_HIDE); // Test : Anwendung-Name
end;
Das Problem, wie kann ich das Fenster binden?



--------

SirThornberry 19. Sep 2007 14:52

Re: Fremde Exe in exe kleben (einbinden) !
 
mit SetParent! Schau dir doch die Hilfe an. Der eine Parameter ist das Fenster welches du in deines einbetten willst und der andere Parameter ist dein Fenster in welches eingebettet werden soll. Es ist doch nur ein Funktionsaufruf mit 2 Parametern, welche Parameter erwartet werden wurde erklärt etc. Also musst du nur noch das ganze hinschreiben. Mehr kann man nicht helfen ohne das man es für dich tippt. Und dann wären wir wieder bei einem copy&paste Beispiel bei dem du nichts lernst.

Luckie 19. Sep 2007 14:53

Re: Fremde Exe in exe kleben (einbinden) !
 
... und wie man das Handle eines Fensters findet, scheinst du ja zu wissen.

DP-Maintenance 19. Sep 2007 16:34

DP-Maintenance
 
Dieses Thema wurde von "Christian Seehase" von "Internet / LAN / ASP.NET" nach "Windows API / MS.NET Framework API" verschoben.
Irgendwie seh\\\' ich hier kein Netzwerkthema... ;-)

taktaky 19. Sep 2007 17:35

Re: Fremde Exe in exe kleben (einbinden) !
 
Zitat:

Zitat von Luckie
... und wie man das Handle eines Fensters findet, scheinst du ja zu wissen.

Nein

DeddyH 19. Sep 2007 17:44

Re: Fremde Exe in exe kleben (einbinden) !
 
Und was steht hier?

Hador 19. Sep 2007 17:47

Re: Fremde Exe in exe kleben (einbinden) !
 
Du hast doch eben schon in deinem Quelltext die Funktion FindWindow genutzt. Diese gibt ein Fensterhandle zurück.

taktaky 19. Sep 2007 17:54

Re: Fremde Exe in exe kleben (einbinden) !
 
Zitat:

Zitat von DeddyH
Und was steht hier?

Dann habe ich Dich falsche verstanden.

Ich meine mit dem Binden
http://members.lycos.co.uk/forforums...-einbinden.jpg

SirThornberry 19. Sep 2007 18:05

Re: Fremde Exe in exe kleben (einbinden) !
 
das wissen wir, steht ja im ersten Beitrag schon (auch das du das Bild lieber anhängen sollst). Und in den Folgebeiträgen steht auch wie. Es steht nur nicht der Quelltext 1 zu 1, den musst du selbst tippen.
Mal ehrlich, was ist so schwer daran einen Funktionsnamen (9 Buchstaben) + 2 Klammern + 1 Komma + 2 Zahlen (Fenster-Handles) zu tippen?
Du bestärkst eigentlich gerade die Meinung das es gar keinen Sinn macht dir die Lösung 1 zu 1 zu geben weil du den Eindruck vermittelst das du die Antworten dir nicht durchliest und dich nicht darüber informierst. Programmieren heißt unter anderem logische Abläufe zusammen zu fügen und das zu tippen. Und genau das tippen solltest du doch wenigstens selbst machen (und nicht nur Rechtsklick + kopieren + Rechtsklick + einfügen)

s-off 19. Sep 2007 19:05

Re: Fremde Exe in exe kleben (einbinden) !
 
Zitat:

Zitat von SirThornberry
Du bestärkst eigentlich gerade die Meinung das es gar keinen Sinn macht dir die Lösung 1 zu 1 zu geben weil du den Eindruck vermittelst das du die Antworten dir nicht durchliest und dich nicht darüber informierst.

Hallo SirThornberry,

hast Du denn die Diskussion in den letzten Tagen bzgl. dieses Nutzers nicht verfolgt?
Habe mich schon gewundert, dass Du so eifrig dabei bist, ihm das Thema zu erklären.

Aber um es abzukürzen: Der Junge gibt keine Ruhe, bis Du ihm nicht den kompletten Quelltext vorgekaut hast :?
Was meinst Du wohl, warum Du - abgesehen von Luckie - hier der Einzige bist, der noch antwortet? Alle anderen haben es nach wochenlangem Ärgernis aufgegeben.

SirThornberry 19. Sep 2007 21:12

Re: Fremde Exe in exe kleben (einbinden) !
 
Da die Eigeninitiative nahezu 0 ist und der Eindruck inzwischen mehrfach aufkam das einfach nur ein copy&paste Beispiel gesucht wird mache ich hier mal zu.
Ich hoffe es wird nicht falsch verstanden.
Es geht nicht darum das wir einfache Fragen hier nicht dulten. Es geht darum das hier selbst die ausführlichsten Antworten scheinbar ignoriert werden.
Konkret wurde bereits erwähnt das die Funktion 2 Parameter benötigt, das einer der Parameter das Fenster ist welches ingebettet werden soll und der andere das Fenster ist worein eingebettet werden soll.
In diesem zusammenhang wurde vom Fragestellenden auch eine Funktionsaufruf gepostet der zeigt das er es wohl doch versteht Fensterhandles an Funktionen zu übergeben.
Entweder ist dieses Beispiel nur irgendwo mit Copy&Paste hergezaubert wurden oder der Fragesteller stellt sich absichtlich dumm. So hat es zumindest den Eindruck. Anders kann ich mir zumindest nicht erklären warum er es in seinem Beispiel schafft ein Fensterhandle an eine Funktion zu übergeben aber trotz ausführlicher mehrfacher Anleitung nicht schafft 2 Handles an eine andere Funktion zu übergeben.

Wie der lange Text zeigt haben wir/ich uns schon einige Gedanken gemacht was hier gerade von Statten geht. Letztendlich ist dies hier ein Programmiererforum wo sich gegenseitig geholfen wird und wo man auch was lernen soll. Aber es ist nicht der Sinn Copy&Paste Code bereit zu stellen der nicht verstanden werden soll.

Lange rede, kurzer Sinn:


GESCHLOSSEN!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz