Hola, estoy utilizando este codigo para que mi programa detecte cuando se esta apagando windows, pero no me funciona y no se cual puede ser el error.
#include <windows.h>
#include <stdio.h>
LRESULT CALLBACK YourWindowProc(HWND hWnd, UINT uMsgId, WPARAM wParam, LPARAM lParam)
{
switch(uMsgId) {
case WM_QUERYENDSESSION:
{
//Codigo que se tiene que ejecutar justo antes de que se apague en pc
remove("C:\\apagar.txt ");
MessageBoxA(0, "adios", "dw", 0);
return 0;
break;
}
}
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASSEX wc;
MSG msg;
wc.lpfnWndProc = YourWindowProc;
BOOL bRet;
while( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0)
{
if (bRet == -1)
{
}
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return 0;
}
pues no te puedo ayudar...
Pero esto que lenguaje es? xD esto no va en WINDOWS... puf, y anda que dices con que lo has programado...
de todas formas fijandome en el código he visto 2 cosillas, kizás...
la primera es en "apagar.txt " tiene un espacio y luego la comilla... debeía estar sin el espacio, no?
y la segunda es en este código:
while( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0)
Me he fijado y es distinto a todos los demás, a pesar de no conocer el lenguaje con el que has programado, me atrevo a decir que...no podría ser más o menos así? (Solo quiero ayudar xD)
while( (bRet = GetMessage) &msg, NULL, 0, 0 ))( != 0)
quizás los parentesis están mal puestos, es lo que me ha parecido a simple vista sin conocer el lenguaje ni nada xD
saludossss
Es to es C, debería ser movido al Subforo de C/C++
Saludos
@pitoloko
no conozco en lenguaje pero la sintaxis esta bien
te lo paso a pseudocodigo
while( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0)
Mientras ( (Variable que es igual a GetMessage ( &msg, NULL, 0, 0 )) sea diferente a 0)
te colorie a que pertenecen los parentesis y como funciona