WinAPI Control in C# einbinden



  • Hallo
    Ich habe in C++ und WinAPI ein Control programmiert, welches ich nun
    in C# importieren will um einen Wrapper drumrumzubauen. Dazu habe ich
    es in eine DLL gepackt und in der DLL Main die Klasse registrieren
    lassen. Bei SUCCEEDED soll eine MessageBox kommen. Nun habe ich das
    control in C# so eingebaut.

    namespace HPICEC.Wrapper
    {
     public class Wrapper: Control
     {
      [DllImport("kernel32.dll")] private static extern int
    LoadLibrary(string
       lpLibFileName);
    
      static Wrapper()
      {
       LoadLibrary("HPICEC_Wrapper.dll");
      }
    
      protected override System.Windows.Forms.CreateParams CreateParams
      {
       get
       {
        System.Windows.Forms.CreateParams cparams = base.CreateParams;
        cparams.ClassName = "hbc_c1_textarea";
        return cparams;
       }
      } 
     }
    }
    

    Ich bekomme die erwünschte MessageBox, die klasse wurde registriert, doch
    sofort danach kommt die hässliche fehlermeldung, er habe die
    Fensterklasse nicht gefunden. Was mache ich falsch ? In C++ geht es
    wunderbar wenn ich die DLL einbinde. Besteht ein
    Kompatibilitätsproblem wenn ich die Fensterklasse aus der unmanaged
    DLL in C# einbinden will ?
    Danke schonmal
    Hanno



  • Mach aus deinem Control ein ActiveX. das kann .NET voll automatisch einbinden.



  • Wie gut, dass ich weiß, wie sowas geht 🙄 🙄 🙄
    Es muss doch auch über mein jetziges gehehen 😞
    Gruß
    Hanno


Anmelden zum Antworten