En un programa de C++ ejecutado en Win7, ¿hay alguna manera de simular un movimiento de mouse o algo así, solo para evitar que se inicie el protector de pantalla y que el sistema se quede dormido? Estoy buscando el enfoque mínimo y prefiero no usar .NET. Gracias, -nuun¿cómo evito los protectores de pantalla y duermo durante la ejecución de mi programa?
Respuesta
No te metas con la configuración del salvapantallas, usa SetThreadExecutionState. Esta es la API para informar a las ventanas en el hecho de que su aplicación está activa:
permite que una aplicación para informar al sistema que está en uso, por lo tanto evitando que el sistema entre en dormir o apagar la pantalla mientras que la aplicación se está ejecutando.
y
aplicaciones multimedia, como vídeo jugadores y aplicaciones de presentación, debe utilizar ES_DISPLAY_REQUIRED cuando pantalla de vídeo durante largos períodos de tiempo sin intervención del usuario
SetThreadExecutionState() es ideal para controlar el sistema y mostrar la suspensión, pero * no * evitará que se inicie el protector de pantalla. Al menos la función doc dice que no. – naor
Corrección: aunque la página de MSDN para estas funciones indica que "Esta función no detiene la ejecución del protector de pantalla". llamar con ES_DISPLAY_REQUIRED impide de hecho que se active el protector de pantalla. – naor
este es también el camino a seguir (a través de p/invoke) si está usando .NET - http://pinvoke.net/default.aspx/kernel32.SetThreadExecutionState –
No estoy muy seguro de por qué debe recurrir a esto. La desactivación simple de estas opciones en la configuración de energía funcionará.
¿Qué intentas lograr haciendo eso? Es su aplicación un servicio. En caso de que sea así, no necesita preocuparse por esto.
En caso de que su aplicación sea una aplicación de interfaz de usuario, tampoco puedo pensar en un caso de uso válido.
Eitherway necesitamos más información.
dicen que es un juego automático largo que se jugará durante un juego donde no se requiere la entrada del usuario, no quieres que el protector de pantalla moleste a tu usuario – gldraphael
Suele ser una idea particularmente mala idea. El escritorio pertenece al usuario de su aplicación, no su aplicación.
Si ejecutaba una aplicación que deshabilitaba mi protector de pantalla (o se movía alrededor de los íconos de mi escritorio o se agregaba a mis varias barras de acceso rápido) sin mi permiso, se lo lanzaría rápidamente.
Y, si usted está el usuario, No lo haga en su aplicación. Cambiar manualmente al igual que el resto de nosotros :-)
Si debe hacerlo (y lo insto a que no, pero se puede sentir libre de hacer caso omiso de eso), no creo que el método ha cambiado desde NUEVO TESTAMENTO. Utiliza SystemParametersInfo
con SPI_SETSCREENSAVEACTIVE
para cambiar el comportamiento. Estos están en user32.dll
de memoria.
Pero tengo un vago recuerdo de ver los problemas reportados con el uso de ese método en virtud de Win7 y creo que la solución era un cambio de registro, el establecimiento de ScreenSaveActive
bajo HKEY_CURRENT_USER\Control Panel\Desktop
a 0
(y de nuevo a 1
cuando haya terminado).
dice que es un largo * autoplay * para jugar durante un juego donde no se requiere la entrada del usuario, no quiere que el protector de pantalla moleste a su usuario – gldraphael
¿Mala idea? ¿Qué hay de los reproductores multimedia? –
Eso no es una mala idea, cualquier reproductor de medios decente lo hace ... Busque la función SystemParametersInfo(SPI_SETSCREENSAVEACTIVE ...)
en Win32 api, debería hacer el truco.
Eso no es lo que hacen los reproductores multimedia. Ver mi respuesta –
- 1. programa en ejecución en php - pantalla y volver salida
- 2. ¿Cómo evito que Vista mate mi programa con excepciones?
- 3. C#: Recuperar nombres de protectores de pantalla instalados
- 4. problemas UIImagePickerController protectores y
- 5. Captura de pantalla durante la prueba
- 6. Programa SDL/C++ OpenGL, ¿cómo evito que SDL capture SIGINT
- 7. Mantener la pantalla despierta durante toda mi actividad
- 8. Cómo bloquear la orientación durante el tiempo de ejecución
- 9. ¿Cómo escribir el programa durante la compilación?
- 10. ¿Cómo evito que mi HTML sea explotable al tiempo que evito los GUID?
- 11. ¿Cómo evito la exposición de mi contraseña cuando uso RGoogleDocs?
- 12. Detectar cuando los usuarios toman capturas de pantalla de mi programa
- 13. ¿Cómo evito que los archivos de DDay.ical ics repitan los eventos de duplicación durante la llamada a la función SerializeToString?
- 14. Cómo activar la pantalla durante el bloqueo parcial de activación
- 15. ¿Cómo evito que Android tome una captura de pantalla cuando mi aplicación pasa al segundo plano?
- 16. TCL - ¿Cómo imprimir en la pantalla los mensajes que se imprimieron durante la ejecución del comando exec?
- 17. ¿Cómo evito los certificados SSL durante el desarrollo para un punto final WCF que estará protegido durante la producción?
- 18. evitar que Windows estación de trabajo (escritorio) se bloqueen durante la ejecución de un programa WPF
- 19. ¿Cómo evitar que la pantalla de un dispositivo Android se apague durante la ejecución de una actividad?
- 20. Durante la ejecución, ¿cómo puede un programa Java decir cuánta memoria está usando?
- 21. ¿Cómo analizar los problemas OSGi de bajo nivel durante la ejecución de la prueba tycho?
- 22. ¿Cómo evito que Bing inunde mi sitio con tráfico irregular?
- 23. cómo acceder a los contactos en mi programa de Android
- 24. Pantalla de ejecución de Perl
- 25. Tiempo de ejecución del programa
- 26. El uso de los protectores en Let .. en expresiones
- 27. Deshabilitar IntelliTrace durante la ejecución de la aplicación
- 28. ¿Cómo bloquear la ejecución de dos instancias del mismo programa?
- 29. ¿Cómo evito que las excepciones dañen mi cadena de delegados?
- 30. ¿Cómo puedo congelar la ejecución de un programa?
qué ¿No cambias la configuración del protector de pantalla o la configuración de energía de tu sistema? –
Como usuario de su programa, _I_ quiero decidirme si quiero que un protector de pantalla reduzca la velocidad de ejecución de un programa. Si usted es su propio usuario, siempre puede cambiar la configuración del sistema usted mismo. – sbi
En realidad, esta es una pregunta válida. Creo que Windows Media Player hace esto cuando se reproduce un video y luego se justifica (no se quiere parar cada cinco minutos y mover el mouse para disfrutar de la película, ¿no?) También se desactiva el protector de pantalla solo para ver uno la película es exagerada). – Tomek