Autor
|
Tema: FindWindow con array de strings (Leído 2,624 veces)
|
while
Desconectado
Mensajes: 24
|
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
|
|
|
En línea
|
|
|
|
Littlehorse
All the world's a stage
Moderador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
Si no estas usando UNICODE, podes usar el miembro c_str de string: string array[]={"name1","name2"}; for(i=0;i<2;i++) cout<<FindWindow(NULL, array[i].c_str());
Si usas UNICODE, el problema con lo anterior es que no podes usar el miembro c_str, pero igual podes usar wstring para hacerlo: wstring array[]={L"name1",L"name2"}; for(i=0;i<2;i++) cout<<FindWindow(NULL, array[i].c_str());
Igual podes no usar stl strings en absoluto, pero habría que ver el proyecto en general. Saludos!
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
while
Desconectado
Mensajes: 24
|
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)
|
|
« Última modificación: 9 Noviembre 2010, 15:42 pm por while »
|
En línea
|
|
|
|
Littlehorse
All the world's a stage
Moderador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
Como poder, podrias. Y no, no alentaría el proceso original, pero el problema principal es que no va a cumplir con el objetivo correctamente. Es decir, partamos de la base que el titulo de una ventana no es la mejor forma de descubrir si una aplicacion esta siendo ejecutada. Como mínimo, deberías enumerar los procesos para ver si el Cheat Engine se encuentra o no, pero eso tampoco seria suficiente. Hay muchas formas de verificar si una aplicacion esta o no esta corriendo. En el caso del Cheat Engine, podes verificar si el driver que utiliza esta cargado.
Igualmente si tu idea es proteger tu aplicacion de cualquier modificación, la única forma eficiente y segura de hacerlo es desde modo kernel.
Saludos!
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
while
Desconectado
Mensajes: 24
|
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.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
(Ayuda) Array de strings.
Programación C/C++
|
S++
|
4
|
2,821
|
11 Junio 2015, 03:59 am
por rir3760
|
|
|
Excepcion con array de strings y lista, ayuda :(
.NET (C#, VB.NET, ASP)
|
NIGHTBIRD
|
1
|
2,469
|
21 Febrero 2018, 20:11 pm
por Eleкtro
|
|
|
MOVIDO: Excepcion con array de strings y lista, ayuda :(
Programación Visual Basic
|
Eleкtro
|
0
|
2,522
|
21 Febrero 2018, 20:12 pm
por Eleкtro
|
|
|
Problema con array de strings
Programación C/C++
|
JaimeGc05
|
3
|
1,692
|
20 Enero 2019, 20:44 pm
por JaimeGc05
|
|
|
[C] Tratando de crear array de strings
« 1 2 »
Programación C/C++
|
huchoko
|
14
|
4,107
|
9 Junio 2019, 02:30 am
por RayR
|
|