Hola gente!
Les comenento que instale recientemente Visual c++ 2008, pero no se porq no me compila, algunas cosas.
Por ej:
#include <stdio.h>
int main (){
int i;
for (i=0;i<5;i++)
printf ("Hola\n");
getchar ();
return 0;
}
Esto compila
#include <windows.h>
#include <stdio.h>
int main()
{ char pro[40];
HANDLE proceso;
printf ("Ingrese proceso a buscar: ");
gets (pro);
printf ("cadena a buscar: %s\n", pro);
HWND encontre = FindWindow(NULL, pro); // FindWindows Buesca un proceso del sistema por el nombre de la pantalla sintaxis a=FindWindow(Null, Arg1);
// RETORNO tiene valor de retorno del tipo HWND; NULL nulo, arg1 argumento 1 nombre a buscar ej Windows Live Messenjer
if (encontre == 0)
printf ("Ventana cerrada\n\a");
//MessageBox(NULL, "No se esta ejecutando Pinball", "Error", MB_OK | MB_ICONERROR);
//return -1;
else {
printf ("Ventana abierta\n\a");
DWORD pid; //DWORD pid; //se declara variable del tipo DWORD (variable de 32bit)
GetWindowThreadProcessId(encontre,&pid); //toma processo que se encontro en FindWindow y delvuelve el proceso PID sintaxis
//GetWindowThreadProcessId(encontre,&pid); // (_HWND Arg1, _DWORD Arg2);
MessageBox (NULL,"Encontrado", "Encontrado", MB_OK | MB_ICONINFORMATION);
printf ("PID:%d\n",pid);
proceso =OpenProcess(PROCESS_ALL_ACCESS,0,pid); // Abrir processo con todos los accesos tiene valor de retorno del tipo HANDLE
CloseHandle(proceso);} //cierro variable tipo Handle del valor proceso
getchar();
return 0;
}
Esto no lo compila.
Errores que me da.
Citar1>Compilando...
1>codigo.cpp
1>c:\users\juanca\documents\visual studio 2008\projects\captura\captura\codigo.cpp(12) : warning C4996: 'gets': This function or variable may be unsafe. Consider using gets_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 9.0\vc\include\stdio.h(279) : vea la declaración de 'gets'
1>c:\users\juanca\documents\visual studio 2008\projects\captura\captura\codigo.cpp(14) : error C2664: 'FindWindowW' : no se puede convertir el parámetro 2 de 'char [40]' a 'LPCWSTR'
1> Los tipos señalados no están relacionados; la conversión requiere reinterpret_cast, conversión de estilo de C o conversión de estilo de función
1>c:\users\juanca\documents\visual studio 2008\projects\captura\captura\codigo.cpp(25) : error C2664: 'MessageBoxW' : no se puede convertir el parámetro 2 de 'const char [11]' a 'LPCWSTR'
1> Los tipos señalados no están relacionados; la conversión requiere reinterpret_cast, conversión de estilo de C o conversión de estilo de función
1>El registro de compilación se guardó en el "file://c:\Users\juanca\Documents\Visual Studio 2008\Projects\captura\captura\Debug\BuildLog.htm"
1>captura - 2 errores, 1 advertencias
========== Generar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========
Lo raro es que compilando con cualquier otro compilador no tengo problemas.
Citar
1>c:\users\juanca\documents\visual studio 2008\projects\captura\captura\codigo.cpp(12) : warning C4996: 'gets': This function or variable may be unsafe. Consider using gets_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 9.0\vc\include\stdio.h(279) : vea la declaración de 'gets'
gets esta marcada como deprecated. Por esa razón te aparece un warning, puedes deshabilitar ese warning mediante pragma o utilizar una funciona segura como fgets.
Citar1>c:\users\juanca\documents\visual studio 2008\projects\captura\captura\codigo.cpp(14) : error C2664: 'FindWindowW' : no se puede convertir el parámetro 2 de 'char [40]' a 'LPCWSTR'
Tu proyecto esta configurado para que trabaje con UNICODE, por esa razón llamas a las funciones respectivas (***W) y por ende los parametros no son los correctos.
MessageBox (http://msdn.microsoft.com/en-us/library/ms645505%28VS.85%29.aspx)
MessageBox (NULL,L"Encontrado", L"Encontrado", MB_OK | MB_ICONINFORMATION);
Para el resto de los errores aplica el mismo criterio. Ten en cuenta que LPCWSTR significa:
typedef const wchar_t* LPCWSTR;
Busca en el foro que hay bastantes explicaciones sobre este tipo de errores y el manejo de UNICODE.
Saludos!
ah.. pense q era porblema de la sdk o algo de eso, :-\ gracias!!