Articles of pinvoke

¿Devolviendo una cadena de PInvoke?

Estoy usando PInvoke para la interoperabilidad entre el código nativo (C ++) y el código administrado (C #). Solo escribo una función simple que obtiene una cadena del código de C ++. Mi código parece C # Code: [DllImport(“MyDll.dll”)] private static extern string GetSomeText(); public static string GetAllValidProjects() { string s = GetSomeText(); return s; […]

Mostrar el cuadro de diálogo Autenticación en C # para Windows Vista / 7

Quiero obtener credenciales de inicio de sesión de red de un usuario. Estoy usando .NET 3.5 con C #. Hasta ahora he usado la llamada CredUIPromptForCredentials ( aquí se puede encontrar un enlace muy útil sobre cómo usarla) Mi problema es que la CredUIPromptForCredentials API CredUIPromptForCredentials muestra el antiguo diálogo de credenciales de Windows 2000 […]

¿Cómo puedo pasar un puntero a una matriz usando p / invoke en C #?

Firma de API de ejemplo C: void Func(unsigned char* bytes); En C, cuando quiero pasar un puntero a una matriz, puedo hacer: unsigned char* bytes = new unsigned char[1000]; Func(bytes); // call ¿Cómo traduzco la API anterior a P / invocar de modo que pueda pasar un puntero a una matriz de bytes C #?

Pantalla de captura en la sesión de escritorio del servidor

Desarrollé un marco de prueba GUI que realiza pruebas de integración del sitio web de la compañía de manera progtwigda. Cuando algo falla, tomará una captura de pantalla del escritorio, entre otras cosas. Esto se ejecuta sin supervisión en un usuario conectado en un servidor de Windows dedicado 2008. El problema es tomar una captura […]

¿Cómo pinvoke a GetWindowLongPtr y SetWindowLongPtr en plataformas de 32 bits?

Quiero P / Invocar a GetWindowLongPtr y SetWindowLongPtr , y veo información conflictiva sobre ellos. Algunas fonts dicen que, en plataformas de 32 bits, GetWindowLongPtr es solo una macro de preprocesador que llama a GetWindowLong, y GetWindowLongPtr no existe como un punto de entrada en user32.dll. Por ejemplo: La entrada de pinvoke.net para SetWindowLongPtr tiene […]

Mover el cursor del mouse programáticamente

Para comenzar, encontré este código en http://swigartconsulting.blogs.com/tech_blender/2005/08/how_to_move_the.html : public class Win32 { [DllImport(“User32.Dll”)] public static extern long SetCursorPos(int x, int y); [DllImport(“User32.Dll”)] public static extern bool ClientToScreen(IntPtr hWnd, ref POINT point); [StructLayout(LayoutKind.Sequential)] public struct POINT { public int x; public int y; } } Pegue el siguiente código en el controlador de eventos click del […]

Desbloquear archivo desde .net 4 c #

¿Existe la posibilidad de desbloquear un archivo que se descarga desde Internet desde el progtwig ac #? Navegando por Internet he aprendido que la información está escrita en una secuencia alternativa de un archivo (NTFS) que contiene la información de la zona actual (el valor 3 proviene de Internet y se interpreta como bloqueado). ¿Existe […]

Cómo devolver el texto desde el código nativo (C ++)

Estoy usando Pinvoke para interoperabilidad entre código nativo (C ++) y código administrado (C #). Lo que quiero lograr es obtener algo de texto del código nativo en mi código administrado. Para esto pruebo muchas cosas, por ejemplo, pasando string / stringbuilder por ref, usando [IN] y [OUT], Marshaling to LPSTR, devolviendo la cadena desde […]

Sin salida de consola cuando se usa AllocConsole y la architecture de destino x86

Tengo un proyecto de WinForms, y si el usuario quiere una consola de depuración, AllocConsole() una consola con AllocConsole() . Toda la salida de la consola funciona normalmente con la architecture de destino establecida en “Cualquier CPU”, pero cuando la cambio a “x86” no produce nada ( Console.Read() sigue funcionando como se esperaba). Si abro […]

La mejor forma de acceder a objetos COM desde C #

Estoy planeando usar varios objetos que están expuestos como objetos COM. Para que sean más fáciles de usar, me gustaría envolverlos como objetos C #. ¿Cuál es el mejor enfoque para esto?