Blog alskare

.Net y lo que surja

Archive for febrero 2009

Visor de imágenes y fax

Posted by alskare en 26/02/2009

No hace mucho expliqué el problema que me surgió hace poco y la solución a  Recuperar el acceso directo a "Mostrar Escritorio". Siguiendo con la misma tónica, hoy le ha tocado el turno a otra pérdida.

En este caso, un usuario me comenta que, cuando hace doble clic sobre una imagen se le abre otra aplicación, “y eso que no ha tocado nada”. Bueno, el caso es que, una vez que le intentas convencer que hay algunas aplicaciones que “secuestran” las extensiones de los ficheros, aunque no sea algo grave para el sistema, el usuario acaba reconociendo que sí, que instaló un programa que bajó de “algún sitio” y que éste es el programa que se abre cuando hace un doble clic en una imagen. Es ahora cuando viene la segunda parte, cuando te dice: "¡Pero yo quiero que se me abra el visor de imágenes que venía con Windows!.

Hasta el momento, no he descubierto un modo de asignar la extensión de un archivo al Visor de imágenes y fax tal como se suele hacer con el resto de aplicaciones:

  1. Botón derecho sobre el icono con la extensión a cambiar
  2. Abrir con…
  3. Elegir programa… y seleccionar la opción Utilizar siempre el programa seleccionado para abrir este tipo de archivos.

En el caso del Visor de imágenes y fax, siempre he resuelto el tema registrando de nuevo una librería del sistema:

regsvr32 C:\WINDOWS\system32\shimgvw.dll 

Posted in Windows | 1 Comment »

Redimensionar una imagen

Posted by alskare en 24/02/2009

Cuando se trata de subir fotografías a una página Web, casi siempre nos encontramos que, la cámara más barata hace unas fotos de miedo. De miedo por calidad y por el tamaño.

Una solución es redimensionar la imagen, de tal manera que ocupe lo mínimo posible y tenga una calidad aceptable para mostrarse por Internet. Un tamaño que se está convirtiendo en estándar para fotos de productos en Internet es 640×480.

En el código que acompaña al post,  incluyo un ejemplo de cómo cambiar el tamaño y la resolución de una imagen

VB.NET
''' <summary>Cambia la resolución de una imagen a 640x480</summary>
''' <param name="FicheroOrigen">Fichero con la foto original</param>
''' <param name="FicheroDestino">Fichero en el que se guardará la foto redimensionada</param>
Public Shared Sub Redimensiona(ByVal FicheroOrigen As String, ByVal FicheroDestino As String)
    Dim FotoOriginal As New Bitmap(FicheroOrigen)
    Dim FotoRetocada As New Bitmap(FotoOriginal, 640, 480)
    FotoRetocada.SetResolution(72, 72)

    FotoRetocada.Save(FicheroDestino, Imaging.ImageFormat.Jpeg)

    FotoOriginal = Nothing
    FotoRetocada = Nothing
End Sub
C#
/// <summary>Cambia la resolución de una imagen a 640x480</summary>
/// <param name="FicheroOrigen">Fichero con la foto original</param>
/// <param name="FicheroDestino">Fichero en el que se guardará la foto redimensionada</param>
public static void  Redimesiona(string FicheroOrigen, string FicheroDestino)
{
    Bitmap FotoOriginal = new Bitmap(FicheroOrigen);
    Bitmap FotoDestino = new Bitmap(FotoOriginal, new Size(640, 480));

    FotoDestino.SetResolution(72, 72);

    FotoDestino.Save(FicheroDestino, System.Drawing.Imaging.ImageFormat.Jpeg);

    FotoOriginal = null;
    FotoDestino = null;
}

Posted in C#, NetFramework, Vb.Net, WinForms | Comentarios desactivados en Redimensionar una imagen

Reparar fichero .pst de Outlook

Posted by alskare en 22/02/2009

Cada vez son más los empleados de las empresas que se empeñan en averiguar los límites de cualquier programa. En este caso, le toca el turno a Outlook. Sin saber ni conocer la razón, me encuentro día tras día con usuarios que almacenan, en las entrañas de un fichero .pst de Outlook la nada despreciable cifra de 4 Gb entre mensajes y adjuntos, muchos de ellos, las típicas bromas PowerPoint que solemos recibir unas diez o quince veces al año de gente que considera original enviar lo que le envían.

Yo no entro en discusiones acerca de si es correcto almacenar o no este tipo de información, ni tal siquiera si tiene lógica almacenar un volumen de información en un mismo fichero el cual, al fin y al cabo, no deja de ser un pequeño pero potente motor de base de datos. Tan sólo, cobro mi trabajo y, por tanto, me considero en la obligación de arreglarlo y avisar al usuario que, de seguir con estos volúmenes, igual algún día se lleva un buen susto.

Sobre todo, cuando se tienen perfiles de usuario móviles, estos volúmenes de ficheros, independientemente de la escasa celeridad de la respuesta, ocasionan algún que otro problema que suele manifestarse de diversas maneras: Bloqueo de outlook, mensajes de error informando del mal estado de la “Bandeja de Entrada” o de la necesidad de reparar la bandeja de entrada continuamente, etc.

Hasta el momento, cuando he tenido algún problema de este tipo, siempre he echado mano una herramienta que incluye Outlook y que suele instalarse en una carpeta de nuestro disco. Esta herramienta se denomina:

ScanPst.exe

ScanPst.exe se instala, por defecto, dependiendo de la versión:

Office 2003 (en español)

%ProgramFiles%\Archivos Comunes\System\MSMPAI\3082

Office 2007 (en español)

%ProgramFiles%\Microsoft Office\Office 12\

En el caso que se haya instalado el office en cualquier otra ubicación, siempre nos queda la posibilidad de buscarlo.

Una vez encontrada la aplicación, su ejecución es muy sencilla.

image

Bastará con seleccionar el nombre del fichero .pst que nos da problemas y, a partir de ahí, el botón Iniciar realizará, primero, un análisis del fichero, tras el cuál nos informará de la existencia de posibles errores. La verdad es que, casi siempre que he ejecutado la herramienta, me ha advertido de errores. Al principio, pensé que se trataba de algún problema de mi portátil, pero cuando repetí la prueba en varios ordenadores, supuse que era algo “normal” que devolviese errores. Como medida precautoria, siempre marco la opción de realizar la copia de seguridad, procurando no olvidarme después de borrar esta copia (recordemos que no es la primera vez que me he encontrado algún fichero .pst de 4 Gb).

image

Un último mensaje se encarga de avisarnos que la corrección del fichero se ha realizado satisfactoriamente.

Posted in Outlook | Comentarios desactivados en Reparar fichero .pst de Outlook

Recuperar “Mostrar Escritorio”

Posted by alskare en 20/02/2009

La mayor parte de las veces, una tontería como esta te tiene entretenido un buen rato: Un usuario elimina el icono Mostrar Escritorio de la barra de acceso rápido y, ¡cómo no!, tienes que restaurar el botón.

Ya puedes decir que existe una combinación de teclas que le llevará directamente al escritorio, realizando la misma acción que realiza el acceso que la respuesta siempre será que quiere el acceso, puesto que seguro que se olvidará de la combinación de teclas:

Tecla Windows + d

A partir de aquí, no te queda más remedio que empezar a documentarte y mirar qué solución tienes.

Lo primero que encuentras, si vas haciendo alguna búsqueda por google, es la “regeneración” de lo que podríamos entender como “el acceso directo” que teníamos antes de borrarlo. En este caso, opto por mirar con un editor de texto cualquiera el fichero que tengo en mi ordenador. Así, acudo a la carpeta C:\Documents and Settings\%USERNAME%\Datos de programa\Microsoft\Internet Explorer\Quick Launch\ (cambiando %USERNAME% por el nombre del usuario en nuestro ordenador) y edito el fichero  Mostrar Escritorio.scf, que veo que no es tal acceso directo; más bien se trata de un fichero por lotes.

Por lo que veo, el contenido que tiene es el siguiente:

[Shell]
Command=2 IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop

Así, la primera idea es la de generar lo mismo en el ordenador del usuario. Por tanto, me siento en su silla y, antes de empezar a copiar el fichero, mientras me estoy peleando con el tema de mostrar u ocultar tanto los archivos de sistema como las extensiones, caigo que he hecho una promesa de vaguería y, sencillamente, copio el fichero desde mi ordenador al del usuario.

Como suele ocurrir en estos casos, cuando está todo solventado, acabo encontrando una solución mucho más rápida, aunque necesita un reinicio de la sesión del usuario. Esta solución pasa por seleccionar Inicio, Ejecutar y escribir el comando siguiente:

regsvr32 /n /i:U shell32

De esta manera, hacemos una reinstalación que no acabo de entender de la librería shell32.dll. Recuerdo que en algún momento, en los VB antiguos hice algún que otro pinito con las llamadas a estas DLL y, si la memoria no me falla, tiene más de una utilidad. Creo que ya tengo tema para el siguiente post.

Posted in Windows | 1 Comment »