[C++/C#]DllImport met HWND CallbackWin

Pagina: 1
Acties:

  • JvdS
  • Registratie: December 2003
  • Laatst online: 09-04 13:09
Om een C++ API te kunnen gebruiken in m'n C# project, gebruik ik DllImport om een functie uit de C++ dll aan te roepen:
code:
1
2
[DllImport("fldtts.dll")]
        public static extern void FLD_Say(object obj, string data);


Vervolgens voer ik de functie uit met:
code:
1
Fluency.FLD_Say(null, "test");


In de documentatie van de API staat:
UINT WINAPI
FLD_Say(HWND CallbackWin, LPSTR Data);

Arguments:

CallbackWin handle of window that processes notifications (may be NULL)
Data null-terminated string with text input for TTS (ANSI-text)
Probleem is nu dat er niets gebeurt. M'n form komt niet eens in beeld.
Ik weet niet hoe ik die CallBackWin handle opvang in m'n C# programma.

  • CyBoB
  • Registratie: Januari 2001
  • Laatst online: 24-12-2025

CyBoB

.::BURB::.

Die "HWND CallbackWin"parameter moet je in C# defineren als IntPtr. bij de functieaanroep kan je dan this.Handle meegeven.

Als ik het verder goed begrijp wordt er dus een notification naar dat betreffende window gestuurd. Deze zou je kunnen opvangen door in je window de WndProc te overriden en daar de message op te vangen.

[ Voor 6% gewijzigd door CyBoB op 14-02-2006 15:24 ]


  • JvdS
  • Registratie: December 2003
  • Laatst online: 09-04 13:09
CyBoB schreef op dinsdag 14 februari 2006 @ 15:21:
Die "HWND CallbackWin"parameter moet je in C# defineren als IntPtr. bij de functieaanroep kan je dan this.Handle meegeven.
Bedankt, dit werkt idd!
Als ik het verder goed begrijp wordt er dus een notification naar dat betreffende window gestuurd. Deze zou je kunnen opvangen door in je window de WndProc te overriden en daar de message op te vangen.
Bedankt voor de goede uitleg!