<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Rubén Hinojosa Chapel - Blog personal &#187; Movilidad</title>
	<atom:link href="http://www.hinojosachapel.com/category/movilidad/feed" rel="self" type="application/rss+xml" />
	<link>http://www.hinojosachapel.com</link>
	<description>Consultoria empresarial, Tecnologias .NET, Desarrollo web y Comunicacion digital. Investigacion y Desarrollo en Musica Algoritmica.</description>
	<lastBuildDate>Sun, 05 Feb 2012 19:50:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Cámaras DGT para Windows Phone 7, disponible en el Marketplace</title>
		<link>http://www.hinojosachapel.com/2011/12/camaras-dgt-para-windows-phone-7-disponible-en-el-marketplace.aspx</link>
		<comments>http://www.hinojosachapel.com/2011/12/camaras-dgt-para-windows-phone-7-disponible-en-el-marketplace.aspx#comments</comments>
		<pubDate>Sat, 31 Dec 2011 19:23:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Movilidad]]></category>
		<category><![CDATA[Tecnologías .NET]]></category>

		<guid isPermaLink="false">http://www.hinojosachapel.com/?p=875</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2011/12/camaras-dgt-para-windows-phone-7-disponible-en-el-marketplace.aspx' addthis:title='Cámaras DGT para Windows Phone 7, disponible en el Marketplace '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>¿Alguna vez has deseado ver el estado del tráfico desde cualquier lugar? Con Cámaras DGT puedes ver una selección de las imágenes de las cámaras publicadas por la Dirección General de Tráfico y servicios afines. Puedes escoger aquellas que prefieras y guardarlas como favoritas. Así podrás visualizarlas cómodamente cada vez que ejecutes la aplicación. Necesitas [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2011/12/camaras-dgt-para-windows-phone-7-disponible-en-el-marketplace.aspx' addthis:title='Cámaras DGT para Windows Phone 7, disponible en el Marketplace' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2011/12/camaras-dgt-para-windows-phone-7-disponible-en-el-marketplace.aspx' addthis:title='Cámaras DGT para Windows Phone 7, disponible en el Marketplace '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams2.png"><img class="size-medium wp-image-878 aligncenter" title="Barcelona Ciudad (Ronda Litoral - Bon Pastor) Vertical" src="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams2-180x300.png" alt="Barcelona Ciudad (Ronda Litoral - Bon Pastor) Vertical" width="178" height="296" /></a><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams2a.png"><img class="aligncenter size-full wp-image-882" title="Barcelona Ciudad (Ronda Litoral - Bon Pastor) Horizontal" src="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams2a.png" alt="Barcelona Ciudad (Ronda Litoral - Bon Pastor) Horizontal" width="495" height="296" /></a></p>
