Frage

Es gibt viele Win32 API Anrufe / Bibliotheken wie Kernel32 oder Shell32, die nützlich sein können, von denen er anrufen kann C#. Eine gemeinsame Methode, um sie zu verwenden pinvoke.net Website und Verwendung der DLLImport -Definition von dort.

Dieser Vorgang ist für jede Methode erforderlich, die Sie anwenden möchten.

Gibt es Baugruppen, die gemeinsam / die meisten enthalten? [DllImport]ED API Funktionen?

Ich suche etwas, das ich direkt von C# verwenden kann (als Referenz), daher muss ich nicht alle möglichen Dllimport -Aussagen selbst sammeln und selbst kombinieren (mit dem Risiko von Fehlern).

War es hilfreich?

Lösung

Da ich weiß, gibt es kein weithin bekanntes Bündel von Code, das die Windows -API für .NET einwickelt. Ich könnte sehen, dass es unter bestimmten Umständen nützlich ist. In den meisten Fällen sollten Sie sich möglicherweise fragen, ob Sie das .NET -Framework ordnungsgemäß verwenden oder nicht, wenn Sie so viel von der nativen Windows -API verwenden müssen oder nicht, und/oder warum überhaupt .NET verwenden?

Unabhängig von der obigen Meinung finden Sie eine ziemlich umfassende Quelle der Definitionen bei http://pinvoke.net/.

Andere Tipps

Sie sollten finden Hier bei Pinvoke.net Wonach suchen Sie. Es gibt tatsächlich nichts mehr "hinter den Kulissen", das in C# Quellcode versendet werden könnte als einfache DLL -Importklauseln.

So funktioniert es nicht, sondern nur die [dllimport] -serklärung in Ihrem c# Code. So wie Sie sie auf Pinvoke.net oder einem Tool wie dem P/Invoke -Interop -Assistenten finden würden. Wenn Sie herausfinden, wie Sie die API -Funktion tatsächlich verwenden, müssen Sie den C- oder C ++ - Code untersuchen. Und im Allgemeinen verstehen, wie die Windows -API funktioniert.

Der beste Ort, um damit zu beginnen, ist Petzolds wegweisendes Buch "Programmierfenster". In der Windows SDK -Dokumentation und den vielen Beispielen, die in der Vollversion des SDK enthalten sind, finden Sie Quellcode -Beispiele in C/C ++. Und das Web natürlich nur durch die Suche nach dem Funktionsnamen. Etwas ironischerweise beginnt die Anzahl der Beispiele, die Sie heutzutage im Internet finden, die in einer verwalteten Sprache geschrieben sind, die C/C ++-Beispiele. Achten Sie auf VB6 -Deklarationen (Declare Keyword), ebenfalls verfügbar, seine Typen sind nicht mit .NET kompatibel.

Websites wie Codeplex.com und CodeProject.com sind ein guter Ort, um Bibliotheken mit verwalteten Klassenverpackungen für native API -Anrufe zu finden. Normalerweise würden Sie die Bibliothek einfach verwenden.

Last but not least ist stackoverflow.com eine hervorragende Ressource;)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top