AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Internet Explorer öffnen und PID erhalten zum späteren Close
Thema durchsuchen
Ansicht
Themen-Optionen

Internet Explorer öffnen und PID erhalten zum späteren Close

Ein Thema von renekr · begonnen am 10. Dez 2008 · letzter Beitrag vom 10. Dez 2008
Antwort Antwort
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#1

Internet Explorer öffnen und PID erhalten zum späteren Close

  Alt 10. Dez 2008, 10:47
Hi,
Ich bin soeben dran einen Internet Explorer per Delphi Tool zu öffnen und später wieder schliessen zu müssen.

Allerdings möchte ich beim Start gleich die PID zurück bekommen.
Ist sowas möglich ?

Danke
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Internet Explorer öffnen und PID erhalten zum späteren C

  Alt 10. Dez 2008, 10:56
Oft gefragt, oft beantwortet und nie gesucht. Dies kannst du entweder mit MSDN-Library durchsuchenCreateProcess oder mit MSDN-Library durchsuchenShellexecuteEx machen. Allerdings sollte man es möglichst vermeiden einen Prozess einfach abzuschiessen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Internet Explorer öffnen und PID erhalten zum späteren C

  Alt 10. Dez 2008, 11:18
Hi,
Hab schon gesucht aber leider nix passendes gefudnen.
Ich will ja auch noch eine Spezielle URL mit dem IE aufmachen .
Geht das mit dem CreateProcess?

Ich habe es mit dem ShellExecute gemacht aber da bekomme ich keine PID zurück,sondern muss die Process Lsite vorher udn nachher durch prüfen .
Und das will ich eigentlich nciht.
Danke
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.620 Beiträge
 
Delphi 12 Athens
 
#4

Re: Internet Explorer öffnen und PID erhalten zum späteren C

  Alt 10. Dez 2008, 11:34
Du hast nicht richtig gelesen, statt ShellExecute ShellExecuteEx, damit bekommst Du auch das Prozesshandle.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Internet Explorer öffnen und PID erhalten zum späteren C

  Alt 10. Dez 2008, 12:09
Hi,
so ich hab nun die ShellExecuteEx aufgerufen .
Und in der TShellExecuteInfo bekomme ich das Process Handle zurück.
Wenn ich nun das Handle in isWindow(hWindowHandle) prüfe ist es false.

Also kann er den neu geöffneten Explorer über das Handle nicht finden.

Mach i da was falsch ?

Edit: So hab eine Funktion KillProcess die das WindowsHandle als Parameter wollte,habs geändert und es geht nun.


Vielen Dank für die Denkhilfe...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.620 Beiträge
 
Delphi 12 Athens
 
#6

Re: Internet Explorer öffnen und PID erhalten zum späteren C

  Alt 10. Dez 2008, 12:12
Du hast das Prozesshandle und kein Fensterhandle, deshalb gibt IsWindow false zurück.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Internet Explorer öffnen und PID erhalten zum späteren C

  Alt 10. Dez 2008, 12:18
Zitat von renekr:
Mach i da was falsch ?
Du liest nicht, was du selber schreibst:

Zitat:
Und in der TShellExecuteInfo bekomme ich das Process Handle zurück.
Wenn ich nun das Handle in isWindow(hWindowHandle) prüfe ist es false.
Ein Prozesshandle ist ein Prozesshandle und kein Fensterhandle.

Es wird dir nichts anderes übrig bleiben als das Fenster mit MSDN-Library durchsuchenFindWindow oder MSDN-Library durchsuchenEnumWindows zu suchen, um an das Fensterhandle zu kommen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Internet Explorer öffnen und PID erhalten zum späteren C

  Alt 10. Dez 2008, 12:41
Hi,
ja das habe ich leider schon bemerkt,war mit schreiben einfach zu schnell,sorry.

Aber trotzdem vielen Dank.
  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 12:41 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