una pregunta, casi siempre e programado con MingW en windows, ahora quise usar Visual Studio 2010 y dejar GCC para linux
quise hacer un hook rapido a MessageBoxA, para ejecutar el clasico mensaje de hola mundo y probar como funciona, ya que siempre trabaje con codeblocks
Código
#include <stdio.h> #include <stdlib.h> #include <Windows.h> typedef int (CALLBACK *MSBX)(HWND, LPCTSTR, LPCTSTR, UINT); int main(int *argv, char *argc){ HMODULE han; MSBX msgbox; han = LoadLibrary(L"User32.dll"); msgbox = (MSBX)GetProcAddress(han, "MessageBoxA"); msgbox(NULL,"mensaje","exito!!", NULL); }
pero tengo una duda, como arreglo o cual es la nueva forma de llamar ciertas cosas por ejemplo
LoadLibrary, asi encontre que tenia que hacerlo funcionar
Código:
han = LoadLibrary(L"User32.dll");
pero para que es esa "L"?...
Código:
han = LoadLibrary(L"User32.dll");
ahora me aparece marcado esto
Código:
msgbox(NULL,"mensaje","exito!!", NULL);
"mensaje" y "exito!!"
si lo dejo asi, me aparece bien el mensaje, pero para quitar el mensaje de error, tengo que poner igual "L", tambien encontre que con "_T"... pero no me funciono
el mensaje de error es sobre puntero a char* que no es compatible con LPCTSTR
y con MingW y codeblocks nunca tuve ese problema, que podria hacer para solucionarlo? y si puede solucionar permanentemente o es algo que siempre tendre que ver como arreglarlo?
salu2