API présentes sur Xp mais pas NT ? Quelle déclaration faire ?

Résolu
Signaler
Messages postés
241
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
19 février 2006
-
Messages postés
100
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
19 septembre 2005
-
Certaines API sont présentes sur Xp mais pas NT.
Lors de la déclaration d'une API comment peut on faire un test (ou mettre une condition) si l'API n'est pas présente sur le PC ?

5 réponses

Messages postés
241
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
19 février 2006
2
Voici un exemple :

Public Function APICompatible(APIName As String, Library As String) As Boolean
Dim LibraryAdresse As Long

LibraryAdresse = GetProcAddress(LoadLibrary(Library), APIName)


If LibraryAdresse 0 Then APICompatible False
If LibraryAdresse <> 0 Then APICompatible = True
End Function



Merci pour ton aide
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Soit tu verifies le systeme avec GetVersionEx(), soit LoadLibrary() suivi de GetProcAddress() pour savoir si le pointd'entree de la fonction existe.

ciao...
BruNews, MVP VC++
Messages postés
100
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
19 septembre 2005
1
Heu question bête, mais lorsque l'on fait une installation avec VB, on est pas censé avoir nos api qui se retrouvent dans l'install?
Messages postés
241
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
19 février 2006
2
Douns, je ne comprends pas le sens de ta question : "installation avec VB" ?
Les API sont contenues dans les DLL. La pluspart des API que nous utilisons sont fournies par Windows (user32, kernel32, gdi32...) dans le dossier système. Maintenant, lorsque tu génères un .exe, toutes les librairies associées sont sont pas incluses dans la compilation .exe. C'est pour cette raison que certains programmes ne tournent pas sous NT...

Tu as soulevé une bonne question : peut on inclure les API lors de la compilation en .exe ?
Messages postés
100
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
19 septembre 2005
1
mais tu peux faire une installation en passant par le programme d'assistant d'installation.

Et oui, on peut les inclure il éxiste des programes pour cela. Il me semble que l'un s'appelle vbrap.