
Dieses Projekt enthält verschiedene .NET -Baugruppen, die P/Invoke -Funktionen, Schnittstellen, Aufzüge und Strukturen aus Windows -Bibliotheken enthalten. Jede Baugruppe ist mit einer oder einigen eng verwandten Bibliotheken verbunden. Zum Beispiel hat Shlwapi.dll alle exportierten Funktionen von Shlwapi.lib; Kernel32.dll hat alle sowohl für kernel32.lib als auch für kernelbase.lib.
Alle Baugruppen sind über Nuget erhältlich und bieten Builds gegen .NET 4.5, 4.8, 5.0, 6.0, 7.0, 8.0, .NET Standard 2.0, Core 3.1 und Support Sourcelink. Erweiterungen sind für Winforms-, WPF- und UWP -Projekte erhältlich. Wenn Sie Unterstützung für andere .NET -Versionen benötigen, suchen Sie sich auf Versionen 3.3.15 und früher.
Dieses Projekt veröffentlicht alle paar Wochen nach ausreichenden Tests neue Versionen. Neue Releases werden im Abschnitt "Veröffentlichungen" zusammen mit Versionshinweise katalogisiert, und alle Nuget -Pakete werden auf nuget.org veröffentlicht. Jeder GitHub -Push löst einen Appveyor -Build aus. Die Eigentümer danken ihnen für das kostenlose Open-Source-Konto! Der Status dieses Builds befindet sich in der Header dieser Seite. Die Nuget-Pakete aus diesen Builds sind zu Testzwecken in der Nuget-Quelle von Appveyor unter https://ci.appveyor.com/nuget/vanara-prerelease verfügbar.
var bret = Vanara.PInvoke.Kernel32.GetComputerName(sb, ref sbSz); using static Vanara.PInvoke.Kernel32;
var bret = GetComputerName(sb, ref sbSz);
Vanara.PInvoke.Gdi32.dll hostet alle Funktionen und unterstützende Aufzählungen, Konstanten und Strukturen, die aus gdi32.dll im Systemverzeichnis exportiert werden.)Vanara.Core oder Vanara.PInvoke.Shared eingesetzt.HIWORD und die SIZE sind beide in Vanara.PInvoke.Shared und Klassen, um Interop -Anrufe zu vereinfachen, und die native Speicherverwaltung sind in Vanara.Core .)Vanara.PInvoke.Kernel32 finden Sie eine Fileapi.cs, eine WinBase.cs und eine Winnnt.cs -Datei, die Fileapi.h, Winbase.h und Winnt.h darstellt.)IDisposable implementiert.SafeHandle -Derivate verwandelt, die nach dem Windows -API -Griff benannt wurden. Wenn diese Griffe einen Aufruf an eine Funktion benötigen, um zu veröffentlichen/zu schließen/zu zerstören, gibt es einen abgeleiteten SafeHANDLE , der diese Funktion bei der Entsorgung ausführt.HTOKEN ist definiert. SafeHTOKEN baut auf diesem Griff mit einer automatisierten Release -Release auf, CloseHandle anruft.Vanara.PInvoke vorangestellten Versammlungen.in -Anweisung untergebracht, die die Struktur durch Referenz übergeben wird, ohne dass das ref -Schlüsselwort erforderlich ist.BOOL MapDialogRect(HWND hDlg, LPRECT lpRect)bool MapDialogRect(HWND hDlg, in RECT lpRect);Vanara vorangestellt sind, und dann von einem logischen Namen für die Funktionalität. Heute sind dies Kern-, Sicherheit, Systemservices, Windows.Forms und Windows.shell. | Bibliothek/DLL | Montage | Berichterstattung | Nuget Link |
|---|---|---|---|
| Aclui.dll | Vanara.pinvoke.aclui | ||
| handelt.dll | Vanara.pinvoke.activeds | ||
| advapi32.dll, Secur32.dll, authz.dll, sspicli.dll, schannel.dll, tdh.dll | Vanara.pinvoke.security | ||
| amsi.dll | Vanara.pinvoke.amsi | ||
| AVICAP32.DLL, AVIFIL32.DLL, MSACM32.DLL, MSVFW32.DLL, Winmm.dll | Vanara.pinvoke.multimedia | ||
| avrt.dll | Vanara.pinvoke.avrt | ||
| Kabinett.dll | Vanara.pinvoke.cabinet | ||
| Cfgmgr32.dll | Vanara.pinvoke.cfgmgr32 | ||
| cimfs.dll | Vanara.pinvoke.cimfs | ||
| Cldapi.dll | Vanara.pinvoke.cldapi | ||
| Clfsw32.dll | Vanara.pinvoke.clfsw32 | ||
| comctl32.dll | Vanara.pinvoke.comctl32 | ||
| Comdlg32.dll | Vanara.pinvoke.comdlg32 | ||
| Credui.dll | Vanara.pinvoke.credui | ||
| crypt32.dll, bcrypt.dll, ncrypt.dll, tokenbinding.dll, cryptui.dll, cryptnet.dll, Cryptdlg.dll | Vanara.pinvoke.cryptography | ||
| d2d1.dll | Vanara.pinvoke.direct2d | ||
| d3d11.dll, d3dcsx.dll, d3d11sdklayers.dll | Vanara.pinvoke.direct3d11 | ||
| D3d12.dll | Vanara.pinvoke.direct3d12 | ||
| d3dcompiler_47.dll | Vanara.pinvoke.d3dcompiler | ||
| Davclnt.dll | Vanara.pinvoke.davclnt | ||
| DbgHelp.dll, Imagehlp.dll | Vanara.pinvoke.dbghelp | ||
| Dhcpcsvc6.dll, dhcpcsvc.dll | Vanara.pinvoke.dhcp | ||
| Dnsapi.dll | Vanara.pinvoke.dnsapi | ||
| dosvc.dll | Vanara.pinvoke.dosvc | ||
| drt.dll, drtprov.dll, drttransport.dll | Vanara.pinvoke.drt | ||
| dstorage.dll | Vanara.pinvoke.dstorage | ||
| dwmapi.dll | Vanara.pinvoke.dwmapi | ||
| dwrite.dll | Vanara.pinvoke.dwrite | ||
| dxcore.dll | Vanara.pinvoke.dxcore | ||
| dxgi.dll | Vanara.pinvoke.dxgi | ||
| Ehstorapi.dll | Vanara.pinvoke.EnhancedStorage | ||
| elscore.dll | Vanara.pinvoke.elscore | ||
| fhsvcctl.dll | Vanara.pinvoke.fhsvcctl | ||
| Firewallapi.dll | Vanara.pinvoke.firewallapi | ||
| fundisc.dll | Vanara.pinvoke.fundisc | ||
| fwpuclnt.dll | Vanara.pinvoke.fwpuclnt | ||
| GDI32.dll | Vanara.pinvoke.gdi32 | ||
| httpapi.dll | Vanara.pinvoke.httpapi | ||
| IMAPI2.DLL, IMAPI2FS.DLL | Vanara.pinvoke.imapi | ||
| Imm32.dll | Vanara.pinvoke.imm32 | ||
| iPhlpapi.dll | Vanara.pinvoke.iphlpapi | ||
| Iscsidsc.dll | Vanara.pinvoke.iscsidsc | ||
| kernel32.dll, kernelbase.dll, Normaliz.dll, vertdll.dll | Vanara.pinvoke.kernel32 | ||
| ktmw32.dll | Vanara.pinvoke.ktmw32 | ||
| Lz32.dll | Vanara.pinvoke.lz32 | ||
| Vergrößerung.dll | Vanara.pinvoke.Magnification | ||
| mmdevapi.dll | Vanara.pinvoke.coreaudio | ||
| mpr.dll | Vanara.pinvoke.mpr | ||
| msctf.dll, input.dll, msiMtf.dll | Vanara.pinvoke.textservicesframework | ||
| msftedit.dll, Riched20.dll | Vanara.pinvoke.msftedit | ||
| MSI.DLL | Vanara.pinvoke.msi | ||
| msrdc.dll | Vanara.pinvoke.msrdc | ||
| ndfapi.dll | Vanara.pinvoke.ndfapi | ||
| netapi32.dll | Vanara.pinvoke.netapi32 | ||
| netprofm.dll | Vanara.pinvoke.netlistmgr | ||
| Newdev.dll | Vanara.pinvoke.newdev | ||
| ntdll.dll | Vanara.pinvoke.ntdll | ||
| ntdsapi.dll | Vanara.pinvoke.ntdsapi | ||
| ODBC32.dll | Vanara.pinvoke.odbc32 | ||
| Ole32.dll, oleaut32.dll, propsys.dll | Vanara.pinvoke.ole | ||
| OleAcc.dll | Vanara.pinvoke.Accessibility | ||
| oledb.dll | Vanara.pinvoke.oledb | ||
| Oledlg.dll | Vanara.pinvoke.oledlg | ||
| opcServices.dll | Vanara.pinvoke.opc | ||
| P2p.dll | Vanara.pinvoke.p2p | ||
| pdh.dll | Vanara.pinvoke.pdh | ||
| Peerdist.dll | Vanara.pinvoke.peerdist | ||
| photoacq.dll | Vanara.pinvoke.photoacquire | ||
| portabledEviceapi.dll, portabledableDeviceConnectapi.dll, portabledEvicetypes.dll | Vanara.pinvoke.portabledeviceapi | ||
| powrprof.dll | Vanara.pinvoke.powrprof | ||
| Projectedfslib.dll | Vanara.pinvoke.projecedfslib | ||
| qmgr.dll | Vanara.pinvoke.bits | ||
| qwave.dll, trat.dll | Vanara.pinvoke.qos | ||
| rpcrt4.dll | Vanara.pinvoke.rpc | ||
| Rstrtmgr.dll | Vanara.pinvoke.rstrtmgr | ||
| Searchapi | Vanara.pinvoke.searchapi | ||
| Sensorsapi.dll | Vanara.Pinvoke.Sensorsapi | ||
| Setupapi.dll | Vanara.pinvoke.setupapi | ||
| Shcore.dll | Vanara.pinvoke.shcore | ||
| Shell32.dll, url.dll | Vanara.pinvoke.shell32 | ||
| Shlwapi.dll | Vanara.pinvoke.slwapi | ||
| taskschd.dll, mstask.dll | Vanara.pinvoke.taskschd | ||
| uianimation.dll | Vanara.pinvoke.uianimation | ||
| UIAUTOMATIONCORE.DLL | Vanara.pinvoke.uiautomation | ||
| Urlmon.dll | Vanara.pinvoke.urlmon | ||
| user32.dll | Vanara.pinvoke.user32 | ||
| UserEnv.dll | Vanara.pinvoke.userenV | ||
| USP10.dll | Vanara.pinvoke.ussp10 | ||
| uxtheme.dll | Vanara.pinvoke.uxtheme | ||
| Version.dll | Vanara.pinvoke.version | ||
| virtDisk.dll | Vanara.pinvoke.virtdisk | ||
| vssapi.dll | Vanara.pinvoke.vssapi | ||
| Wcmapi.dll | Vanara.pinvoke.wcmapi | ||
| wcnapi.dll | Vanara.pinvoke.wcnapi | ||
| Websocket.dll | Vanara.pinvoke.websocket | ||
| Wer.dll | Vanara.pinvoke.wir | ||
| Winbio.dll | Vanara.pinvoke.winbio | ||
| winHttp.dll | Vanara.pinvoke.winhttp | ||
| wininet.dll | Vanara.pinvoke.wininet | ||
| winscard.dll | Vanara.pinvoke.winscard | ||
| Winspool.drv, prntvpt.dll | Vanara.pinvoke.printing | ||
| wintrust.dll | Vanara.pinvoke.winTrust | ||
| Wlanapi.dll, wlanui.dll | Vanara.pinvoke.wlanapi | ||
| WS2_32.dll | Vanara.pinvoke.ws2_32 | ||
| wscapi.dll | Vanara.pinvoke.wscapi | ||
| Wslapi.dll | Vanara.pinvoke.wslapi | ||
| Wsmsvc.dll | Vanara.pinvoke.wsmsvc | ||
| Wtsapi32.dll | Vanara.pinvoke.wtsapi32 | ||
| wuapi.dll | Vanara.pinvoke.wuapi |
| Montage | Nuget Link | Beschreibung |
|---|---|---|
| Vanara.bits | Vollständige .NET -Abdeckung der Windows Bits -Funktionalität (Hintergrund intelligenter Transferdienst). Bietet Zugriff auf alle Bibliotheksfunktionen über Windows 11 und scheitert anmutig, wenn in älteren Betriebssystemversionen neue Funktionen nicht verfügbar sind. | |
| Vanara.core | Diese Bibliothek umfasst gemeinsame Methoden, Strukturen und Konstanten für die Verwendung in den Vanara -Versammlungen. Betrachten Sie es als Windows.h mit einigen nützlichen Erweiterungen. Es enthält:
| |
| Vanara.DirectoryServices | Wrapper-Klassen rund um Win32-Anzeigenmethoden und Schnittstellen, um vereinfachte und objektorientierte Zugriff auf Active Directory- und andere Verzeichnisdienstanrufe zu ermöglichen. | |
| Vanara.management | Erweiterungen und Helferklassen für System.management. | |
| Vanara.net | Abstrahierte Klassen rund um Win32-Netzwerkfunktionen, um vereinfachte und objektorientierte Zugriff auf wichtige Netzwerkfunktionen wie DNS, DHCP, Filterung, Zugriff und Entdeckung zu gewährleisten. | |
| Vanara.pinvoke.directx | Pinvoke -API (Methoden, Schnittstellen, Strukturen und Konstanten) aus DirectX importiert. | |
| Vanara.pinvoke.shared | Gemeinsame Methoden, Strukturen und Konstanten für die Verwendung in den Versammlungen von Vanara.Pinvoke. Beinhaltet:
| |
| Vanara.pinvoke.spellCheckingapi | Pinvoke -API (Methoden, Strukturen und Konstanten), die aus der Windows -Zaubersprüche -API importiert wurden. | |
| Vanara.Security | Klassen für Sicherheitsbezogene Elemente, die aus den Vanara Pinvoke -Bibliotheken abgeleitet sind. Enthält Erweiterungsmethoden für Active Directory- und Zugriffskontrollklassen, Methoden für die Arbeit mit Konten, UAC, Berechtigungen, Systemzugriff, Identitätswechsel und SIDS sowie eine vollständige LSA -Wrapper. | |
| Vanara.SystemServices | Klassen für systembezogene Elemente, die aus den Vanara Pinvoke -Bibliotheken abgeleitet sind. Enthält Erweiterungen für den Prozess (Berechtigungen und Elavationen), FileInfo (Komprimierungsinformationen), freigegebene Netzwerkantriebe und -geräte sowie ServicEcontroller (setStartType), die erweiterte Informationen durch native API -Anrufe ziehen. | |
| Vanara.virtualDisk | .NET -Klassen zum Verwalten von Windows Virtual Storage (VHD und VHDX) mithilfe von P/Invoke -Funktionen von virtDisk.dll. | |
| Vanara.windows.extensions | Erweiterungsmethoden und -konvertierungen von Vanara P/Invoke -Typen und -Methoden zu Windows -Formulierungen und Methoden. | |
| Vanara.windows.forms | Klassen für Benutzeroberflächenbezogene Elemente, die aus den Vanara Pinvoke -Bibliotheken abgeleitet wurden. Enthält Erweiterungen für nahezu alle gängigen Steuerelemente, um Post -Vista -Funktionen, WinForms -Steuerelemente (Panel, CommandLink, erweiterte Kombinationsfelder, iPaddress, Split -Taste, TrackBar und Themensteuerungen), Stillstellen/Neustart/Sperrsteuerung, gepufferte Malerei, Ressourcendateien, Zugriffskontrolleditors, Simplifed Designer -Framework für Windows.formen zu ermöglichen. | |
| Vanara.windows.shell.common | Gemeinsame Klassen für Windows -Shell -Elemente, die aus den Vanara Pinvoke -Bibliotheken abgeleitet wurden. Enthält Shellelemente, Dateien, Symbole, Links und Taskleistenlisten. | |
| Vanara.windows.shell | Klassen für Windows -Shell -Elemente, die aus den Vanara Pinvoke -Bibliotheken abgeleitet sind. Enthält Shellelemente, Dateien, Symbole, Links und Taskleistenlisten. | |
| Vanara.winui.extensions | Erweiterungsmethoden und -konvertierungen von Vanara P/Invoke -Typen und -Methoden zu UWP- und Winui -Typen und -Methoden. | |
| Vanara.wpf.extensions | Erweiterungsmethoden und -konvertierungen von Vanara P/Invoke -Typen und -Methoden zu WPF -Typen und -Methoden. |
Es gibt zahlreiche Beispiele im nichttesten Ordner und im WinClassicplesCsCS -Projekt, in dem die Windows -Samples in C# mit Vanara nachgebaut werden.