May 2007 - Artículos

Reiniciar Windows desde .NET
Published 22/5/2007 17:29 | Rafael Ontivero
En anteriores entradas comenté que explicaría cómo reiniciar Windows desde un programa hecho en .NET. Hasta donde yo sé el .NET Framework no tiene un API para cerrar la sesión actual o para reiniciar el sistema, así que tenemos que hacer las llamadas oportunas al código nativo. En Win32 hay dos funciones para realizar la tarea, la original, ExitWindows y otra más moderna y que permite más cosas, ExitWindowsEx . Pero si probamos a llamarlas directamente nos damos cuenta de que Windows nos ignora por...
Archivado en: ,,,
Ejecutar un programa antes de que se inicie Windows (y II)
Published 17/5/2007 16:16 | Rafael Ontivero
En la entrada anterior hablaba sobre cómo lanzar un programa para que se ejecute antes del inicio de Windows basado en mis propias investigaciones. Tras un comentario de Peni, decidí probar un programa cualquiera… para descubrir que no funciona. Un sesudo destripe de los dos programas que sé lo hacen, a saber, PDBoot.exe y autochk.exe comenzó a darme una ligera idea de qué es necesario. Para ello el que suscribe abrió una consola de comandos del Visual Studio, se fue a C:\Windows\System32 y ejecutó...
Archivado en: ,,
Ejecutar un programa antes de que se inicie Windows
Published 16/5/2007 17:06 | Rafael Ontivero
Seguro que cualquier usuario de Windows ha visto cómo justo en medio del arranque de su PC, se modifica la pantalla de inicio de forma un tanto extraña y se inicia un chequeo del disco duro. O si utiliza herramientas como el Acronis Disk Director, tras el pertinente reinicio se lanzan en dicho lugar las herramientas, o también con los desfragmentadores comerciales como el Perfect Disk o el Diskeeper. ¿Cómo puede hacer uno eso mediante código para, por ejemplo, forzar un chequeo del disco de sistema...
Archivado en: ,,
Atributos y reflexión (Cosas curiosas de C#, último post)
Published 15/5/2007 16:41 | Rafael Ontivero
Atributos Con esta largamente proyectada y nunca escrita (hasta ahora) entrada pretendo finalizar la serie de temas curiosos o novedosos (o más bien el hecho de que me hayan resultado curiosos a mí personalmente) sobre el lenguaje C#, para pasar a otras cosas. En algún lugar –hace ya bastante tiempo- dije que no me gustaban los atributos, al menos para realizar Interop con código nativo, pensando que la única finalidad de ellos era la citada, pero no es así, una parte de los atributos es el Interop...
Archivado en: