IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Appel d'une fonction d'une DLL retourne 0


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 101
    Par défaut Appel d'une fonction d'une DLL retourne 0
    Bonjour,

    Voila je cherche à appeler des fonctions de DLL telle que user32, kernel32 en VBS. Seulement à chaque fois que j'appel une fonction celle ci me retourne 0.

    En m'inspirant d'un code trouvé sur internet, voici mon code qui me retourne 0:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim WShell
    Dim handle
     
    Set handle = 3
     
    Set WShell = CreateObject("WScript.Shell" ) 
    Set handle = WShell.Run ("RunDll32.exe kernel32.dll, GetTickCount" )
     
    MsgBox handle
    Merci de votre aide

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set handle = WShell.Run ("RunDll32.exe kernel32.dll, GetTickCount", true )

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 101
    Par défaut
    Citation Envoyé par ced600 Voir le message
    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set handle = WShell.Run ("RunDll32.exe kernel32.dll, GetTickCount", true )
    J'obtiens l'erreur "Objet requis: 'Run(...)'" sur cette ligne

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    heu, je ne t'ai mis que la ligne modifié, il faut reprendre le reste du script pour que cela fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim WShell
    Dim handle
     
    Set handle = 3
     
    Set WShell = CreateObject("WScript.Shell" ) 
    Set handle = WShell.Run ("RunDll32.exe kernel32.dll, GetTickCount", true )
     
    MsgBox handle
    Et comprends tu ce que j'ai fait ? A quoi sert le true ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 101
    Par défaut
    ouais nan toujours la même erreur en recopiant ton code!

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    ha oui j'avais pas vu.
    Le Set n'est utilisé que lorsque l'on récupère un objet lors de l'appel d'une fonction.
    Run renvois un nombre, donc il ne faut pas de Set.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim WShell
    Dim handle
     
    Set WShell = CreateObject("WScript.Shell" ) 
    handle = WShell.Run ("RunDll32.exe kernel32.dll, GetTickCount", true )
     
    MsgBox handle
    J'ai testé et cela marche.

Discussions similaires

  1. Appel d'une fonction dans une fonction d'une même classe
    Par script73 dans le forum Général Python
    Réponses: 3
    Dernier message: 06/03/2015, 10h18
  2. Réponses: 6
    Dernier message: 02/11/2011, 09h34
  3. getattr() ? Appel d'une fonction depuis une fonction
    Par frites.saucisse dans le forum Général Python
    Réponses: 8
    Dernier message: 10/10/2008, 14h21
  4. Appeler une fonction dans une fonction
    Par bryanstaubin dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 18/06/2007, 09h39
  5. Réponses: 4
    Dernier message: 17/03/2004, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo