Articles of winapi

¿Cómo matar efectivamente un proceso en C ++ (Win32)?

Actualmente estoy escribiendo un progtwig muy liviano, así que tengo que usar C ++ ya que no está vinculado a .NET framework, que aumenta drásticamente el tamaño del progtwig. Necesito poder terminar el proceso y para hacerlo necesito obtener un control de proceso. Desafortunadamente, todavía no he pensado cómo hacerlo. PD. Sé que para matar […]

Comunicación entre procesos

Tengo dos aplicaciones: X e Y. X es la aplicación principal y maneja una gran cantidad de archivos XML. Tiene una historia de más de 10 años y se han utilizado media docena de técnicas para almacenar, procesar y manejar estos archivos XML. Y es una herramienta de depuración que estoy desarrollando, que puede procesar […]

C # – ¿Cómo convertir Object a IntPtr y viceversa?

Quiero pasar un objeto del código administrado a una función de WinApi como IntPtr . Devolverá este objeto a mi función de callback en código administrado como IntPtr . No es una estructura, es una instancia de una clase. ¿Cómo convierto object a IntPtr y viceversa?

error C2275: uso ilegal de este tipo como una expresión

Desde ayer, he estado enfrentando un error de comstackción para mi proyecto C. El proyecto en sí consiste en crear un servicio que realizará algunas tareas. No sé qué ha cambiado desde ayer, pero esta mañana mi código ya no puede comstackrse. Aquí están los errores que tengo: c:\path\main.c(56): error C2275: ‘SERVICE_TABLE_ENTRY’ : illegal use […]

Win32: Cómo ocultar ventanas de terceros en la barra de tareas por hWnd

Tengo que ocultar las ventanas emergentes en la biblioteca de terceros. Implementé Windows Hook con SetWindowsHookEx y conozco todos los hWnd (s) creados recientemente. HSHELL_WINDOWCREATED callback HSHELL_WINDOWCREATED y hago lo siguiente: long style= GetWindowLong(hWnd, GWL_STYLE); style &= ~(WS_VISIBLE); // this works – window become invisible style |= WS_EX_TOOLWINDOW; // flags don’t work – windows remains […]

Convierte un progtwig C ++ a un servicio de Windows?

Escribí un progtwig de consola que “hace cosas”, principalmente con boost. ¿Cómo lo convierto a un servicio de Windows? ¿Qué debería saber sobre los servicios de Windows de antemano?

¿Qué tan grande es un DWORD con código de 32 y 64 bits?

En Visual C ++, un DWORD es solo un largo sin signo que depende de la máquina, la plataforma y el SDK. Sin embargo, dado que DWORD es una palabra doble (es decir 2 * 16), ¿sigue siendo DWORD de 32 bits en las architectures de 64 bits?

No se encuentra C ++ #include

Cuando compilo mi progtwig, dice que no puede encontrar atlbase.h. ¿Me estoy perdiendo algo de SDK o algo así?

Validar la firma de Authenticode en EXE – C ++ sin CAPICOM

Estoy escribiendo una función para una DLL del instalador para verificar la firma Authenticode de los archivos EXE ya instalados en el sistema. La función necesita: A) verificar que la firma sea válida. B) verificar que el firmante es nuestra organización. Debido a que esto se encuentra en un instalador, y debido a que esto […]

requisitos de alineación para las instrucciones x86 atómicas

Microsoft ofrece la función InterlockedCompareExchange para realizar operaciones atómicas de comparación e intercambio. También hay un _InterlockedCompareExchange intrínseco . En x86 estos se implementan utilizando la instrucción cmpxchg . Sin embargo, al leer la documentación sobre estos tres enfoques, no parecen estar de acuerdo con los requisitos de alineación. El manual de referencia de Intel […]