Alle paar Monate muss ich Win32 von C # aufrufen. Obwohl ich es ein Dutzend Mal gemacht habe, habe ich normalerweise die genauen Machenschaften vergessen, also stöbere ich im Web oder im alten Code und finde heraus, welche DllImport-Anweisungen ich brauche, usw.
Bin ich allein?
Gibt es eine sanktionierte "Win32" -Klasse, die über die erforderlichen Deklarationen für die gesamte Win32-API verfügt? Scheint so, als müsste es sein. Vielleicht vermisse ich etwas.
Sie können Ссылка hilfreich finden.
Auch für allgemeine Win32-Funktionen können Sie versuchen, P / Aufruf des Interop-Assistenten .
Das klingt nach einer großartigen Idee für ein Open-Source-Projekt.
/ em setzt auf cap und läuft auf pinvoke.net
Die richtigen DllImport-Anweisungen zu erhalten ist einfach, wie jeder sagt, aber für eine einfache Handhabung verwende ich normalerweise die Win32-Funktionen, die ich in C # -Klassen brauche, und kompiliere sie in meine Core-Helper-Assembly. Beim nächsten Mal beziehe ich mich nur auf die Baugruppe. Wenn ich also eine Win32-Funktion brauche, ist es wahrscheinlich schon in meiner Hilfs-Lib, wenn ich sie nicht einfach hinzufüge.
Außerdem ordne ich die Rückkehrcodes Ausnahmen zu, d. h. wenn HResult ungleich Null ist, erzeuge ich eine Ausnahme, so dass meine C # -Apps nicht mehr über HResult- oder Rückgabecodes wissen müssen.
Sie können Reflektor verwenden und nach Win32Native suchen. Es hat eine Reihe von Definitionen, die Sie für PInvoking verwenden könnten.