Mi servirebbe fare un programma che apra il file passato come parametro, qualsiasi esso sia, con il corrispettivo programma (tipo i doc con word, gli htm con IE...)
Avete qualche idea?
E dal dos è possibile?
Grazie in anticipo!
Mi servirebbe fare un programma che apra il file passato come parametro, qualsiasi esso sia, con il corrispettivo programma (tipo i doc con word, gli htm con IE...)
Avete qualche idea?
E dal dos è possibile?
Grazie in anticipo!
e per avviare un file .pif dal dos?
Ciao.
Con quale linguaggio devi farlo ?
Comunque esiste una Win32 API che fa al caso tuo.
La funzione si chiama ShellExecuteEx. Questa accetta come
unico argomento, una struttura SHELLEXECUTEINFO che deve essere
inizializzata prima della chiamata alla funzione.
Suppondendo che tu debba usare VB, eccoti un po' di codice:
Const SEE_MASK_INVOKEIDLIST = &HC
Const SEE_MASK_NOCLOSEPROCESS = &H40
Const SEE_MASK_FLAG_NO_UI = &H400
Private Type SHELLEXECUTEINFO
cbSize As Long
fMask As Long
hwnd As Long
lpVerb As String
lpFile As String
lpParameters As String
lpDirectory As String
nShow As Long
hInstApp As Long
lpIDList As Long
lpClass As String
hkeyClass As Long
dwHotKey As Long
hIcon As Long
hProcess As Long
End Type
Private Declare Function ShellExecuteEx Lib "shell32.dll" (SEI As SHELLEXECUTEINFO) As Long
Private Sub Form_Load()
Dim SEI As SHELLEXECUTEINFO
With SEI
' Inizializzo la struttura SHELLEXECUTEINFO
.cbSize = Len(SEI) ' dimensioni struttura
.fMask = SEE_MASK_NOCLOSEPROCESS Or SEE_MASK_INVOKEIDLIST Or SEE_MASK_FLAG_NO_UI
.hwnd = Me.hwnd ' puoi fare anche 0&
.lpVerb = "open" ' Operazione da eseguire (Open per aprire)
.lpFile = "C:\Windows\Nuvole.bmp" ' File da aprire
.lpParameters = vbNullChar
.lpDirectory = vbNullChar
.nShow = 0
.hInstApp = 0
.lpIDList = 0
End With
ShellExecuteEx SEI
End Sub
Come vedi, il Form_Load popola la struttura con tutte le informazioni necessarie.
Quelle + importanti sono:
- cbSize a cui devi assegnare le dimensioni della struttura.
- lpVerb: corrisponde all'operazione da eseguire sul file.
Ad esempio, Open apre il file, Print lo stampa, Edit per modificarlo, Properties per aprire la finestra di dialogo "Proprietà" del file... sono tutte quelle operazioni associate ad ogni estensione di file e possono variare da estensione a estensione.
La cosa + importante è che comunque, Windows esegue il programma predefinito per quel tipo di operazione su quel tipo di file.
- lpFile: il percorso del file su cui eseguire l'operazione.
il linguaggio è il C/C++, comunque grazie infinite!
ancora non la ho provata: devo documentarmi bene a riguardo (e con il C) ma credo proprio che faccia al caso mio.
Grazie. Ciao