Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Esiste una sorta di exec...() per windows?

    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!


  2. #2
    e per avviare un file .pif dal dos?

  3. #3
    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.

  4. #4

    ShellExecuteEx

    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


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 © 2024 vBulletin Solutions, Inc. All rights reserved.