Buenas. Estoy mirándome este post (http://foro.elhacker.net/programacion_cc/tutoc_lecturaescritura_de_datos_de_una_aplicacion_externa_con_ejercicio-t258994.0.html) pero como es antiguo no he querido revivirlo. Resulta que estoy con el principio del código y ya me da error -.-
Lo que llevo actualmente es lo siguiente:
// ConsoleApplication2.cpp: define el punto de entrada de la aplicación de consola.
//
#include <iostream>
#include <windows.h>
#include "stdafx.h
int main()
{
/* system("cd /Users/Adrián/Downloads/Hack.Slash.Loot && HackSlashLoot.exe && pause");
unsigned long mem = 0x0FAD82E0;
printf("%d\n", mem);
system("pause");
*/
// Primero buscaremos la ventana activa.
HWND hVentana;
if (!(hVentana = FindWindow(NULL, "AppLectura")))
{
MessageBox(NULL, "No se pudo encontrar la ventana", "Error", MB_OK);
}
system("pause");
return 0;
}
Estoy en Visual Studio 2013 Original.
(http://thumbs.subefotos.com/2388b24b47cd6d641b275ab37c75507bo.jpg) (http://subefotos.com/ver/?2388b24b47cd6d641b275ab37c75507bo.png)
Ahí veis el error al que me refiero. El último include me lo recomendaba el error. Es la causa por la que lo he puesto.
Espero me ayudeis.
Gracias.
PD: Lista de errores:Error 3 error C2001: nueva línea en constante c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp 6
Error 4 error C2065: 'HWND' : identificador no declarado c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp 16
Error 5 error C2146: error de sintaxis : falta ';' delante del identificador 'hVentana' c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp 16
Error 6 error C2065: 'hVentana' : identificador no declarado c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp 16
Error 7 error C2065: 'hVentana' : identificador no declarado c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp 17
Error 8 error C3861: 'FindWindow': no se encontró el identificador c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp 17
Error 9 error C2065: 'MB_OK' : identificador no declarado c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp 19
Error 10 error C3861: 'MessageBox': no se encontró el identificador c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp 19
Error 11 error C3861: 'system': no se encontró el identificador c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp 21
12 IntelliSense: se esperaba un nombre de archivo c:\Users\Adrián\Documents\Visual Studio 2013\Projects\ConsoleApplication2\ConsoleApplication2\ConsoleApplication2.cpp 6
13 IntelliSense: un argumento de tipo "const char *" no es compatible con un parámetro de tipo "LPCWSTR" c:\Users\Adrián\Documents\Visual Studio 2013\Projects\ConsoleApplication2\ConsoleApplication2\ConsoleApplication2.cpp 17
14 IntelliSense: un argumento de tipo "const char *" no es compatible con un parámetro de tipo "LPCWSTR" c:\Users\Adrián\Documents\Visual Studio 2013\Projects\ConsoleApplication2\ConsoleApplication2\ConsoleApplication2.cpp 19
15 IntelliSense: un argumento de tipo "const char *" no es compatible con un parámetro de tipo "LPCWSTR" c:\Users\Adrián\Documents\Visual Studio 2013\Projects\ConsoleApplication2\ConsoleApplication2\ConsoleApplication2.cpp 19
Te faltan unas comillas en el include
#include "stdafx.h // <-----
Ok gracias. De todos modos el error me salía desde antes de poner ese include... :s
Salud
¿Y qué errores te salen ahora?
En Code::Blocks, sin el #include "stdafx.h" funciona O.K, poniendo, eso sí, la dirección correcta de la ventana, tipo:
"C:\\Users\\Administrador\\Documents\\C\\Analisis Numerico"
¡¡¡¡ Saluditos! ..... !!!!
(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)
Cita de: leosansan en 30 Abril 2014, 16:55 PM
En Code::Blocks, sin el #include "stdafx.h" funciona O.K, poniendo, eso sí, la dirección correcta de la ventana, tipo:
"C:\\Users\\Administrador\\Documents\\C\\Analisis Numerico"
¡¡¡¡ Saluditos! ..... !!!!
(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)
stdafx es un inventillo de VS para gestionar las cabeceras precompiladas, según creo recordar.
Cita de: eferion en 30 Abril 2014, 16:38 PM
¿Y qué errores te salen ahora?
Poniendo la comilla que faltaba:
Citar1> Agregar directiva a 'stdafx.h' o recompilar el encabezado precompilado
1>c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp(16): error C2065: 'HWND' : identificador no declarado
1>c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp(16): error C2146: error de sintaxis : falta ';' delante del identificador 'hVentana'
1>c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp(16): error C2065: 'hVentana' : identificador no declarado
1>c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp(17): error C2065: 'hVentana' : identificador no declarado
1>c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp(17): error C3861: 'FindWindow': no se encontró el identificador
1>c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp(19): error C2065: 'MB_OK' : identificador no declarado
1>c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp(19): error C3861: 'MessageBox': no se encontró el identificador
1>c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp(21): error C3861: 'system': no se encontró el identificador
========== Compilar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========
Quitando ese include:
Citar1>------ Operación Compilar iniciada: proyecto: ConsoleApplication2, configuración: Debug Win32 ------
1> ConsoleApplication2.cpp
1>c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp(4): warning C4627: '#include <iostream>': se omite al buscar el uso del encabezado precompilado
1> Agregar directiva a 'stdafx.h' o recompilar el encabezado precompilado
1>c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp(5): warning C4627: '#include <windows.h>': se omite al buscar el uso del encabezado precompilado
1> Agregar directiva a 'stdafx.h' o recompilar el encabezado precompilado
1>c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp(29): fatal error C1010: final de archivo inesperado al buscar la directiva de encabezado precompilado. Compruebe si olvidó agregar '#include "stdafx.h"' al código fuente?
========== Compilar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========
Y en lista de errores me sale esto (en el primer caso no me salía el primer error, como es lógico)
CitarError 3 error C1010: final de archivo inesperado al buscar la directiva de encabezado precompilado. Compruebe si olvidó agregar '#include "stdafx.h"' al código fuente? c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp 29
4 IntelliSense: un argumento de tipo "const char *" no es compatible con un parámetro de tipo "LPCWSTR" c:\Users\Adrián\Documents\Visual Studio 2013\Projects\ConsoleApplication2\ConsoleApplication2\ConsoleApplication2.cpp 17
5 IntelliSense: un argumento de tipo "const char *" no es compatible con un parámetro de tipo "LPCWSTR" c:\Users\Adrián\Documents\Visual Studio 2013\Projects\ConsoleApplication2\ConsoleApplication2\ConsoleApplication2.cpp 19
6 IntelliSense: un argumento de tipo "const char *" no es compatible con un parámetro de tipo "LPCWSTR" c:\Users\Adrián\Documents\Visual Studio 2013\Projects\ConsoleApplication2\ConsoleApplication2\ConsoleApplication2.cpp 19
Cita de: leosansan en 30 Abril 2014, 16:55 PM
En Code::Blocks, sin el #include "stdafx.h" funciona O.K, poniendo, eso sí, la dirección correcta de la ventana, tipo:
"C:\\Users\\Administrador\\Documents\\C\\Analisis Numerico"
En el post que dije, como ventana solo me salía eso. Nada de una dirección :s
Además voy a probar lo que dice éste link de borrar ese tipo de encabezados:
http://avellano.usal.es/~labssoo/precomp.htm
Saludos y gracias. Ahora os cuento.
EDITO: Ahora solo me da el error del título xP
1> ConsoleApplication2.cpp
1>c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp(16): error C2664: 'HWND FindWindowW(LPCWSTR,LPCWSTR)' : el argumento 2 no puede convertirse 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>c:\users\adrián\documents\visual studio 2013\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp(18): error C2664: 'int MessageBoxW(HWND,LPCWSTR,LPCWSTR,UINT)' : el argumento 2 no puede convertirse de 'const char [32]' 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
========== Compilar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========
Cita de: NikNitro! en 30 Abril 2014, 17:12 PM
...................................................
En el post que dije, como ventana solo me salía eso. Nada de una dirección :s
.......................................
Eso porque el que hizo el post tenía una ventana con ese nombre. Tu tienes que poner la dirección de una ventana activa para que veas que la detecta. :o¡¡¡¡ Saluditos! ..... !!!!
(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)
Lo se, pero en ese caso me debería devolver un "No se pudo encontrar la ventana". No?
A lo mejor estaba equivocado :s
Saludos y gracias.
Cita de: NikNitro! en 30 Abril 2014, 18:26 PM
Lo se, pero en ese caso me debería devolver un "No se pudo encontrar la ventana". No?.
.........................
Y es justo lo que ocurre:
(http://i1280.photobucket.com/albums/a497/leosansan/GRAFICOS%202/ventananada_zpsc3aa6893.jpg)
¡¡¡¡ Saluditos! ..... !!!!
(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)
Tenes que configurar el proyecto como ANSI, esta en Unicode, o en su defecto poner L adelante de las cadenas (ej. L"HOLA").
Eso era!! :p
Para cambiarlo a ANSI (por si a alguien más le pasa) vamos a:
Proyecto-> Propiedades de <nombre de nuestro proyecto> -> Propiedades de Configuración -> General -> Juego de Caracteres Y lo ponemos como "Sin establecer".
Recuerdo que uso el Visual Studio 2013.
Saludos y gracias a todos;) Marcaré el tema como resuelto
De nadas ::)