He tenido que hacer algo de búsqueda por internet para conseguir crear una función que devuelva el color de un pixel cualquiera de la pantalla en VB.NET y aquí comparto mis hallazgos.

Lo cierto es que con VB.NET se puede hacer cualquir cosa que se nos ocurra, sobretodo utilizando funciones de la API de Windows.

En el caso que nos ocupa, debemos declarar las cabeceras de tres funciones de las bibliotecas (librerías) gdi32.dll y user32.dll de la siguiente manera:

Private Declare Function GetPixel Lib 'gdi32.dll' (ByVal hdc As Integer, ByVal x As Integer, ByVal y As Integer) As Integer
Private Declare Function GetWindowDC Lib 'user32.dll' (ByVal hwnd As Integer) As Integer
Private Declare Function GetDesktopWindow Lib 'user32.dll' () As Integer

Posteriormente debemos desarrollar la función PixelColor, a la que pasaremos dos variables con las coordenadas de pantalla X e Y del punto cuyo color queramos obtener (alternativamente se le podría pasar una sola variable de tipo POINT). La función devuelve un valor de tipo COLOR que podemos utilizar donde queramos:

Public Shared Function PixelColor(ByVal x As Integer, ByVal y As Integer) As Color
Dim winDc = GetWindowDC(API.GetDesktopWindow)
Dim color = GetPixel(winDc, x, y).ToString
PixelColor = System.Drawing.ColorTranslator.FromOle(color)
End Function

Como se puede apreciar, podemos obtener el color de cualquier pixel de la pantalla, no solamente de dentro de nuestro formulario o aplicación, con lo que esta función puede resultar muy útil en varios contextos. ¿Se os ocurren aplicaciones?

Periféricos USB… útiles

29 de noviembre de 2005 Tecnología

Es curiosa la proliferación de todo tipo de artilugios que se conectan al ordenador a través del puerto USB que no tienen nada que ver con la informática.

Al principio se trataba de memorias flash, lectores de tarjetas, dispositivos Bluetooh y similares pero, poco a poco, la cosa ha ido derivando (o degenerando) hacia cualquier aparatejo imaginable. Una de las cosas más estrambóticas que he visto (sin entrar en los accesorios eróticos) es una mini parrilla USB para cocinar al ladito del ordenador. Yo, desde luego, paso.

De todas formas, hay otros inventos que, conectados al puerto USB resultan más útiles, como, por ejemplo, una lamparita flexible para el portátil que no necesita enchufarse a la red eléctrica.

Lo que más me ha llamado la atención últimamente son sendos dispositivos para calentar y enfria bebidas. El USB Cup Warmer y el USB Beverage Chiller son unas pequeñas plataformas que se conectan al USB en las que se puede colocar una taza o vaso con la bebida que queramos tener calentita o fresquita respectivamente. Esta especie de posavasos electrónicos parecen una idea práctica y cómoda para mantener la taza de leche bien caliente por las mañanas o enfriar el refresco en verano.

Hoy día 8 de noviembre de 2005 es el día en el que los dominios .ES se ponen a disposición de cualquiera, sin limitaciones ni restricciones, todo el mundo puede registrarlos a un precio mucho más económico que anteriormente.

Así España se suma a otros paises que permiten la adquisición de dominios con la extensión de sus ccTLD´s sin las habituales condiciones de ser residente en el país o disponer de una empresa o marca registrada con el nombre del dominio.

La tan esperada ‘liberación’ tenía lugar esta mañana a las 07:00 hora española, pero varias horas después, la situación está algo estancada debido a la saturación de peticiones. De hecho, la página de ESNIC, el delegado en España para el registro de estos dominios territoriales, ha funcionado fatal durante toda la mañana y, en estos momentos, al intentar registrar algunos nombres aparece el mensaje:

El sistema está tramitando solicitudes.
Le recomendamos que realice las solicitudes de nombres de dominio a través de los Agentes Registradores Acreditados

Parece que esta situación tiene que ver con el pre-registro de dominios .ES que muchos registradores vienen ofreciendo desde hace semanas. Está claro que muchos registradores habrán enviado pre-solicitudes a ESNIC para registrar el mismo nombre, con lo que habrá muchas personas intentando hacerse con los mismos dominios.

Desconozco los detalles en cuanto a cómo se gestionan estas situaciones, que ya se han producido en otras ocasiones (como con los .EU), quizá por estricto orden cronológico o algún otro sistema de prioridades. En cualquier caso, parece que habrá que esperar para ver si podemos hacernos con, al menos alguno, de los dominios que hemos pre-registrado.

Actualización: Parece que en ESNIC han decidido gestionar los problemas de saturación escalonando las tramitaciones de las solicitudes durante los próximos días de la siguiente manera:

08/11/2005: Términos que empiecen por letras del rango [0-9a-b]
09/11/2005: Términos que empiecen por letras del rango [0-9a-e]
10/11/2005: Términos que empiecen por letras del rango [0-9a-n]
11/11/2005: Término que sea cualquier nombre de dominio válido

Así que hoy sólo los dominios que empiecen por A y B. Qué cosas.