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

Résolu
cs_salazar Messages postés 241 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 19 février 2006 - 18 janv. 2005 à 15:06
cs_Douns Messages postés 100 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 19 septembre 2005 - 18 janv. 2005 à 16:29
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 ?
A voir également:

5 réponses

cs_salazar Messages postés 241 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 19 février 2006 2
18 janv. 2005 à 15:59
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
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
18 janv. 2005 à 15:33
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++
0
cs_Douns Messages postés 100 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 19 septembre 2005 1
18 janv. 2005 à 15:49
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?
0
cs_salazar Messages postés 241 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 19 février 2006 2
18 janv. 2005 à 16:11
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 ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Douns Messages postés 100 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 19 septembre 2005 1
18 janv. 2005 à 16:29
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.
0
Rejoignez-nous