Avatar billede babynamnam Nybegynder
28. februar 2003 - 10:05 Der er 8 kommentarer og
1 løsning

åbne url minimeret eller i baggrunden!!

Jeg har lavet et lille VB program der åbner og lukke en url, det virker også fint. Det jeg gerne vil er at når internet exploreren åbner url'en så skal den gøre det usynligt, i baggrunden eller minimeret, ligemeget hvad bare jeg ikke kan se at det åbner!!!
Avatar billede sion Nybegynder
28. februar 2003 - 11:01 #1
hvilken funktion bruger du til at åbne vinduet med? Shell, ny ie-objekt eller noget helt andet?
Avatar billede babynamnam Nybegynder
28. februar 2003 - 11:22 #2
her er koden:
'-----form1----------

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 Form_Load()
Dim ret As Long
    ret = ShellExecute(Me.hwnd, "Open", "http://www.harleyguiden.dk", "", App.Path, 1)
       
End Sub

'-----------form1----------

'-----------modul----------

Option Explicit

Private Declare Function EnumWindows& Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long)
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function IsWindowVisible& Lib "user32" (ByVal hwnd As Long)
Private Declare Function GetParent& Lib "user32" (ByVal hwnd As Long)

Dim sPattern As String, hFind As Long

Private Function FindActivateTitle(ByVal hwnd As Long, ByVal lParam As Long) As Long
Dim k As Long, sName As String
    If IsWindowVisible(hwnd) And GetParent(hwnd) = 0 Then
        sName = Space$(128)
        k = GetWindowText(hwnd, sName, 128)
        If k > 0 Then
            sName = Left$(sName, k)
            If lParam = 0 Then sName = UCase(sName)
            If sName Like sPattern Then
                hFind = hwnd
FindActivateTitle = 0
    Exit Function
End If
End If
End If
FindActivateTitle = 1
End Function

Function ActivateAppHwnd(sTitle As String, Optional sMatchCase As Boolean = True) As Long
sPattern = sTitle: hFind = 0
If Not sMatchCase Then sPattern = UCase(sPattern)
EnumWindows AddressOf FindActivateTitle, sMatchCase
ActivateAppHwnd = hFind
End Function

'------modul------------
Avatar billede joern Nybegynder
28. februar 2003 - 12:31 #3
Hej.

Formentlig er det simpelt. Tallet 1 til sidst i shell angiver 'normalt vindue med focus'.  Denne parameter kan have 6 værdier.

vbHide    0    Window is hidden and focus is passed to the hidden window.
vbNormalFocus    1    Window has focus and is restored to its original size and position.
vbMinimizedFocus    2    Window is displayed as an icon with focus.
vbMaximizedFocus    3    Window is maximized with focus.
vbNormalNoFocus    4    Window is restored to its most recent size and position. The currently active window remains active.
vbMinimizedNoFocus    6    Window is displayed as an icon. The currently active window remains active.

M.v.h.  Jørn
Avatar billede babynamnam Nybegynder
28. februar 2003 - 12:49 #4
hej Jørn vi har vist to spørgsmål kørende på en gang...:-)slette en session cookie på min PC?? ,http://exp.dk/spm/322828

Jeg har prøvet at skrive sådan men det har ingen virkning:
    ret = ShellExecute(Me.hwnd, "Open", "http://www.harleyguiden.dk", "", App.Path, 6)
Avatar billede joern Nybegynder
28. februar 2003 - 13:00 #5
Hej.

Ja, jeg svarer også på det andet.  Ang. shell så prøver jeg med et af mine programmer, jeg anvender shell på samme måde som du flere steder, men jeg vil jo gerne se browser-vinduet straks.

M.v.h.  Jørn
Avatar billede joern Nybegynder
28. februar 2003 - 13:05 #6
Hej igen allerede.

Private Sub lsturl_DblClick()
  On Error GoTo fejlurl
  ret = ShellExecute(Me.hwnd, "Open", Mid(lsturl.Text, 6), "", App.Path, 6)
  Exit Sub
fejlurl:
  X = MsgBox("Der er en defekt i URL'en eller du har ikke en standard-browser.", 16, "Medd fra klik på link.")
  Exit Sub
  Resume Next
End Sub

Jeg har Url'er i en listeboks med en unik ID på 6 tegn foran, der ikke skal indgå i URL'en.  Med ,6  åbner Opera - min standardbrowser - som den skal:  Minimeret uden focus. 
Jeg er overhovedet ikke stiv i Internet Explorer, bruger den kun nødtvunget, før Opera brugte jeg Netscape.  Men måske står der et sted i dens indstillinger at den altid skal være øverst, who knows.  Det må en microsoft-elsker hjælpe dig med.
Avatar billede babynamnam Nybegynder
03. marts 2003 - 11:19 #7
hej Jørn,

du ved ikke hvordan man så kan åbne den url i et nyt vindue!!
Avatar billede joern Nybegynder
03. marts 2003 - 13:03 #8
Babynam>>
Nyt vindue i browseren mener du?  Det er jo noget der indstilles i den standard-browser brugeren anvender.  Det ved jeg ikke om man kan påvirke.  Du ved jo ikke engang hvilken der anvendes, men kan selvfølgelig - som mange andre - formode at det er Explorer 6.  Men jeg ved det ikke og må indrømme at det heller ikke er noget jeg vil gå ind i.  Jeg trot ikke jeg har mere at bidrage med i dette spørgsmål.
M.v.h.  Jørn
Avatar billede babynamnam Nybegynder
03. marts 2003 - 13:17 #9
hej har selv fundet ud af det!!!!

Shell "explorer.exe http://www.harleyguiden.dk"

men du får nu lige lidt point få alt den tid du har brugt!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester