|
Mostrar Mensajes
|
Páginas: [1] 2 3
|
1
|
Programación / Programación C/C++ / Re: FindWindow con array de strings
|
en: 9 Noviembre 2010, 21:56 pm
|
Aham, la idea era crear una extensa base de datos de programas maliciosos, y ver su titulo para saber si esta en ejecución. Pero hacerlo de otra forma, sería demasiado hacerlo con cada programa distinto no? Tengo recopilados unos 70 aprox.
|
|
|
2
|
Programación / Programación C/C++ / Re: FindWindow con array de strings
|
en: 9 Noviembre 2010, 15:16 pm
|
muchas gracias, me servió el primero.
una cosa mas, creéis que podria darme problemas tener un thread while(true){ ... comprobación findwindow ... } para verificar en todo momento si se ejecuta X aplicación? podria lagear al proceso original? es muy pesado el findwindow? (es para que no se ejecuten programas como cheat engine, etc)
|
|
|
3
|
Programación / Programación C/C++ / FindWindow con array de strings
|
en: 9 Noviembre 2010, 13:30 pm
|
Hola, el objetivo es encontrar una serie de ventanas que guardo en un array:
string MDB[]={ "Firefox", "Paint", "Otro" };
luego pretendo ver si hay alguna abierta mediante un bucle: for(int i=0; i<=2; i++){ if(FindWindow(NULL,TEXT(MDB))) ...
pero el segundo parametro de FindWindow es const CHAR *, pero tampoco puedo hacer FindWindow(NULL,TEXT((const CHAR*)MDB)
Alguna solución? Gracias
|
|
|
4
|
Programación / Programación C/C++ / Re: pasar argumentos por un CreateThread?
|
en: 14 Octubre 2010, 22:42 pm
|
He probado la última opción y tengo algunos problemas al concatenar y pasar por el thread:
FuncionLlamarThread("asdfA","asdfB");
...
void FuncionLlamarThread(char *a1, char *a2) { char finaldefinido[50]; sprintf(finaldefinido, "%s-%s", a1, a2);
char *final = finaldefinido; MessageBox(0, final, "Title",MB_OK); // Funciona, por lo que aparentemente se han concatenado.
CreateThread( 0, 0, &mithread, final, 0, 0 ); }
Pero luego el mithread, el messagebox aparece en blanco al hacer: char *nombre = (char*)pVoid; MessageBox(0, nombre, "Title",MB_OK);
|
|
|
5
|
Programación / Programación C/C++ / Re: pasar argumentos por un CreateThread?
|
en: 14 Octubre 2010, 14:28 pm
|
y podria pasar algo asi como: char *array_parametros[] = { "asdf1", "asdf2" }; ?
Si no, supongo que podria hacer una función intermedia que cree el thread CrearThread("asdf1","asdf2");
y luego en CrearThread() Concatenar asdf1 y asdf2 separados por un caracter como asdf1§asdf2 y pasarlos por el create thread como un unico parametro, y luego que el thread los separe y los meta en su correspondiente variable. Que te parece esto último?
Saludos, y gracias de nuevo
|
|
|
7
|
Programación / Programación C/C++ / Re: pasar argumentos por un CreateThread?
|
en: 14 Octubre 2010, 03:06 am
|
Hola, buena idea para pasarlos, pero debe haber algo mal, y no veo que es: PParams params = (PParams)pVoid; MessageBox(0,params->arga,"Title",MB_OK); MessageBox(0,params->argb,"Title",MB_OK);
estos devuelven simbolos raros, y no el texto que les he pasado.
Gracias de nuevo
|
|
|
8
|
Programación / Programación C/C++ / Re: pasar argumentos por un CreateThread?
|
en: 14 Octubre 2010, 01:30 am
|
ah claro, no había caido.
Muchas gracias eternal idol.
Una pregunta mas, puedo pasar otro argumento mas por el CreateThread?
algo asi como: unsigned long __stdcall mithread( void* pVoid, void* pVoid2)
CreateThread( 0, 0, &mithread, "asdf1", "asdf2", 0 );
Gracias de nuevo.
|
|
|
9
|
Programación / Programación C/C++ / pasar argumentos por un CreateThread?
|
en: 13 Octubre 2010, 23:30 pm
|
Así es como venía usandolos:
unsigned long __stdcall mithread( void* pVoid ) { ... }
CreateThread( 0, 0, &mithread, 0, 0, 0 );
El caso es que ahora necesito pasarle un argumento, algo así como:
unsigned long __stdcall mithread( void* pVoid, char* nombre ) { ... }
CreateThread( 0, 0, &mithread, "asdf", 0, 0 );
Pero esta no es la forma correcta. Alguien puede decirme como es?
Gracias!
|
|
|
|
|
|
|