<p>¿Alguna vez has deseado ver el estado del tráfico desde cualquier lugar? Con <strong>Cámaras DGT</strong> puedes ver una selección de las imágenes de las cámaras publicadas por la Dirección General de Tráfico y servicios afines. Puedes escoger aquellas que prefieras y guardarlas como favoritas. Así podrás visualizarlas cómodamente cada vez que ejecutes la aplicación. Necesitas conexión a internet para ver las imágenes.</p>
<p><a title="Descargar Cámaras DGT para Windows Phone 7, de Rubén Hinojosa" href="http://www.windowsphone.com/es-ES/apps/8d22cbdc-1fba-4f38-bdbf-8be56cf84434" target="_blank">Descarga <strong>Cámaras DGT</strong> para Windows Phone 7</a></p>
<p><a href="http://www.windowsphone.com/es-ES/apps/8d22cbdc-1fba-4f38-bdbf-8be56cf84434" target="_blank"><img class="alignnone size-full wp-image-919" title="Descargar Cámaras DGT para Windows Phone 7, de Rubén Hinojosa" src="http://www.hinojosachapel.com/wp-content/uploads/2011/12/Download-Spanish-Med.png" alt="Descargar Cámaras DGT para Windows Phone 7, de Rubén Hinojosa" width="165" height="54" /></a></p>
<p>Es gratis <img src='http://www.hinojosachapel.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  <span id="more-875"></span></p>
<p style="border-top-style: dotted; border-top-width: 1px; border-top-color: #cccccc; padding-top: 10px;"><strong>Cámaras DGT</strong> es mi primera aplicación para Windows Phone 7. Muestra imágenes estáticas publicadas por la Dirección General de Tráfico, los ayuntamientos de Madrid y Barcelona, y el <em>Servei Català de Trànsit</em>. Puede que en un futuro próximo agregue más cámaras de otras comunidades y ciudades españolas. ¿Quieres ver tu ciudad? No dudes en <a title="Contacto | Rubén Hinojosa Chapel - Blog personal" href="http://www.hinojosachapel.com/contacto" target="_self">contactarme</a>.</p>
<p><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams7.png"><img class="alignnone size-medium wp-image-939" title="Cataluña (Molins de Rei) Vertical" src="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams7-180x300.png" alt="Cataluña (Molins de Rei) Vertical" width="178" height="296" /></a><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams7a.png"><img class="alignnone size-full wp-image-935" title="Cataluña (Molins de Rei) Horizontal" src="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams7a.png" alt="Cataluña (Molins de Rei) Horizontal" width="495" height="296" /></a></p>
<p>La aplicación ha estado disponible en el Marketplace desde hace un mes y medio. Exactamente desde el 14 de noviembre de 2011. A pesar del corto tiempo que lleva publicada, me ha sorprendido agradablemente el número de veces que ha sido descargada, no sólo en España, sino también en el resto de los países desde donde se puede descargar.</p>
<p><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams14.png"><img class="alignnone size-medium wp-image-948" title="Madrid Ciudad (Calle 30 - Avenida Ilustración - Betanzos) Vertical" src="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams14-180x300.png" alt="Madrid Ciudad (Calle 30 - Avenida Ilustración - Betanzos) Vertical" width="178" height="296" /></a><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams14a.png"><img class="alignnone size-full wp-image-949" title="Madrid Ciudad (Calle 30 - Avenida Ilustración - Betanzos) Horizontal" src="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams14a.png" alt="Madrid Ciudad (Calle 30 - Avenida Ilustración - Betanzos) Horizontal" width="495" height="296" /></a></p>
<p>El proceso de creación resultó ser también un proceso de aprendizaje. Uno de los puntos fuertes de Windows Phone 7, desde el punto de vista del desarrollador .NET, es que parte de la experiencia previa y los conocimientos adquiridos en otras áreas de la plataforma son utilizables o extrapolables al sistema de desarrollo del teléfono. La dualidad XAML+C#, presentada bajo el nombre de <em><a title="Silverlight for Windows Phone" href="http://www.microsoft.com/silverlight/windows-phone/" target="_blank">Silverlight for Windows Phone</a></em>, no es nueva. Ya la tuvimos en WPF (<em><a title="Windows Presentation Foundation" href="http://es.wikipedia.org/wiki/Windows_Presentation_Foundation" target="_blank">Windows Presentation Foundation</a></em>), en <a title="Silverlight 5 released; will there be a Silverlight 6?" href="http://arstechnica.com/microsoft/news/2011/12/silverlight-5-released-will-there-be-a-silverlight-6.ars" target="_blank">Silverlight</a> (originalmente llamado <em>WPF/Everywhere</em>), y la tendremos en pocos meses en el futuro Windows 8 bajo el nombre de <a title="WinRT demystified (a third implementation of the XAML-based UI system)" href="http://tirania.org/blog/archive/2011/Sep-15.html" target="_blank">WinRT</a> (<em><a title="The WinRT Genome Project" href="http://thewire.vertigo.com/2011/the-winrt-genome-project/" target="_blank">Windows Runtime</a></em>).</p>
<p><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams20.png"><img class="alignnone size-medium wp-image-953" title="Comunidad de Madrid (A-6 de Moncloa a Puerta de Hierro) Vertical" src="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams20-180x300.png" alt="Comunidad de Madrid (A-6 de Moncloa a Puerta de Hierro) Vertical" width="178" height="296" /></a><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams20a.png"><img class="alignnone size-full wp-image-954" title="Comunidad de Madrid (A-6 de Moncloa a Puerta de Hierro) Horizontal" src="http://www.hinojosachapel.com/wp-content/uploads/2011/12/DGTCams20a.png" alt="Comunidad de Madrid (A-6 de Moncloa a Puerta de Hierro) Horizontal" width="495" height="296" /></a></p>
<p>Luego están los temas realmente nuevos. No solamente hay que aprender la colección de nuevos controles Silverlight, propios del teléfono móvil, o las nuevas clases que realizan tareas asociadas a este tipo de dispositivo. Hay que conocer también el nuevo y premiado lenguaje de diseño visual <a title="Metro (design language)" href="http://en.wikipedia.org/wiki/Metro_(design_language)" target="_blank">Metro</a>. Hay que entender la filosofía que subyace en él. Y hay que comprender que <a title="Introduction To Designing For Windows Phone 7 And Metro" href="http://uxdesign.smashingmagazine.com/2011/12/20/introduction-designing-windows-phone-7-metro/" target="_blank">aquí no se diseña como se hace para iOS o Android</a>.</p>
<p>Windows Phone 7 es un universo nuevo, emocionante y en expansión, que se apoya en <a title="Cómo abrir el menú Inicio en Windows Mobile con C#" href="http://www.hinojosachapel.com/2011/02/como-abrir-el-menu-inicio-en-windows-mobile-con-c.aspx" target="_blank">tecnologías maduras</a> de Microsoft. Es una propuesta <strong>diferente</strong>. Ha llegado último a la fiesta pero, como dicen en mi pueblo, <em>no van lejos los de alante si los de atrás corren bien</em>. La empresa de Redmond está desarrollando una estrategia global de largo recorrido, que pasa por su alianza con Nokia, la adaptación de <a title="Interfaz de Windows 8 al descubierto: Metro UI para todos" href="http://www.genbeta.com/sistemas-operativos/windows-8-para-tablets-al-descubierto-interfaz-metro-para-todos" target="_blank">Metro para tablets en Windows 8</a>, la reciente actualización de la interfaz de la <a title="Xbox 360 se viste de Metro para llevarse mejor con Windows Phone y Kinect" href="http://www.xataka.com/consolas-y-videojuegos/xbox-360-se-viste-de-metro-para-llevarse-mejor-con-windows-phone-y-kinect" target="_blank">Xbox con Metro</a>, el fuerte apoyo a los desarrolladores y una inusual campaña de márketing (centrada fundamentalmente en los Estados Unidos), entre otras acciones. Definitivamente, el nuevo año 2012 se presenta como una etapa muy interesante de eso que han dado en llamar la era post PC.</p>
<p><strong>NOTA:</strong> Cuando escribí el refrán <em>No van lejos los de <strong>alante</strong>&#8230;</em> me asaltó la duda. ¿Debería haber dicho <strong>adelante</strong>? Por mucho que la <a title="Alante" href="http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&amp;LEMA=alante" target="_blank">RAE</a> no acepte el vocablo, si lo hubiese cambiado habría falseado la literalidad de la frase tal como la escuché siempre y como permanece viva en el habla popular. Una búsqueda en internet me llevó al <a title="Alante" href="http://blog.lengua-e.com/2010/alante/" target="_blank">Blog de la Lengua</a>. Tanto el artículo como la aportación muy interesante de los comentaristas ofrecen bastante luz al respecto.</p>
<p><strong>Enlaces de interés:</strong></p>
<p><strong>Silverlight for Windows Phone<br />
</strong><a title="Silverlight for Windows Phone" href="http://www.microsoft.com/silverlight/windows-phone/" target="_blank">http://www.microsoft.com/silverlight/windows-phone</a>/</p>
<p><strong>Windows Presentation Foundation<br />
</strong><a title="Windows Presentation Foundation" href="http://es.wikipedia.org/wiki/Windows_Presentation_Foundation" target="_blank">http://es.wikipedia.org/wiki/Windows_Presentation_Foundation</a></p>
<p><strong>Silverlight 5 released; will there be a Silverlight 6?<br />
</strong><a title="Silverlight 5 released; will there be a Silverlight 6?" href="http://arstechnica.com/microsoft/news/2011/12/silverlight-5-released-will-there-be-a-silverlight-6.ars" target="_blank">http://arstechnica.com/microsoft/news/2011/12/silverlight-5-released-will-there-be-a-silverlight-6.ars</a></p>
<p><strong>WinRT demystified<br />
</strong><a title="WinRT demystified" href="http://tirania.org/blog/archive/2011/Sep-15.html" target="_blank">http://tirania.org/blog/archive/2011/Sep-15.html</a></p>
<p><strong>The WinRT Genome Project<br />
</strong><a title="The WinRT Genome Project" href="http://thewire.vertigo.com/2011/the-winrt-genome-project/" target="_blank">http://thewire.vertigo.com/2011/the-winrt-genome-project</a>/</p>
<p><strong>Metro (design language)<br />
</strong><a title="Metro (design language)" href="http://en.wikipedia.org/wiki/Metro_(design_language)" target="_blank">http://en.wikipedia.org/wiki/Metro_(design_language)</a></p>
<p><strong>Introduction To Designing For Windows Phone 7 And Metro<br />
</strong><a title="Introduction To Designing For Windows Phone 7 And Metro" href="http://uxdesign.smashingmagazine.com/2011/12/20/introduction-designing-windows-phone-7-metro/" target="_blank">http://uxdesign.smashingmagazine.com/2011/12/20/introduction-designing-windows-phone-7-metro/</a></p>
<p><strong>Interfaz de Windows 8 al descubierto: Metro UI para todos<br />
</strong><a title="Interfaz de Windows 8 al descubierto: Metro UI para todos" href="http://www.genbeta.com/sistemas-operativos/windows-8-para-tablets-al-descubierto-interfaz-metro-para-todos" target="_blank">http://www.genbeta.com/sistemas-operativos/windows-8-para-tablets-al-descubierto-interfaz-metro-para-todos</a></p>
<p><strong>Xbox 360 se viste de Metro para llevarse mejor con Windows Phone y Kinect<br />
</strong><a title="Xbox 360 se viste de Metro para llevarse mejor con Windows Phone y Kinect" href="http://www.xataka.com/consolas-y-videojuegos/xbox-360-se-viste-de-metro-para-llevarse-mejor-con-windows-phone-y-kinect" target="_blank">http://www.xataka.com/consolas-y-videojuegos/xbox-360-se-viste-de-metro-para-llevarse-mejor-con-windows-phone-y-kinect</a></p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2011/12/camaras-dgt-para-windows-phone-7-disponible-en-el-marketplace.aspx' addthis:title='Cámaras DGT para Windows Phone 7, disponible en el Marketplace' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.hinojosachapel.com/2011/12/camaras-dgt-para-windows-phone-7-disponible-en-el-marketplace.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo usar imágenes y botones con fondo transparente en Windows Mobile con C#</title>
		<link>http://www.hinojosachapel.com/2011/10/como-usar-imagenes-y-botones-con-fondo-transparente-en-windows-mobile-con-c.aspx</link>
		<comments>http://www.hinojosachapel.com/2011/10/como-usar-imagenes-y-botones-con-fondo-transparente-en-windows-mobile-con-c.aspx#comments</comments>
		<pubDate>Mon, 17 Oct 2011 20:57:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Movilidad]]></category>
		<category><![CDATA[Tecnologías .NET]]></category>

		<guid isPermaLink="false">http://www.hinojosachapel.com/?p=815</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2011/10/como-usar-imagenes-y-botones-con-fondo-transparente-en-windows-mobile-con-c.aspx' addthis:title='Cómo usar imágenes y botones con fondo transparente en Windows Mobile con C# '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>En la época del iOS, Android, BlackBerry OS, e incluso de un casi recién nacido Windows Phone 7 que pretende crecer de forma acelerada, hablar de Windows Mobile puede parecer demodé, fuera de moda. Y lo es. &#8220;Microsoft ha matado a su sistema operativo Windows Mobile&#8220;, decía en mi entrada anterior Cómo abrir el menú [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2011/10/como-usar-imagenes-y-botones-con-fondo-transparente-en-windows-mobile-con-c.aspx' addthis:title='Cómo usar imágenes y botones con fondo transparente en Windows Mobile con C#' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2011/10/como-usar-imagenes-y-botones-con-fondo-transparente-en-windows-mobile-con-c.aspx' addthis:title='Cómo usar imágenes y botones con fondo transparente en Windows Mobile con C# '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/10/telefono-v3.png"><img class="size-full wp-image-817 aligncenter" title="Teléfono v3" src="http://www.hinojosachapel.com/wp-content/uploads/2011/10/telefono-v3.png" alt="Teléfono v3" width="348" height="498" /></a></p>
