2009-04-05 5 views
8

Chaque fois que j'interagis avec dll comme le user32.dll j'ai besoin de constantes comme MF_REMOVE. Existe-t-il une vue d'ensemble de toutes ces constantes ou une bibliothèque C# qui constantes toutes ces constantes?Où puis-je trouver une liste de constantes de l'API Windows

+0

utilisation le SDK Windows si vous le pouvez! –

+0

où puis-je trouver ce Windows SDK pour winXP? –

Répondre

7

Vous trouverez toutes les constantes dans les en-têtes C de l'API win32. Le moyen low-tech d'obtenir cette information est d'exécuter simplement une recherche de texte dans le dossier headers de Visual Studio ou de la plate-forme SDK.
Ce sera généralement quelque chose comme:

C: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ include \

3

Je pense que vous trouverez tout ce que vous voulez sur les API là: http://pinvoke.net/

+0

Nous fournissons un complément à Visual Studio 2003 et 2005 J'ai vs 2008 et l'outil n'apparaissent pas dans mon VS – Tarion

3

Essayez le PInvoke Interop Assistant. Pour la plupart des constantes, tout ce que vous avez à faire est simplement d'entrer leur nom et il crachera le code C# ou VB.Net qui représente ces constantes.

L'outil n'est pas limité aux constantes. Il peut également aider avec les définitions de type, les fonctions et les pointeurs de fonction. Il peut également traduire la plupart des extraits de définition à la volée en code managé.

http://blogs.msdn.com/blogfiles/jaredpar/WindowsLiveWriter/MakingPInvokeEasy_E069/Pinvoke2_thumb.png

0

Cet outil en ligne MagnumDb comme "Magic Number Database" (disclaimer: je l'ai écrit) est un moteur de recherche totalement gratuit qui contient 99% de constantes SDK Windows.

Vous pouvez interroger par nom ou par valeur, en utilisant des caractères génériques, etc., par exemple: http://www.magnumdb.com/search?q=MF_REMOVE

vous obtiendrez ce (nom, type, valeur, valeur hexadécimale, l'emplacement du fichier d'en-tête SDK):

MF_REMOVE Int32 4096 0x00001000 %ProgramFiles(x86)%\Windows Kits\10\Include\10.0.16299.0\um\winuser.rh(1213,0) 
Questions connexes