Articles of pinvoke

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?

Una llamada a la función PInvoke ” ha desequilibrado la stack

Recibo este extraño error en algunas cosas que he estado usando durante bastante tiempo. Puede ser algo nuevo en Visual Studio 2010, pero no estoy seguro. Intento llamar a una función no controlada escrita en C ++ desde C #. De lo que he leído en Internet y el mensaje de error en sí tiene […]

Pasar cadenas desde C # a C ++ DLL y back – minimal example

Estoy intentando hacer el ejemplo mínimo más simple de cómo pasar cadenas hacia y desde una DLL de C ++ en C #. Mi C ++ se ve así: using std::string; extern “C” { string concat(string a, string b){ return a + b; } } Con un encabezado como using std::string; extern “C” { // […]

¿Cómo puedo llamar a C ++ / CLI desde C #?

Tengo una clase implementada en C ++ que es responsable del cálculo aritmético del progtwig y una interfaz que usa WPF. Proceso la entrada con C #, pero ¿cómo puedo usar mi clase de C ++? He visto algunos comentarios sobre cómo hacer que una clase administrada de contenedor de C ++ interactúe con él, […]

utilizando una clase definida en un c ++ dll en código c #

Tengo un dll que fue escrito en c ++, necesito usar este dll en mi código c #. Después de buscar encontré que usar P / Invoke me daría acceso a la función que necesito, pero estas funciones están definidas en una clase y usan variables de miembros privados no estáticos. Entonces necesito poder crear […]

pinvokestackimbalance: ¿cómo puedo solucionarlo o desactivarlo?

Acabo de cambiar a vs2010 desde vs2008. Exactamente la misma solución, excepto que ahora cada llamada a un dll de C ++ genera una excepción ‘pinvokestackimbalance’. Esta excepción no se disparó en 2008. Tengo acceso completo a la dll de C ++ y a la aplicación de llamada. No parece haber ningún problema con el […]