Pregunta

Hay muchos Win32 API llamadas / bibliotecas como Kernel32 o Shell32 que pueden ser útiles para llamar desde C#. Un método común para usarlos es buscar la definición del método en el pinvoke.net Sitio web, y utilizando la definición de DllImport desde allí.

Este proceso es necesario para cada método que desee usar.

¿Hay ensamblajes disponibles que contienen comunes / la mayoría? [DllImport]¿Funciones de API ed?

Estoy buscando algo que pueda usar directamente de C# (como referencia), por lo que no tengo que reunir y combinar todo tipo de declaraciones de Dllimport (con riesgo de errores).

¿Fue útil?

Solución

Que sé, no hay un paquete de código ampliamente conocido que envuelva la API de Windows para .NET; Podría ver que es útil en ciertas circunstancias, sin embargo, en la mayoría de los casos, si necesita usar gran parte de la API de Windows nativa, tal vez debería preguntarse si está utilizando o no el marco .NET correctamente y/o por qué usar .NET en absoluto?

Independientemente de la opinión anterior, puede encontrar una fuente bastante completa de las definiciones en http://pinvoke.net/.

Otros consejos

Deberías encontrar aquí en pinvoke.net Qué estás buscando. En realidad, no hay nada más "detrás de escena" que pueda enviarse en el código fuente de C# que las simples cláusulas de importación de DLL.

Esa no es la forma en que funciona, solo proporciona la declaración [dllimport] en su código C#. La forma en que los encontraría en pinvoke.net o en una herramienta como el asistente de interop p/invoke. Descubrir cómo usar la función API requiere estudiar el código C o C ++. Y en general comprender cómo funciona la API de Windows.

El mejor lugar para comenzar con eso es el libro seminal de Petzold "Programación de Windows". Puede encontrar muestras de código fuente en C/C ++ en la documentación SDK de Windows y las muchas muestras que se incluyen con la versión completa del SDK. Y la web, por supuesto, con solo buscar el nombre de la función. Irónicamente, el número de muestras que encontraría en la web en estos días que se escriben en un lenguaje administrado comienzan a superar las muestras de C/C ++. Tenga cuidado con las declaraciones de VB6 (declarar palabras clave), también ampliamente disponibles, sus tipos no son compatibles con .NET.

Sitios como Codeplex.com y CodeProject.com son un buen lugar para encontrar bibliotecas con envoltorios de clase administrados en torno a las llamadas de API nativas. Normalmente simplemente usarías la biblioteca.

Por último, pero no menos importante, stackoverflow.com es un excelente recurso;)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top