Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
El código sólo comprueba los idiomas ruso e inglés
Si alguien da el nombre del botón Inicio en otros idiomas, lo incluiré en la fuente.
En chino, el texto de los botones "Iniciar" y "Detener" es el siguiente: "开始" y "停止".
Actualizado.
¿No sería más fácil leer una cadena del botón y luego comparar si sigue igual o ha cambiado?
Al fin y al cabo, la función no debería depender de estados anteriores. Sería más fácil utilizar el color: verde - inicio, de lo contrario - parada. Pero yo hago todo en WinAPI por el método poke, así que no sé cómo leer el color (componente verde) del botón. Si hay una variante de trabajo, por supuesto, voy a reemplazarlo.
Aun así, la función no debería depender de los estados anteriores. Sería más fácil utilizar el color: verde - inicio, de lo contrario - parada. Pero yo hago todo en WinAPI por el método poke, así que no sé cómo leer el color (componente verde) del botón. Si hay una variante de trabajo, por supuesto, voy a reemplazarlo.
Este código ha sido probado por mí y se confirma que funciona.
(Te recomiendo que mantengas ambos métodos, tal vez en el futuro los desarrolladores de MT5 cambien los colores).
Aun así, la función no debería depender de los estados anteriores. Sería más fácil utilizar el color: verde - inicio, de lo contrario - parada. Pero yo hago todo en WinAPI por el método poke, así que no sé cómo leer el color (componente verde) del botón. Si hay una variante de trabajo, por supuesto, voy a reemplazarlo.
Probablemente sea más fácil no por el color del botón, sino por el estado de la lista de Entradas - activadas/desactivadas.
¿Dónde obtener el estado de las Entradas? No hay API oficial, tenemos que determinarlo por colores y texto.
Bueno, no hay API oficial para todos los internos de MT5 - tienes que inspeccionarlos a través de utilidades como MS Spy - así es como se encontraron los identificadores de control, que ahora se utilizan en el multitester.
Si no te adentras en la selva de Inputs y sólo utilizas el botón de inicio ya probado, parece que la llamada GetWindowLongW(hwnd, 0) debería devolver el color actual del botón. El mío devuelve 0xD0B1DF10 para el verde. Sólo si MQ decide corregir el estilo, este ajuste podría desaparecer. Así que comprobar la actividad de los Inputs es más fiable de todas formas.
parece que la llamada GetWindowLongW(hwnd, 0) debería devolver el color actual del botón. Obtengo 0xD0B1DF10 para el verde.