<p>En la época del iOS, Android, BlackBerry OS, e incluso de un casi recién nacido Windows Phone 7 que pretende crecer de forma acelerada, hablar de Windows Mobile puede parecer <em>demodé</em>, fuera de moda. Y lo es. &#8220;<em>Microsoft ha matado a su sistema operativo Windows Mobile</em>&#8220;, decía en mi entrada anterior <a title="Cómo abrir el menú Inicio en Windows Mobile con C#" href="http://www.hinojosachapel.com/2011/02/como-abrir-el-menu-inicio-en-windows-mobile-con-c.aspx" target="_blank">Cómo abrir el menú Inicio en Windows Mobile con C#</a>. Con el objetivo de recuperar parte del terreno perdido, Microsoft ha venido realizando un amplio conjunto de acciones dirigidas a estimular el mercado de Windows Phone 7. De momento, <a title="Windows Phone, a year on." href="http://www.asymco.com/2011/10/12/windows-phone-a-year-on/" target="_blank">el mercado se resiste</a>.<span id="more-815"></span></p>
<p>&#8220;<em>Visual Studio 2010 no admite el desarrollo de aplicaciones para móviles para las versiones de Windows Phone anteriores a Windows Phone 7.0.</em>&#8220;, puede <a title="Desarrollo para Smart Device" href="http://msdn.microsoft.com/es-es/library/sa69he4t.aspx" target="_blank">leerse en la MSDN</a>. Visual Studio 2008 es la última versión del entorno de desarrollo que podemos utilizar para crear aplicaciones de Windows Mobile. Quizás ésta sea una de esas acciones que comentaba antes, en este caso dirigida a desestimular el apego por la vieja plataforma.</p>
<p>Copio y pego un párrafo de mi anterior entrada sobre <a title="Movilidad | Rubén Hinojosa Chapel - Blog personal" href="http://www.hinojosachapel.com/category/movilidad" target="_blank">movilidad</a>:</p>
<p>&#8220;<em>¿Quiere decir ésto que ya hay que olvidarse, como desarrollador, de Windows Mobile? Quizás. Pero allá afuera hay un legado de aplicaciones antiguas que necesitan ser mantenidas, y lo cierto es que las nuevas tendencias en los desarrollos móviles están influyendo en los criterios de mantenimiento de aplicaciones que fueron creadas sobre una plataforma ya obsoleta.</em>&#8221;</p>
<p>Si hoy tuviera que crear una aplicación de movilidad desde cero, no la haría para Windows Mobile. Pero si tuviera que mantener una aplicación desarrollada para esa plataforma, no lo haría como se hacía hace varios años. Utilizaría ideas de diseño modernas que superan las capacidades nativas de Windows Mobile. Por ejemplo, la posibilidad de usar imágenes y botones con fondo transparente.</p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/10/telefono-v3-menu-inicio.png"><img class="size-full wp-image-818 aligncenter" title="Teléfono v3 menú inicio" src="http://www.hinojosachapel.com/wp-content/uploads/2011/10/telefono-v3-menu-inicio.png" alt="Teléfono v3 menú inicio" width="348" height="498" /></a></p>
<p>Para lograr éste y otros tipos de efectos visuales, existen en la red interesantes proyectos de código abierto. He seleccionado uno de ellos muy fácil de usar, <a title="AlphaMobileControls" href="http://alphamobilecontrols.codeplex.com/" target="_blank">AlphaMobileControls</a>, para crear una interfaz más actual y continuar desarrollando el proyecto pedagógico que he utilizado a lo largo de varios post: una <a title="Teléfono v3" href="http://www.hinojosachapel.com/wp-content/uploads/2011/10/TelefonoV3.zip">sencilla aplicación</a> que sirve para hacer llamadas telefónicas, ocupa toda la pantalla y permite abrir el menú Inicio.</p>
<p>AlphaMobileControls ofrece pocas clases y controles:</p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/10/AlphaMobileControls.png"><img class="size-full wp-image-819 aligncenter" title="AlphaMobileControls" src="http://www.hinojosachapel.com/wp-content/uploads/2011/10/AlphaMobileControls.png" alt="AlphaMobileControls" width="562" height="198" /></a></p>
<div style="text-align: left;">
<ul>
<li><strong>AlphaControl</strong>: Ancestro de los controles con transparencia.</li>
<li><strong>AlphaForm</strong>: Contenedor para colocar controles descendientes de AlphaControl. Sustituye a Windows.Forms.Form.</li>
<li><strong>AlphaImage</strong>: Imagen con transparencia. Usada por AlphaImageButton y AlphaPictureBox.</li>
<li><strong>AlphaImageButton</strong>: Botón con transparencia.</li>
<li><strong>AlphaLabel</strong>: Label con transparencia.</li>
<li><strong>AlphaPanel</strong>: Contenedor para colocar controles descendientes de AlphaControl. Sustituye a Windows.Forms.Panel.</li>
<li><strong>AlphaPictureBox</strong>: PictureBox con transparencia.</li>
</ul>
</div>
<p>Basta con sustituir en la aplicación antigua los Windows.Forms.Form por AlphaForm, o los Windows.Forms.Panel por AlphaPanel. Encima de ellos podemos colocar los botones, imágenes y etiquetas que necesite el programa. El código de ejemplo demuestra cómo hacerlo. Para los botones he utilizado un psd de la colección <a title="openPhone" href="http://walrick.deviantart.com/art/openPhone-49529974" target="_blank">openPhone</a>, creado por <a title="Walrick" href="http://walrick.deviantart.com/" target="_blank">Walrick</a>. Descarga el código del proyecto <a title="Teléfono v3" href="http://www.hinojosachapel.com/wp-content/uploads/2011/10/TelefonoV3.zip">Teléfono v3</a>.</p>
<p><strong>Otros proyectos de interés:</strong></p>
<p><strong>Windows Mobile &#8211; Attractive UI: Part I</strong><br />
<a title="Windows Mobile - Attractive UI: Part I" href="http://www.codeproject.com/KB/windows/Windows_Mobile_UI.aspx" target="_blank">http://www.codeproject.com/KB/windows/Windows_Mobile_UI.aspx</a><br />
(Explica cómo funciona internamente AlphaMobileControls)</p>
<p><strong>Silvermoon</strong><br />
<a title="Silvermoon" href="http://silvermoon.codeplex.com/" target="_blank">http://silvermoon.codeplex.com/</a></p>
<p><strong>Composite UI Framework for Windows Mobile</strong><br />
<a title="Composite UI Framework for Windows Mobile" href="http://mobileui.codeplex.com/" target="_blank">http://mobileui.codeplex.com/</a></p>
<p><strong>Fluid &#8211; Windows Mobile .NET Touch Controls</strong><br />
<a title="Fluid - Windows Mobile .NET Touch Controls" href="http://fluid.codeplex.com/" target="_blank">http://fluid.codeplex.com/</a></p>
<p><strong>Touch UI</strong><br />
<a title="Touch UI" href="http://touchui.codeplex.com/" target="_blank">http://touchui.codeplex.com/</a></p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2011/10/como-usar-imagenes-y-botones-con-fondo-transparente-en-windows-mobile-con-c.aspx' addthis:title='Cómo usar imágenes y botones con fondo transparente en Windows Mobile con C#' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.hinojosachapel.com/2011/10/como-usar-imagenes-y-botones-con-fondo-transparente-en-windows-mobile-con-c.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo abrir el menú Inicio en Windows Mobile con C#</title>
		<link>http://www.hinojosachapel.com/2011/02/como-abrir-el-menu-inicio-en-windows-mobile-con-c.aspx</link>
		<comments>http://www.hinojosachapel.com/2011/02/como-abrir-el-menu-inicio-en-windows-mobile-con-c.aspx#comments</comments>
		<pubDate>Sun, 06 Feb 2011 21:00:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Movilidad]]></category>
		<category><![CDATA[Tecnologías .NET]]></category>

		<guid isPermaLink="false">http://www.hinojosachapel.com/?p=740</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2011/02/como-abrir-el-menu-inicio-en-windows-mobile-con-c.aspx' addthis:title='Cómo abrir el menú Inicio en Windows Mobile con C# '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Microsoft ha matado a su sistema operativo Windows Mobile. Tras los numerosos retrasos en el desarrollo de Windows Mobile 7, aceptó sabiamente que el proyecto ya era un fracaso aún antes de ver la luz. iPhone y Android habían tomado la delantera, y amenazaban con dejar fuera de la carrera a quien años atrás había [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2011/02/como-abrir-el-menu-inicio-en-windows-mobile-con-c.aspx' addthis:title='Cómo abrir el menú Inicio en Windows Mobile con C#' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2011/02/como-abrir-el-menu-inicio-en-windows-mobile-con-c.aspx' addthis:title='Cómo abrir el menú Inicio en Windows Mobile con C# '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/02/menuinicio.png"><img class="aligncenter size-full wp-image-742" title="Cómo abrir el menú Inicio en Windows Mobile con C#" src="http://www.hinojosachapel.com/wp-content/uploads/2011/02/menuinicio.png" alt="Cómo abrir el menú Inicio en Windows Mobile con C#" width="296" height="460" /></a></p>
