Guten Abend,
wie der Titel schon sagt habe ich einige Probleme mit der Verwendung einer nativen DLL in C#. Weil mir der ganze Interop Aufwand bei WinApi zu viel ist,habe ich mir dazu eine C++ DLL geschrieben,die die nötigen Funktionen enthält.
Mein Problem ist,dass ich ne
Hier die Methoden Definitionen.
Verwendung in C#
wie der Titel schon sagt habe ich einige Probleme mit der Verwendung einer nativen DLL in C#. Weil mir der ganze Interop Aufwand bei WinApi zu viel ist,habe ich mir dazu eine C++ DLL geschrieben,die die nötigen Funktionen enthält.
Mein Problem ist,dass ich ne
System.EntryPointNotFoundException
geworfen bekomme.Hier die Methoden Definitionen.
Verwendung in C#
C#-Quellcode
- [DllImport("USB Helper.dll", CallingConvention = CallingConvention.Cdecl)]
- static extern bool UnregisterHwnd(IntPtr hDeviceNotify);
- [DllImport("USB Helper.dll",CallingConvention = CallingConvention.Cdecl)]
- static extern bool RegisterDeviceToHwnd(IntPtr hwnd, IntPtr hDeviceNotify);
- private void frmSynchron_Load(object sender, EventArgs e)
- {
- IntPtr hDeviceNotify = IntPtr.Zero;
- if (RegisterDeviceToHwnd(this.Handle, hDeviceNotify)) //Hier tritt die Exception auf
- {
- MessageBox.Show("Sucess!");
- }
- }
- protected override void WndProc(ref Message m)
- {
- switch (m.Msg)
- {
- case WM_DEVICECHANGE:
- {
- if((int)m.WParam == DBT_DEVNODES_CHANGED)
- {
- MessageBox.Show("New Device LOL");
- break;
- }
- break;
- }
- }
- base.WndProc(ref m);
- }