Header Dateien in C# einbinden
-
Hallo zusammen,
gibt es eine Möglichkeit, in ein c# Projekt auch Header-Dateien einzubinden?
Würde gerne was mit wpbcab und libdnet machen...
-
Dafür gibt es das Attribut "DllImport".
Hier mal ein Beispiel für einen WinAPI-Aufruf:#region Win32 api import [DllImport("user32.dll")] private static extern int SendMessage (IntPtr hWnd, int wMsg, IntPtr wParam, int lParam); #endregion static public void VScroll(IntPtr hWnd, bool bUp) { const int WM_VSCROLL = 0x115; const int SB_LINEDOWN = 0; const int SB_LINEUP = 1; SendMessage(hWnd, WM_VSCROLL, (IntPtr)(bUp? SB_LINEUP : SB_LINEDOWN), 0); }
-
sorry, versteh leider nicht wie ich das auf eine blabla.h Datei anwenden soll.
Ich möchte mit WinPCab IP Pakete "auffangen", um WinPCab benutzen zu können, muss ich aber denn mitgelieferten Header einbinden.
Das ist keine .DLL
-
Originalhanno schrieb:
Das ist keine .DLL
muss es aber sein. oder halt gleich c++/cli benutzen da geht das ohne dll
-
Du hast im Großen und Ganzen nur die Möglichkeit die .h Dateien nach C# zu "konvertieren" (und das bedeutet, Konstanten als solche umzuwandeln und Funktionen mit diesem DllImport auf eine Bibliothek zu binden). Da WinPCap sicherlich nicht nur aus Headern, sondern auch aus Code besteht, müsstest Du nur eben jenen als DLL binden (und ich kann mir kaum vorstellen dass die Entwickler das nicht sogar vorgesehen haben).