<p>Microsoft ha matado a su sistema operativo Windows Mobile. Tras los numerosos retrasos en el desarrollo de Windows Mobile 7, aceptó sabiamente que el proyecto ya era un fracaso aún antes de ver la luz. iPhone y Android habían tomado la delantera, y amenazaban con dejar fuera de la carrera a quien años atrás había sido el líder. Así que en diciembre de 2008 <a title="How Microsoft Hit CTRL+ALT+DEL on Windows Phone" href="http://www.wired.com/gadgetlab/2010/11/making-windows-phone-7/all/1" target="_blank">apretó CTRL+ALT+DEL</a> y comenzó a crear un nuevo sistema operativo para teléfonos inteligentes, apoyándose en tecnologías que ya tenían cierto recorrido: el núcleo de Windows Mobile (Windows CE 6.0 R3), la plataforma .NET, Silverlight y XNA Framework. De esta manera nació el <a title="Inicio de Windows Phone | Windows Phone 7 " href="http://www.microsoft.com/windowsphone/es-es/default.aspx" target="_blank">Windows Phone 7</a>.</p>
<p>En cuanto estuvieron disponibles las primeras betas del sistema y de las herramientas de desarrollo, Microsoft inició una frenética cruzada para captar desarrolladores de aplicaciones. Con su ya famoso grito de guerra <em><a title="Developers, developers, developers" href="http://www.youtube.com/watch?v=t6ZarKIKpSA" target="_blank">Developers, developers, developers!,</a></em> Steve Ballmer reconocía la importancia de este sector en su estrategia global. Windows Phone 7 no tendría futuro si no contaba con su propia tienda de aplicaciones, por lo que tendría que potenciar el ya existente <a title="Aplicaciones | Windows Phone 7 " href="http://www.microsoft.com/windowsphone/es-es/apps/default.aspx" target="_blank">Marketplace</a>.<br />
<span id="more-740"></span><br />
Microsoft ha intentado convencer a miles de desarrolladores de que el futuro está en <a title="App Hub - home" href="http://create.msdn.com/en-US/" target="_blank">WP7</a>, y ha llevado a cabo numerosas acciones para facilitar el aprendizaje de la nueva plataforma tecnológica (<a title="Windows Phone 7 Development for Absolute Beginners" href="http://channel9.msdn.com/Series/Windows-Phone-7-Development-for-Absolute-Beginners" target="_blank">Windows Phone 7 Development for Absolute Beginners</a>, <a title="Windows Phone 7 Training Course" href=" http://msdn.microsoft.com/es-es/wp7trainingcourse" target="_blank">Windows Phone 7 Training Course</a>). Después de todo, tiene una tienda que llenar de productos nuevos para ayer mismo. ¿Quiere decir ésto que ya hay que olvidarse, como desarrollador, de Windows Mobile? Quizás. Pero allá afuera hay un legado de aplicaciones antiguas que necesitan ser mantenidas, y lo cierto es que las nuevas tendencias en los desarrollos móviles están influyendo en los criterios de mantenimiento de aplicaciones que fueron creadas sobre una plataforma ya obsoleta.</p>
<p>Hoy en día se tiende a aprovechar todo el espacio físico que ofrece la pantalla del teléfono, maximizando el tamaño de la ventana de la aplicación. Por ejemplo, <a title="i-nigma Reader" href="http://www.i-nigma.com/Downloadi-nigmaReader.html" target="_blank">i-nigma</a>, un difundido lector de códigos QR, utiliza este principio de diseño GUI.</p>
<p style="text-align: center;"><a href="http://www.hinojosachapel.com/wp-content/uploads/2011/02/i-nigma.jpg"><img class="aligncenter size-full wp-image-743" title="i-nigma" src="http://www.hinojosachapel.com/wp-content/uploads/2011/02/i-nigma.jpg" alt="" width="240" height="320" /></a></p>
<div id="_mcePaste">Pero esta forma de diseñar la interfaz gráfica de la aplicación tiene un efecto colateral: la barra superior que muestra la hora, el menú de Inicio y otros datos, queda oculta bajo la ventana de la aplicación. Si el usuario quisiese desplegar el menú de Inicio para abrir otro programa tendría que cerrar antes la aplicación actual.</div>
<p>En cierta ocasión viví en primera persona esta historia, pues los usuarios estaban habituados a consultar el calendario y otras aplicaciones mientras utilizaban el programa que me había tocado mantener. Propuse maximizar la ventana, y así se hizo. Tras las primeras pruebas de los <em>key users</em>, las protestas no tardaron en llegar. Tenía dos opciones: o daba marcha atrás y dejaba el diseño de la interfaz como estaba anteriormente, o mantenía el nuevo diseño, más moderno, y ofrecía una solución que resolviera el nuevo problema.</p>
<p>Y la solución fue simular por programación que el usuario hacía click sobre el icono del menu Inicio. ¿Y cómo podemos abrir el menú Inicio en Windows Mobile con C#? Pongamos manos a la obra.</p>
<p>Los teclados que han sido creados específicamente para ser usados en ordenadores con Windows <em>(Microsoft Natural Keyboard</em>) tienen dos teclas especiales que muestran el logotipo de este sistema operativo. Cuando se presiona cualquiera de los dos, el resultado es el mismo: se despliega el menú Inicio. En un dispositivo con Windows Mobile podemos simular esta acción mediante la función <strong><a title="keybd_event" href="http://msdn.microsoft.com/en-us/library/aa928103.aspx" target="_blank">keybd_event</a></strong>, que se encuentra en la dll no administrada <strong>coredll.dll</strong>, por lo que tendremos que utilizar <strong><a title="keybd_event (coredll)" href="http://pinvoke.net/default.aspx/coredll.keybd_event" target="_blank">P/Invoke</a></strong> para importarla a nuestro código C#:</p>
<p>[System.Runtime.InteropServices.DllImport("coredll.dll", EntryPoint = "keybd_event", SetLastError = true)]</p>
<p>internal static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);</p>
<p>Una vez que hemos importado esta función, sólo nos resta usarla con los valores adecuados. El código de la tecla izquierda con el logotipo de Windows (<em>Left Windows key</em>) es <strong>0x5B</strong>. Tendremos que simular dos eventos: cuando se oprime la tecla, y cuando se libera. El código del primer evento es cero (<strong>0&#215;0</strong>), mientras que el del  segundo es 2 (<strong>0&#215;2</strong>). Ahora tendríamos que colocar sobre la interfaz de nuestra aplicación una imagen o un botón, y asociarle un evento que &#8220;oprima&#8221; y &#8220;libere&#8221; el menú de inicio. El código fuente en C# quedaría más o menos así:</p>
<p>const int VK_LWIN = 0x5B;<br />
const int KEYEVENTF_KEYUP = 0&#215;2;<br />
const int KEYEVENTF_KEYDOWN = 0&#215;0;</p>
<p>private void btnInicio_Click(object sender, EventArgs e)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;keybd_event(VK_LWIN, 0, KEYEVENTF_KEYDOWN, 0);<br />
&nbsp;&nbsp;&nbsp;&nbsp;keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0);<br />
}</p>
<p>En este código de ejemplo hemos utilizado la declaración de varias <a title="Virtual-Key Codes" href="http://msdn.microsoft.com/en-us/library/dd375731(v=VS.85).aspx" target="_blank">constantes</a>, pero podríamos haber utilizado el tipo enumerativo <a title="Keys Enumeration" href="http://msdn.microsoft.com/en-us/library/system.windows.forms.keys(VS.90).aspx" target="_blank"><strong>Keys</strong></a>, del espacio de nombres <strong>System.Windows.Forms</strong>. El código alternativo y equivalente quedaría así:</p>
<p>private void btnInicio_Click(object sender, EventArgs e)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;keybd_event((byte)Keys.LWin, 0, KEYEVENTF_KEYDOWN, 0);<br />
&nbsp;&nbsp;&nbsp;&nbsp;keybd_event((byte)Keys.LWin, 0, KEYEVENTF_KEYUP, 0);<br />
}</p>
<p>Nótese que hemos necesitado realizar un <em>typecast </em>sobre el valor <strong>Keys.LWin</strong>, porque la función <strong>keybd_event()</strong> espera como primer parámetro un valor de tipo <strong>byte</strong>.</p>
<p>He aprovechado el código de ejemplo de la entrada <strong><a title="Cómo hacer una llamada telefónica en Windows Mobile con C#" href="http://www.hinojosachapel.com/2009/08/como-hacer-una-llamada-telefonica-en-windows-mobile-con-c.aspx" target="_blank">Cómo hacer una llamada telefónica en Windows Mobile con C#</a></strong> para ampliarlo con esta nueva funcionalidad. <a title="Cómo abrir el menú Inicio en Windows Mobile con C#" href="http://www.hinojosachapel.com/wp-content/uploads/2011/02/TelefonoV2.zip">Descarga la nueva versión</a> y comprueba su utilidad.</p>
<p><strong>Enlaces de interés:</strong></p>
<p><strong>Cómo abrir el menú Inicio en Windows Mobile con C#</strong><br />
<a title="Cómo abrir el menú Inicio en Windows Mobile con C#: Código fuente" href="http://www.hinojosachapel.com/wp-content/uploads/2011/02/TelefonoV2.zip">El código fuente del proyecto</a></p>
<p><strong>keybd_event</strong><br />
<a title="keybd_event" href="http://msdn.microsoft.com/en-us/library/aa928103.aspx" target="_blank">http://msdn.microsoft.com/en-us/library/aa928103.aspx</a></p>
<p><strong>keybd_event (coredll)</strong><br />
<a title="keybd_event (coredll)" href="http://pinvoke.net/default.aspx/coredll.keybd_event" target="_blank">http://pinvoke.net/default.aspx/coredll.keybd_event</a></p>
<p><strong>Virtual-Key Codes</strong><br />
<a title="Virtual-Key Codes" href="http://msdn.microsoft.com/en-us/library/dd375731(v=VS.85).aspx" target="_blank">http://msdn.microsoft.com/en-us/library/dd375731(v=VS.85).aspx</a></p>
<p><strong>Keys Enumeration</strong><br />
<a title="Keys Enumeration" href="http://msdn.microsoft.com/en-us/library/system.windows.forms.keys(VS.90).aspx" target="_blank">http://msdn.microsoft.com/en-us/library/system.windows.forms.keys(VS.90).aspx</a></p>
<p><strong>How Microsoft Hit CTRL+ALT+DEL on Windows Phone</strong><br />
<a title="How Microsoft Hit CTRL+ALT+DEL on Windows Phone" href="http://www.wired.com/gadgetlab/2010/11/making-windows-phone-7/all/1" target="_blank">http://www.wired.com/gadgetlab/2010/11/making-windows-phone-7/all/1</a></p>
<p>ACTUALIZACIÓN</p>
<p><strong>Windows Phone OS 7.0: What&#8217;s inside?</strong><br />
<a title="Windows Phone OS 7.0: What's inside?" href="http://www.zdnet.com/blog/microsoft/windows-phone-os-70-whats-inside/6110" target="_blank">http://www.zdnet.com/blog/microsoft/windows-phone-os-70-whats-inside/6110</a></p>
<p><strong>¿Porqué sería posible instalar Windows Phone 7 en un smartphone Nokia?</strong><br />
<a title="¿Porqué sería posible instalar Windows Phone 7 en un smartphone Nokia?" href="http://logica10mobile.blogspot.com/2011/02/porque-seria-posible-instalar-windows.html" target="_blank">http://logica10mobile.blogspot.com/2011/02/porque-seria-posible-instalar-windows.html</a></p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2011/02/como-abrir-el-menu-inicio-en-windows-mobile-con-c.aspx' addthis:title='Cómo abrir el menú Inicio en Windows Mobile con C#' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.hinojosachapel.com/2011/02/como-abrir-el-menu-inicio-en-windows-mobile-con-c.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo encender el teléfono en Windows Mobile con C#</title>
		<link>http://www.hinojosachapel.com/2010/02/como-encender-el-telefono-en-windows-mobile-con-c.aspx</link>
		<comments>http://www.hinojosachapel.com/2010/02/como-encender-el-telefono-en-windows-mobile-con-c.aspx#comments</comments>
		<pubDate>Thu, 25 Feb 2010 19:53:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Movilidad]]></category>
		<category><![CDATA[Tecnologías .NET]]></category>

		<guid isPermaLink="false">http://www.hinojosachapel.com/?p=673</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2010/02/como-encender-el-telefono-en-windows-mobile-con-c.aspx' addthis:title='Cómo encender el teléfono en Windows Mobile con C# '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Recientemente un cliente me pidió, como parte de los requerimientos del proyecto, que para realizar ciertas acciones en su aplicación de Windows Mobile se encendiera y apagara el teléfono automáticamente, sin que el usuario tuviera que intervenir. Concretamente, la aplicación tiene que abrir una conexión de datos GPRS, conectarse a un webservice situado en un [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2010/02/como-encender-el-telefono-en-windows-mobile-con-c.aspx' addthis:title='Cómo encender el teléfono en Windows Mobile con C#' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2010/02/como-encender-el-telefono-en-windows-mobile-con-c.aspx' addthis:title='Cómo encender el teléfono en Windows Mobile con C# '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p style="text-align: center; "><a href="http://www.hinojosachapel.com/wp-content/uploads/2010/02/encender-telefono.png"><img class="aligncenter size-full wp-image-677" title="encender-telefono" src="http://www.hinojosachapel.com/wp-content/uploads/2010/02/encender-telefono.png" alt="encender-telefono" width="350" height="502" /></a></p>
