Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Example for ShellExecuteEx
Message
De
18/07/2003 08:35:34
 
Information générale
Forum:
Visual Basic
Catégorie:
Fonctions API de Windows
Divers
Thread ID:
00811220
Message ID:
00811445
Vues:
15
Here is the function I use. Since all but the first parameter have defaults, you only really need to call it with the name (and path if necessary) of the file to run.
Function ExecShell(tcFileName, tcParams, tcDir, tnShow, tcOperation, tnHWnd)
LOCAL lnRetVal, lnParams

lnParams = PCount()
lnRetVal = 0

IF lnParams < 6
   tnHWnd = 0               && no parent window
ENDIF
IF lnParams < 5
   tcOperation = 'open'     && default command to 'open application'
ENDIF
IF lnParams < 4	            && default window to 'normal'
   tnShow = 5
ENDIF
IF lnParams < 3
   tcDir = ''               && do not chage current directory
ENDIF
IF lnParams < 2
   tcParams = ''            && there are no parameters for the program to run
ENDIF

IF !EMPTY(tcFileName)   && no file to run? Do nothing.
   * declare the shellexecute function to launch app
   DECLARE INTEGER ShellExecute in shell32.dll ;
      INTEGER hwnd, STRING @lpOperation, STRING @lpFile, STRING @lpParam, ;
       STRING @lpDir, INTEGER nShowCmd

   DO CASE
      CASE EMPTY(tcDir) AND EMPTY(tcParams)   && don't change dir and no parameters
         lnRetVal = ShellExecute(tnHWnd, @tcOperation, @tcFileName, .NULL., .NULL., tnShow)

      CASE EMPTY(tcDir) AND !EMPTY(tcParams)  && don't change dir, but there are parameters
         lnRetVal = ShellExecute(tnHWnd, @tcOperation, @tcFileName, @tcParams, .NULL., tnShow)

      CASE EMPTY(tcParams) AND !EMPTY(tcDir)   && no parameters, change directory
         lnRetVal = ShellExecute(tnHWnd, @tcOperation, @tcFileName, .NULL., @tcDir, tnShow)

      OTHERWISE
         lnRetVal = ShellExecute(tnHWnd, @tcOperation, @tcFileName, @tcParams, @tcDir, tnShow)

   ENDCASE
ENDIF

RETURN lnRetVal
Alan

>Hi!,
>
>I'm trying to make a program that executes files, but I can't find a clear example for the API ShellExecuteEx
>
>Can somebody send me a clear example?
>
>Thanks in advance!!
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform