Apertura file con vb

giovedì 29 aprile 2010 - 21.27

kemper Profilo | Newbie

Ho già aperto un thread su questo argomento ma la risposta purtroppo nn mi è stata di aiuto. sto facendo un programmino in vb e vorrei che cliccando su un tasto si aprisse un file(audio o video o una foto) ma nn direttamente da vb ma dal suo programma. esempio clicco e si apre un video contenuto nella dir c:\video\video1.avi e che si apra ad esempio con bsplayer. esattamente tanto per capirci come se ci facessi doppio clic sopra. qualcuno mi scriverebbe il codice? perchè nn riesco proprio
grazie

carloalberto Profilo | Junior Member

prova con :

'----in un modulo metti
Option Explicit
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
Global Const SW_SHOWNORMAL = 1
'---------------------------------

' nella form su un bottone
Private Sub cmdConnect_Click()
On Error GoTo cmdConnect_Click_Error
Dim StartDoc As Long
StartDoc = ShellExecute(Me.Hwnd, "open", "GFCLI.zip", "", "C:\", SW_SHOWNORMAL)
Exit Sub
cmdConnect_Click_Error:
MsgBox "Error: " & Err & " " & Error
Exit Sub
End Sub

-----------------------------
ciao

kemper Profilo | Newbie

e dove specifico quale file aprire?

angelotv Profilo | Guru

l'argomento lpFile della funzione ShellExecute specifica il file da aprire (l'argomento lpDirectory specifica la cartella in cui questo file si trova)
nell'esempio hai GFCLI.zip e C:\

by Angelo

carloalberto Profilo | Junior Member

>l'argomento lpFile della funzione ShellExecute specifica il file
>da aprire (l'argomento lpDirectory specifica la cartella in cui
>questo file si trova)
>nell'esempio hai GFCLI.zip e C:\

Grazie angelo, ... :-) nell'esempio ti verra aperto il programma di unzip predefinito ....

angelotv Profilo | Guru

era facilmente intuibile! Io consiglio IZARK (Gratuito e liberamente scaricabile, anche dal mio sito www.angelopasetto.it).
by Angelo

kemper Profilo | Newbie

però mi da un errore nella option mi dice "doponend sub,end function end property sono ammessi solo commenti"....nn capisco

carloalberto Profilo | Junior Member

>però mi da un errore nella option mi dice "doponend sub,end function
>end property sono ammessi solo commenti"....nn capisco

:-) devi pulire l'esempio , non fare un copia e incolla senza analizzare cio che ho scritto ..

la prima parte va in un mudulo (copia da '----inizio a '-----fine)
la seconda parte invece la devi mettere su un bottone che si chiama cmdConnect copia da (copia da '----inizio2 a '-----fine2)
poi nella seconda parte devi impostare i parametri cosi come detto nelle risposte sopra
ciao


'prima parte
'----inizio
Option Explicit
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
Global Const SW_SHOWNORMAL = 1
'----fine

'seconda parte
'----inizio2
Private Sub cmdConnect_Click()
On Error GoTo cmdConnect_Click_Error
Dim StartDoc As Long
StartDoc = ShellExecute(Me.Hwnd, "open", "GFCLI.zip", "", "C:\", SW_SHOWNORMAL)
Exit Sub
cmdConnect_Click_Error:
MsgBox "Error: "
Exit Sub
End Sub
'----fine2

kemper Profilo | Newbie

ma è quello che ho fatto ovviamente :) sembra che mi dia l'errore nell'option

carloalberto Profilo | Junior Member

ok... hai messo il tutto in un modulo bas nuovo e la option è la prima riga ?

kemper Profilo | Newbie

credo di aver risolto così:
dim percorso as string

percorso="c:/file.avi"
shell "c:/programmi/windows media player/wmplayer.exe" & "" & percorso & """
che dici?

carloalberto Profilo | Junior Member

>credo di aver risolto così:
>dim percorso as string
>
>percorso="c:/file.avi"
>shell "c:/programmi/windows media player/wmplayer.exe" & "" &
>percorso & """
>che dici?
che non è quanto ci avevi richiesto ... ovvero in questa maniera se l'utente usa un player diverso da wmplayer ... non lo fai contento e lo costringi ad usare quello di win
...
a funzionare funziona :-)

kemper Profilo | Newbie

hai ragione...ma il probla è che nn riesco a farlo andare come hai scritto...mi da ancora quell'errore...idee?

carloalberto Profilo | Junior Member

fai un progettino di esempio di come hai 'riscritto' il codice , e postalo... magari risolviamo...

kemper Profilo | Newbie

stasera lo posto allora

kemper Profilo | Newbie

ce l'ho fatta!grazie! ho risolto così...l'option l'ho lascuata come hai fatto tu ma nella sub ho scritto semplicemente : shellexecute hwnd,"open","c:/prova.mp3",vbnullstring, vbnullstring, sw_normal
ora però ci sono due piccole cose che nn capisco
1-per far si che il file parta devo cliccare due volte...perchè?
2-come si fa per restituire un eRrore quando nn trova il file?
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5