<p>Recientemente un cliente me pidió, como parte de los requerimientos del proyecto, que para realizar ciertas acciones en su aplicación de Windows Mobile se encendiera y apagara el teléfono automáticamente, sin que el usuario tuviera que intervenir. Concretamente, la aplicación tiene que abrir una conexión de datos GPRS, conectarse a un <em>webservice</em> situado en un servidor de Internet, e intercambiar cierta información con éste. El teléfono no se utiliza para comunicaciones de voz, sólo de datos.</p>
<p>Como era una tarea que nunca antes había realizado, tuve que recurrir a Google para intentar encontrar la solución, alguna solución cercana, a alguna pista que me llevara hacia ella. Pronto la decepción se apropió de mí. Por más que buscaba y buscaba cómo encender el teléfono en Windows Mobile con C#, no encontraba nada, a pesar de que la búsqueda la realizaba en Inglés, <a title="El Inglés es el idioma más difundido en Internet" href="http://www.internetworldstats.com/stats7.htm" target="_blank">el idioma más difundido en la red</a>.</p>
<p>Sin embargo, aunque lentamente, poco a poco me fui acercando a la solución. La causa de la falta de respuestas era que no estaba escribiendo la pregunta correcta. Para un usuario común puede que la frase &#8220;encender el teléfono&#8221; le resultara natural, pero en términos más técnicos el enfoque correcto es &#8220;encender la radio del dispositivo móvil&#8221;. Y en Inglés. Algo así como: <a title="Buscar con Google: turn radio on and off windows mobile c#" href="http://www.google.com/search?q=turn+radio+on+and+off+windows+mobile+c%23&amp;btnG=Buscar&amp;hl=es&amp;lr=&amp;rlz=1C1CHNG_esES344ES344&amp;sa=2" target="_blank">turn radio on and off windows mobile c#</a>. Aunque en este contexto existen otros posibles sinónimos de <em>turn</em>, como <em>switch</em> o <em>toggle</em>.<br />
<span id="more-673"></span><br />
Resulta que en la ROM del dispositivo existe una dll no documentada llamada <strong>ossvcs.dll</strong>, que exporta funciones para controlar los Dispositivos de Radio (<em>Radio Devices</em>). Es decir, los módulos de Bluetooth, Teléfono y Red Inalámbrica (WiFi). <strong>Ossvcs.dll</strong> exporta las funciones por un número de orden y no por su nombre. Estas funciones pertenecen a un API no administrado, por lo que para invocarlas desde nuestro código C# necesitaremos declarar los prototipos mediante p/Invoke. Las funciones que necesitamos son las siguientes:</p>
<p><strong>[DllImport("ossvcs.dll", EntryPoint = "#276", CharSet = CharSet.Unicode)]<br />
private static extern uint GetWirelessDevice(ref IntPtr pDevice, int pDevVal);</strong></p>
<p><strong>[DllImport("ossvcs.dll", EntryPoint = "#273", CharSet = CharSet.Unicode)]<br />
private static extern uint ChangeRadioState(ref RDD pDevice, int dwState, int saveAction);</strong></p>
<p><strong>[DllImport("ossvcs.dll", EntryPoint = "#280", CharSet = CharSet.Unicode)]<br />
private static extern uint FreeDeviceList(IntPtr pDevice);</strong></p>
<p>Nótese cómo <strong>EntryPoint</strong> contiene el número de orden que identifica a la función invocada.</p>
<p>De las tres funciones, la que realmente nos interesa es<strong> ChangeRadioState()</strong>, porque justamente es la que nos permite cambiar el estado de la radio. Es decir, encenderla o apagarla. O dicho de forma llana, encender o apagar el teléfono.</p>
<p>He creado una clase llamada<strong> MobileRadio</strong>, que expone un único método público estático: <strong>SetDeviceState()</strong>. Este método acepta dos argumentos de tipo entero. El primero indica el tipo de dispositivo, y el segundo informa el estado al que se desea cambiar. El tipo de dispositivo puede ser uno de los siguientes: Bluetooth, el Teléfono o la Red Inalámbrica (WiFi). No necesitas conocer de memoria los valores enteros que se pueden traspasar. La clase <strong>MobileRadio</strong> exporta también dos estructuras (<strong>RADIODEVTYPE</strong> y <strong>RADIODEVSTATE</strong>) que contienen las constantes necesarias.</p>
<p>Para encender el teléfono basta la siguiente línea de código:</p>
<p><strong>MobileRadio.SetDeviceState(MobileRadio.RADIODEVTYPE.PHONE, MobileRadio.RADIODEVSTATE.ON);</strong></p>
<p>Y para apagarlo, ¿lo adivinas? <img src='http://www.hinojosachapel.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Para conocer el estado actual del teléfono, si está encendido o apagado, utilizamos la propiedad booleana <strong><a title="La propiedad PhoneRadioOff en la MSDN" href="http://msdn.microsoft.com/es-es/library/microsoft.windowsmobile.status.systemstate.phoneradiooff(en-us).aspx" target="_blank">PhoneRadioOff</a></strong> de la clase <strong>SystemState</strong>, situada en el espacio de nombres <strong>Microsoft.WindowsMobile.Status</strong>:</p>
<p><strong>Microsoft.WindowsMobile.Status.SystemState.PhoneRadioOff</strong></p>
<p>Esta propiedad es verdadera (<em>true</em>) si la radio del dispositivo está apagada, y falsa (<em>false</em>) en caso contrario.</p>
<p>Puedes descargar el proyecto completo desde <a title="Descargar Cómo encender el teléfono en Windows Mobile con C#: Código fuente" href="http://www.hinojosachapel.com/wp-content/uploads/2010/02/encendertelefono.zip">aquí</a>.</p>
<p><strong>Enlaces de interés:</strong></p>
<p><strong>Cómo encender el teléfono en Windows Mobile con C#<br />
</strong><a title="Cómo encender el teléfono en Windows Mobile con C#: Código fuente" href="http://www.hinojosachapel.com/wp-content/uploads/2010/02/encendertelefono.zip">El código fuente del proyecto</a></p>
<p><strong>Turn radio on and off as needed</strong><br />
<a title="Turn radio on and off as needed" href="http://community.intermec.com/t5/General-Development-Developer/Turn-radio-on-and-off-as-needed/m-p/138" target="_blank">http://community.intermec.com/t5/General-Development-Developer/Turn-radio-on-and-off-as-needed/m-p/138</a></p>
<p><strong>Controlling the Radio Devices</strong><br />
<a title="Controlling the Radio Devices " href="http://www.teksoftco.com/articles/article%20007/radiodevices.htm" target="_blank">http://www.teksoftco.com/articles/article%20007/radiodevices.htm</a></p>
<p><strong>Toggle WiFi/BT/Phone using .NET code only!!!</strong><br />
<a title="Toggle WiFi/BT/Phone using .NET code only!!!" href="http://forum.xda-developers.com/showthread.php?t=413159" target="_blank">http://forum.xda-developers.com/showthread.php?t=413159</a></p>
<p><strong>PInvoke.net: A wiki for .NET developers</strong><br />
<a title="PInvoke.net: A wiki for .NET developers" href="http://www.pinvoke.net/" target="_blank">http://www.pinvoke.net/</a></p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2010/02/como-encender-el-telefono-en-windows-mobile-con-c.aspx' addthis:title='Cómo encender el teléfono en Windows Mobile con C#' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.hinojosachapel.com/2010/02/como-encender-el-telefono-en-windows-mobile-con-c.aspx/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Cómo hacer una llamada telefónica en Windows Mobile con C#</title>
		<link>http://www.hinojosachapel.com/2009/08/como-hacer-una-llamada-telefonica-en-windows-mobile-con-c.aspx</link>
		<comments>http://www.hinojosachapel.com/2009/08/como-hacer-una-llamada-telefonica-en-windows-mobile-con-c.aspx#comments</comments>
		<pubDate>Thu, 06 Aug 2009 12:24:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Movilidad]]></category>
		<category><![CDATA[Tecnologías .NET]]></category>

		<guid isPermaLink="false">http://www.hinojosachapel.com/?p=582</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2009/08/como-hacer-una-llamada-telefonica-en-windows-mobile-con-c.aspx' addthis:title='Cómo hacer una llamada telefónica en Windows Mobile con C# '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Un teléfono móvil moderno, provisto de Windows Mobile, nos permite abrir archivos de MS Office, leer PDFs, hacer fotos, leer el correo electrónico, acceder a contenidos online por RSS, llevar la agenda de actividades, gestionar nuestros contactos, escuchar música, ver vídeos, chatear, jugar, ejecutar aplicaciones de un amplio rango&#8230; Además, por si no fuera suficiente, [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2009/08/como-hacer-una-llamada-telefonica-en-windows-mobile-con-c.aspx' addthis:title='Cómo hacer una llamada telefónica en Windows Mobile con C#' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.hinojosachapel.com/2009/08/como-hacer-una-llamada-telefonica-en-windows-mobile-con-c.aspx' addthis:title='Cómo hacer una llamada telefónica en Windows Mobile con C# '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p style="text-align: center;"><img class="aligncenter size-full wp-image-583" title="Aplicación Teléfono" src="http://www.hinojosachapel.com/wp-content/uploads/2009/08/telefono.jpg" alt="telefono" width="301" height="465" /></p>
<p>Un teléfono móvil moderno, provisto de Windows Mobile, nos permite abrir archivos de MS Office, leer PDFs, hacer fotos, leer el correo electrónico, acceder a contenidos online por RSS, llevar la agenda de actividades, gestionar nuestros contactos, escuchar música, ver vídeos, chatear, jugar, ejecutar aplicaciones de un amplio rango&#8230; Además, por si no fuera suficiente, también sirve para hacer llamadas telefónicas. <img src='http://www.hinojosachapel.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Realizar una llamada telefónica mediante código C# desde una aplicación nuestra de Windows Mobile es algo ridículamente simple, gracias a un recurso que Microsoft ha puesto a nuestra disposición: la clase <a title="Clase Phone" href="http://msdn.microsoft.com/es-es/library/microsoft.windowsmobile.telephony.phone(en-us).aspx" target="_blank">Phone</a>. Esta clase se encuentra definida dentro del ensamblado Microsoft.WindowsMobile.Telephony (en la DLL microsoft.windowsmobile.telephony.dll), por lo que debemos agregar una referencia a este ensamblado en nuestro proyecto de Visual Studio.<span id="more-582"></span></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-584" title="Microsoft.WindowsMobile.Telephony" src="http://www.hinojosachapel.com/wp-content/uploads/2009/08/referencias.jpg" alt="Microsoft.WindowsMobile.Telephony" width="311" height="264" /></p>
<p>Ahora sólo nos resta declarar y crear un objeto de la clase <strong>Phone</strong>, y llamar a su método mágico: <a title="Método Talk() de la clase Phone" href="http://msdn.microsoft.com/es-es/library/aa455391(en-us).aspx" target="_blank">Talk()</a>.</p>
<p>Phone p = new Phone();<br />
p.Talk(numero);</p>
<p>Este método recibe como parámetro un texto (<em>string</em>) que representa el número al cual se desea llamar: public void Talk(string number).</p>
<p>El proceso no es silencioso. Realmente lo que hace es ejecutar (y mostrar) el programa <em>Teléfono</em> del sistema operativo. Delega en él todas las operaciones, como por ejemplo, colgar la llamada.</p>
<p>Puedes descargarte el proyecto completo desde <a title="Descargar proyecto de la aplicación Teléfono" href="http://www.hinojosachapel.com/wp-content/uploads/2009/08/telefono.zip">aquí</a>.</p>
<p>¿Y por qué necesitaríamos realizar llamadas telefónicas desde una aplicación propia? ¿Acaso para escribir una versión mejorada del programa nativo? Yo conozco al menos un caso en que sí es necesario acudir a esta funcionalidad. Hace algunos años tuve que desarrollar una <a title="Aplicación OIGAA" href="http://www.oigaa.com/howitworks/application.htm" target="_blank">aplicación de telecomunicaciones</a> que necesitaba, como parte de su funcionamiento, realizar llamadas automáticamente a un cierto número. La aplicación OIGAA convierte los teléfonos móviles en extensiones de la centralita corporativa, permitiendo a sus usuarios responder desde cualquier lugar como si estuvieran en la oficina, y ofreciendo además diversas funcionalidades de valor añadido. Aquí te dejo algunas capturas de pantalla de la aplicación ejecutándose en el emulador de dispositivos móviles.</p>
<ul>
<li><a title="OIGAA: Pantalla de autenticación" href="http://www.hinojosachapel.com/wp-content/uploads/2009/08/oigaa1.jpg">OIGAA: Pantalla de autenticación</a></li>
<li><a title="OIGAA: Conexión y actualización inicial de datos" href="http://www.hinojosachapel.com/wp-content/uploads/2009/08/oigaa2.jpg">OIGAA: Conexión y actualización inicial de datos</a></li>
<li><a title="OIGAA: Agenda de contactos. Posibilidad de iniciar una conexión de VoIP" href="http://www.hinojosachapel.com/wp-content/uploads/2009/08/oigaa3.jpg">OIGAA: Agenda de contactos. Posibilidad de iniciar una conexión de VoIP</a></li>
<li><a title="OIGAA: Configuración del tipo de llamada y el mensaje de presencia" href="http://www.hinojosachapel.com/wp-content/uploads/2009/08/oigaa4.jpg">OIGAA: Configuración del tipo de llamada y el mensaje de presencia</a></li>
</ul>
<p><strong>Enlaces de interés:</strong><br />
<a href="http://www.hinojosachapel.com/wp-content/uploads/2009/08/telefono.zip">Código completo del ejemplo</a></p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.hinojosachapel.com/2009/08/como-hacer-una-llamada-telefonica-en-windows-mobile-con-c.aspx' addthis:title='Cómo hacer una llamada telefónica en Windows Mobile con C#' ><a class="addthis_button_facebook like"></a><a class="addthis_button_twitter"></a><a class="addthis_button_meneame"></a><a class="addthis_button_email"></a><a class="addthis_button_linkedin"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.hinojosachapel.com/2009/08/como-hacer-una-llamada-telefonica-en-windows-mobile-con-c.aspx/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

