visual tiempo studio puede por formulario eventos evento ejecucion crear controles controlador codigo botones boton agregar c# events interop

tiempo - eventos de un formulario c#



Creando eventos Win32 desde c# (2)

Eche un vistazo a la clase EventWaitHandle . Es compatible con .Net 2.0 en adelante y permite la creación de eventos con nombre. También es compatible con la configuración de seguridad de eventos, dependiendo del constructor que use.

Me gustaría crear un núcleo (también conocido como eventos nombrados) de C #.

¿Tengo que interoperar con servicios y ajustar la función CreateEvent nativa o ya existe una clase .NET que hace el trabajo?

La función que necesito ejecutar debería ser algo como esto: hEvent = CreateEvent (NULL, false, false, "MyCSHARPEvent");

Esto debería notificar a todos los procs que sondeen sobreMyCSHARPEvent sobre el evento.

Si es necesario ajustar la función, ¿cómo traduciría la estructura SECURITY_ATTRIBUTES de C # a win32?


Si aún desea usar interoperabilidad, puede definir la función de esta manera:

[DllImport("kernel32.dll")] static extern IntPtr CreateEvent(IntPtr lpEventAttributes, bool bManualReset, bool bInitialState, string lpName);

y la estructura como esta (puede que tenga que meterse con el atributo Pack para que se ajuste):

[StructLayout(LayoutKind.Sequential)] struct SECURITY_ATTRIBUTES{ public int length; public IntPtr securityDesc; public bool inherit; }

Además, aquí hay un ejemplo de código de poner todo junto.