# Internetseite öffnen



## Cenny (21. April 2005)

Hallo..

Ich habe da mal 'ne Frage:
und zwar möchte ich über einen Button eine Internetadresse öffnen. Ich habe es auch hinbekommen, mit diesem Source:


```
Private Declare Function ShellExecute Lib "Shell32.dll" Alias _
    "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation _
    As String, ByVal lpFile As String, ByVal lpParameters _
    As String, ByVal lpDirectory As String, ByVal nShowCmd _
    As Long) As Long

Private Sub Command1_Click()
Dim Result&, Buff$
Buff = "http://www.google.de"
Result = ShellExecute(0&, "Open", Buff, "", "", 1)
End Sub
```

das Problem ist aber, dass er ein offene Explorer-Fenster benutzt und sich nicht ein eigenese öffnet. Es sei denn es ist kein offenes Fenster vorhanden, dann macht er das.

Wie muss ich den Code ändern, damit er immer ein eigenes Fenster öffnet?

MfG und Danke schonmal,
Jonas..


----------



## Orakel (21. April 2005)

Hi Cenny,

Versuchs mal so

```
Dim szProgramm                  As String
    Dim szURL                       As String

    szProgramm = "C:\Programme\Internet Explorer\iexplore.exe"
    szURL = "http://www.google.de"
    Call ShellExecute(0, vbNullChar, szProgramm, szURL, "", &H1&)
```

in der Registry findet man zwar auch einen Eintrag für "opennew", das wird allerdings von ShellExecute nicht unterstützt  (Wehn wunderts)

Edit: Naja, bei genauerem hinsehen fällt mir auf, dass man mit dieser Variante den ShellExecute überhaubt nicht mehr braucht.

```
Shell szProgramm & " " & szURL, vbNormalFocus
```


Gruß
Das Orakel


----------



## Cenny (21. April 2005)

gut, das mag ja gehen, jetzt aber mal angenommen, jemand hat einen anderen Browser und arbeitet nicht mit dem Internet Explorer, dann müsste er doch auch einen anderen explorer nutzen!

Außerdem kann es ja auch sein, dass der Pfad, den du da angegeben hast, nciht bei jeden PC zutrifft. Angenommen jemand hat den I-Explorer auf D: oder einfach nciht in Programme, wer weiß!?

Es gibt also keine möglichkeit, ein neues Fenster des Standardbrowsers zu öffnen und die angegebene Seite dort zu öffnen?

Trotzdem, danke!
___________________________________
Nachtrag (Edit):

Ich habe jetzt das hier eingebunden:

```
Shell "Explorer.exe" & " " & "http://www.google.de", vbMaximizedFocus
```
gemäß des Falles, ich habe nicht den Internet Explorer, kann man nciht eine Routine starten, oder aus einer dll oder aus der shell32, den standard-browser öffnen?

Danke, das Problem mit dem Fenster ist zumindest schonmal behoben..


----------



## Orakel (21. April 2005)

Tschaaa, mit dem was Du da erwähnst hast Du ja recht. Also währe der aufwendigere Weg der, über die Registry anhand der Extension das dazugehörige Progrämmchen zu suchen. Ist zwar wie gesagt etwas aufwendiger, aber eliminiert alle von Dir aufgezeigten Probleme.

Gruß
Das Orakel


----------



## Cenny (21. April 2005)

und wie macht man das?

Wenn das geht, wäre das echt fein, ansonsten hätte ich noch eine Idee, weiß aber nicht ob und wie man sie realisieren kann.. und zwar, wenn man unter Systemsteuerung auf Internetoptionen, dort unter den Tab Programme guckt, sieht man ja, dass dort einige Programme als Standart definiert sind. Der Explorer ist zwar nun nicht dabei, aber vielleicht gibt's den ja irgendwo, und man kann das einfacher auslesen?
Mh, das scheint mir gerade sehr unlogisch, aber naja, wer weiß.. 

Danke..
Cenny..


----------



## Orakel (21. April 2005)

Hmmmm gute Frage,


das jetzt in allen Kleinigkeiten zu erklären sprengt sicherlich diesen Thread. Im Anhang findest Du eine Klassendatei, die den Zugriff auf die Registry realisiert. (Müsste ich auch mal fertig stellen) und ein kleines Demoprogramm, dass Dir die Benutzung veranschaulicht.

Hope it helps
Das Orakel


----------



## Cenny (21. April 2005)

bei mir sagt er, dass er die cls_Registry.cls nicht öffnen kann..
und beim Starten sagt er hierzu:

```
Private m_cRegistry                         As New cls_Registry
```
Benutzerdefinierter Typ nicht definiert..

da felt also was, oder nicht?


----------



## Orakel (21. April 2005)

Arghhhhhh,


kloar, das Teil liegt ja in nem anderen Verzeichniss.

Aber hier als Anhang
Mea Culpa

Das Orakel


----------



## Cenny (21. April 2005)

sieht nicht schlecht aus, aber das Klassenmodul hast du nciht gemacht, oder?
ich hab mal Versucht eine .exe zu erstellen, das Problem ist aber, dass in dem Klassenmodul einige unklarheiten mit den Variabeln auftauchen.
Kannst du mir da helfen?

Danke..


----------

