Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    271

    Aprire finestra Explorer

    Ciao ragazzi.
    Domanda semplice (spero)

    come si fa da codice ad aprire una finestra di esplora risorse che mostra il contenuto di una cartella? Oppura aprire una pagina Web con Internet Explorer?

    Grazie.
    Signori si nasce! E io modestamente, lo nacqui!!!
    Totò

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    devi utilizzare il comando Shell.
    Ans.

  3. #3
    Ho un form con un CommandButton e un modulo.
    Per aprire una pagine di IE:

    1. Inserisci nel modulo:
    codice:
    Public Const ERROR_NONE = 0
    Public Const HKEY_CLASSES_ROOT = &H80000000
    Public Const REG_SZ As Long = 1
    Public Const REG_DWORD As Long = 4
    Public Const KEY_ALL_ACCESS = &H3F
    
    Public Declare Function RegOpenKeyEx Lib "advapi32.dll" _
           Alias "RegOpenKeyExA" (ByVal hKey As Long, _
           ByVal lpSubKey As String, ByVal ulOptions As Long, _
           ByVal samDesired As Long, phkResult As Long) As Long
    Public Declare Function RegQueryValueExNULL Lib "advapi32.dll" _
           Alias "RegQueryValueExA" (ByVal hKey As Long, _
           ByVal lpValueName As String, ByVal lpReserved As Long, _
           lpType As Long, ByVal lpData As Long, lpcbData As Long) _
           As Long
    Public Declare Function RegQueryValueExString Lib "advapi32.dll" _
           Alias "RegQueryValueExA" (ByVal hKey As Long, _
           ByVal lpValueName As String, ByVal lpReserved As Long, _
           lpType As Long, ByVal lpData As String, lpcbData As Long) _
           As Long
    Public Declare Function RegQueryValueExLong Lib "advapi32.dll" _
           Alias "RegQueryValueExA" (ByVal hKey As Long, _
           ByVal lpValueName As String, ByVal lpReserved As Long, _
           lpType As Long, lpData As Long, lpcbData As Long) As Long
    
    
    Public Function QueryValue(RootKey As Long, sKeyName As String, _
                               sValueName As String) As Variant
    
    On Error GoTo Errore
    
         Dim mioRis As Long        'result of the API functions
         Dim mioKey As Long       'handle of opened key
         Dim mioValore As Variant    'setting of queried value
                    
         mioRis = RegOpenKeyEx(RootKey, sKeyName, 0, KEY_ALL_ACCESS, _
                              mioKey)
         mioRis = QueryValueEx(mioKey, sValueName, mioValore)
                    
         Select Case mioValore
           Case "IExplore"
                 QueryValue = "InternetExplorer"
           Case "NSShell"
                 QueryValue = "Netscape"
           Case Else
                 QueryValue = vValue
         End Select
                    
         Exit Function
                
    Errore:
         MsgBox "Errore n. " & Err.Number & ": " & Err.Description
            
    End Function
    
    Private Function QueryValueEx(ByVal lhKey As Long, ByVal szValueName _
                                  As String, vValue As Variant) As Long
    
    On Error GoTo Errore
    
         Dim cch As Long
         Dim lrc As Long
         Dim lType As Long
         Dim lValue As Long
         Dim sValue As String
                
         lrc = RegQueryValueExNULL(lhKey, szValueName, 0&, lType, 0&, cch)
                    
         If lrc <> ERROR_NONE Then Error 5
    
             Select Case lType
                
                Case REG_SZ:
                     sValue = String(cch, 0)
                     lrc = RegQueryValueExString(lhKey, szValueName, _
                           0&, lType, sValue, cch)
                     If lrc = ERROR_NONE Then
                           vValue = Left$(sValue, cch - 1)
                     Else
                           vValue = Empty
                     End If
                
                Case REG_DWORD:
                     lrc = RegQueryValueExLong(lhKey, szValueName, _
                           0&, lType, lValue, cch)
                     If lrc = ERROR_NONE Then vValue = lValue
                            
                Case Else
                     lrc = -1
                                    
                End Select
                    
                QueryValueEx = lrc
                    
        Exit Function
    
    Errore:
        MsgBox "Errore n. " & Err.Number & ": " & Err.Description
        
    End Function
    1. Inserisci nell'evento click del commandbutton il richiamo della sub che apre Internet Explorer:
    codice:
    Private Sub CommandButton_Click()
        ApriSito
    End Sub
    
    Sub ApriSito()
    
    On Error GoTo Errore
    
        Dim mioIndirizzo As String, mioBrowser As String
                    
        mioIndirizzo = "www.google.it"
        mioBrowser = CStr(QueryValue HKEY_CLASSES_ROOT, _
                     "http\shell\open\ddeexec\Application", ""))
            
        Dim miaPagWeb As Object
        Set miaPagWeb = CreateObject(mioBrowser & ".Application")
        miaPagWeb.Visible = True
        miaPagWeb.Navigate (mioIndirizzo)
                
      Exit Sub
            
    Errore:
        MsgBox "Errore n. " & Err.Number & ": " & Err.Description   
         
    End Sub

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  4. #4
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    :gren:
    se vuoi integrare il visualizzare le pagine web sul tuo form ,devi prima di tutto inserire l'oggetto "microsoft internet control" e poi mettere il codice giusto.

    codice:
    Dim MyIE As Object
    Dim miotesto as string    
    miotesto="www.cumpra.com"
    Set MyIE = CreateObject("internetexplorer.application")
        MyIE.Visible = True
        MyIE.Navigate (miotesto)

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    271
    Grazie ragazzi.

    Faccio qualche prova e vi faccio sapere.
    Signori si nasce! E io modestamente, lo nacqui!!!
    Totò

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    271
    Ho utilizzato il comando Shell come mi ha consigliato Ans e sembra che tutto funziona bene e ... con il minimo sforzo!!! :tongue:

    Volevo sapere se gli altri due metodi consigliati da LadyBlu e yyzyyz hanno qualche caratteristica particolare e se o perchè dovrebbe essere preferibile utilizzarli. :master:
    Signori si nasce! E io modestamente, lo nacqui!!!
    Totò

  7. #7
    Originariamente inviato da IKON
    Ho utilizzato il comando Shell come mi ha consigliato Ans e sembra che tutto funziona bene e ... con il minimo sforzo!!! :tongue:

    Volevo sapere se gli altri due metodi consigliati da LadyBlu e yyzyyz hanno qualche caratteristica particolare e se o perchè dovrebbe essere preferibile utilizzarli. :master:
    il metodo che ti ho suggerito io controlla il tipo di browser presente sul pc. Nella funzione Function QueryValue c'è un select case che esegue il controllo.
    In questo modo sia che ci sia Explorer che Netscape la pagina web viene aperta senza problemi.

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    271
    GIUSTO!!!!
    Interessante. Grazie
    Signori si nasce! E io modestamente, lo nacqui!!!
    Totò

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    se non vuoi avere problemi invece del comando Shell utilizza l'api ShellExecute che apre con il programma associato, quindi se uno non ha internet explorer ad esempio per le pagine html, queste saranno associate a netscape, quindi aprirà netscape. la differenza la puoi osservare provando ad aprire ad esempio un file .txt, con il comando Shell non funziona, con l'api ShellExecute te lo apre xchè utilizza il programma associato. Cmq puoi fare delle prove... puoi anche controllore il valore di ritorno di ShellExecute e così sapere se non esiste un programma associato, nel qualcaso basta che fai un
    Shell su "rundll32.exe shell32.dll,OpenAs_RunDLL " passando il nome del file e fai aprire la finistra Apri Con... facendo così scegliere il programma da utilizzare per aprire il file.
    Ans.

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    271
    Benissimo!!! Grazie ANS mi serviva aprire la finestra "Apri con..."
    mi hai anticipato :metallica
    Signori si nasce! E io modestamente, lo nacqui!!!
    Totò

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.