AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sandbox programmieren

Ein Thema von 3_of_8 · begonnen am 17. Feb 2006 · letzter Beitrag vom 18. Feb 2006
Antwort Antwort
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#1

Sandbox programmieren

  Alt 17. Feb 2006, 19:43
Morgen.

Ich glaube das Ding, das ich machen will heißt Sandbox.

Das ist nur zur Übung gedacht.

Ich hab schon das Forum durchsucht, aber nicht gefunden, was ich meinte.

Mein Problem ist momentan folgendes:

Ich will ein Programm starten (ShellExecute) und schnapp mir das, was ShellExecute zurückgibt. (Das Handle, oder?)

Dann will ich, dass das Programm auf meinem Panel angezeigt wird (Panel1), also dass das Programm in Panel1 ist. (Panel1.Handle:=ProcHandle hab ich schon probiert)

Und schließlich will ich das Programm auch noch beenden (TerminateProcess(ProcHandle) macht überhaupt nix.)
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Sandbox programmieren

  Alt 17. Feb 2006, 20:46
Das ist keine Sandbox. Eine Sandbox ist eine komplett abgeschottete Umgebung in der der Prozess keinen Scahdenanrichten kann. Eine VM wäre so was.

Such dir das Hauptfenster mit FindWindow und setze das Parenthandle neu mit Setparent auf das Panel deiner anwendung. Shellexecute liefert kein Handle zurück:
Zitat:
Returns a value greater than 32 if successful, or an error value that is less than or equal to 32 otherwise. The following table lists the error values. The return value is cast as an HINSTANCE for backward compatibility with 16-bit Windows applications. It is not a true HINSTANCE, however. The only thing that can be done with the returned HINSTANCE is to cast it to an int and compare it with the value 32 or one of the error codes below.
Ich dachte, das hätte sich langsam mal rumgesprochen, Win3.11 Zeiten sind doch schon etwas länger vorbei.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Sandbox programmieren

  Alt 17. Feb 2006, 21:11
Jetzt wo dus erwähnst, fällt mir wieder ein, das mit dem ShellExecute Fehler schon mal irgendwo gelesen zu haben.

Aber ich habe noch nicht ganz verstanden, wie ich FindWindow einsetze. Woher kriege ich die Werte, die ich für die Parameter brauche? Bitte mal ein Beispiel.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Sandbox programmieren

  Alt 17. Feb 2006, 21:17
Entweder im Forum mal suchen oder im MSDN gucken: MSDN-Library durchsuchenFindWindow.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Sandbox programmieren

  Alt 17. Feb 2006, 21:19
Du hast meine Frage nicht ganz gelesen. Ich weiß, was das für Werte sein sollen, aber woher ich die kriege, ist die Frage.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von retnyg
retnyg

Registriert seit: 11. Feb 2005
193 Beiträge
 
#6

Re: Sandbox programmieren

  Alt 17. Feb 2006, 21:39
starte das programm mit Hier im Forum suchenCreateProcess das liefert dir ein handle zurück
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Sandbox programmieren

  Alt 17. Feb 2006, 21:49
Gibt das nicht einen Boolean?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von retnyg
retnyg

Registriert seit: 11. Feb 2005
193 Beiträge
 
#8

Re: Sandbox programmieren

  Alt 18. Feb 2006, 01:17
jo aber in der PROCESS_INFORMATION struct steht die prozessid drin, über die du an das windowhandle kommst:
siehe beitrag von sepp, hier http://www.delphipraxis.net/internal...ndle+prozessid
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:13 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