<?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>Windows CE Programming &#187; GXOpenInput</title>
	<atom:link href="http://www.hjgode.de/wp/tag/gxopeninput/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hjgode.de/wp</link>
	<description>Windows Mobile Development and usage</description>
	<lastBuildDate>Fri, 03 Feb 2012 08:53:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<!--CodeProjectFeeder channel--><category>CodeProject</category><generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Full Screen Engine to make Compact Framework applications fullscreen</title>
		<link>http://www.hjgode.de/wp/2010/03/18/full-screen-engine-to-make-compact-framework-applications-fullscreen/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=full-screen-engine-to-make-compact-framework-applications-fullscreen</link>
		<comments>http://www.hjgode.de/wp/2010/03/18/full-screen-engine-to-make-compact-framework-applications-fullscreen/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 13:43:50 +0000</pubDate>
		<dc:creator>josef</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Keyboard]]></category>
		<category><![CDATA[kiosk mode]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Compact Framework]]></category>
		<category><![CDATA[fullscreen]]></category>
		<category><![CDATA[GXOpenInput]]></category>
		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=456</guid>
		<description><![CDATA[A class to make a Windows Mobile compact framework forms fullscreen. Includes code to catch all keys (no more working softkeys)]]></description>
			<content:encoded><![CDATA[<p>Here is my approach to make a compact framework form fullscreen:</p>
<p>A class that enables you to</p>
<ul>
<li>lock/unlock the taskbar</li>
<li>hide/show the taskbar and resize form to occupy the whole screen</li>
<li>hide the menu bar but show/hide SIP</li>
<li>disables OS to capture Function keys like F6/F7 for Volume Up/Down etc and makes these keys available to be used in your app. Also the use of the WinKey does not open the Start Menu</li>
</ul>
<p><a rel="attachment wp-att-457" href="http://www.hjgode.de/wp/2010/03/18/full-screen-engine-to-make-compact-framework-applications-fullscreen/fullscreencstest/"><img class="alignnone size-full wp-image-457" title="fullscreenCStest" src="http://www.hjgode.de/wp/wp-content/uploads/2010/03/fullscreenCStest.gif" alt="" width="240" height="320" /></a></p>
<p>(You are right, you dont see &#8216;fullscreen&#8217; in the screen shot, BUT the taskbar is locked!)</p>
<p><span id="more-456"></span></p>
<pre lang="csharp">using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace myApp{
    class fullScreen
    {
        #region DllImports
        ///
        /// FindWindow will find a window by specifying the WndClass or the Caption
        ///
        ///

        ///

        /// an intPtr to the found window or null, if not found
        [DllImport("coredll.dll")]
        extern private static IntPtr FindWindowW(string lpClassName, string lpWindowName);

        ///
        /// we need this to get the size of the screen
        ///
        ///

        ///
        [DllImport("coredll.dll")]
        extern private static int GetSystemMetrics(int nIndex);
        ///
        /// the used nIndex values for screen width and height
        ///
        private const int SM_CXSCREEN = 0;
        private const int SM_CYSCREEN = 1;

        ///
        /// query a window for his state
        ///
        ///

        /// true if window is visible
        [DllImport("coredll.dll")]
        static extern bool IsWindowVisible(IntPtr hWnd);

        #endregion
        ///
        /// function to modify the window state of a window
        ///
        /// handle to the window
        /// the required window state
        ///
        [DllImport("coredll.dll")]
        static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow);

        #region WStyles
        /// Enumeration of the different ways of showing a window using
        /// ShowWindow
        private enum WindowShowStyle : uint
        {
            /// Hides the window and activates another window.
            /// See SW_HIDE
            Hide = 0,
            /// Activates and displays a window. If the window is minimized
            /// or maximized, the system restores it to its original size and
            /// position. An application should specify this flag when displaying
            /// the window for the first time.
            /// See SW_SHOWNORMAL
            ShowNormal = 1,
            /// Activates the window and displays it as a minimized window.
            /// See SW_SHOWMINIMIZED
            ShowMinimized = 2,
            /// Activates the window and displays it as a maximized window.
            /// See SW_SHOWMAXIMIZED
            ShowMaximized = 3,
            /// Maximizes the specified window.
            /// See SW_MAXIMIZE
            Maximize = 3,
            /// Displays a window in its most recent size and position.
            /// This value is similar to "ShowNormal", except the window is not
            /// actived.
            /// See SW_SHOWNOACTIVATE
            ShowNormalNoActivate = 4,
            /// Activates the window and displays it in its current size
            /// and position.
            /// See SW_SHOW
            Show = 5,
            /// Minimizes the specified window and activates the next
            /// top-level window in the Z order.
            /// See SW_MINIMIZE
            Minimize = 6,
            /// Displays the window as a minimized window. This value is
            /// similar to "ShowMinimized", except the window is not activated.
            /// See SW_SHOWMINNOACTIVE
            ShowMinNoActivate = 7,
            /// Displays the window in its current size and position. This
            /// value is similar to "Show", except the window is not activated.
            /// See SW_SHOWNA
            ShowNoActivate = 8,
            /// Activates and displays the window. If the window is
            /// minimized or maximized, the system restores it to its original size
            /// and position. An application should specify this flag when restoring
            /// a minimized window.
            /// See SW_RESTORE
            Restore = 9,
            /// Sets the show state based on the SW_ value specified in the
            /// STARTUPINFO structure passed to the CreateProcess function by the
            /// program that started the application.
            /// See SW_SHOWDEFAULT
            ShowDefault = 10,
            /// Windows 2000/XP: Minimizes a window, even if the thread
            /// that owns the window is hung. This flag should only be used when
            /// minimizing windows from a different thread.
            /// See SW_FORCEMINIMIZE
            ForceMinimized = 11
        }
        #endregion
#region private vars
        private int m_width = 240;
        private int m_height = 320;
        private bool m_SIP_shown = false;
#endregion
        ///
        /// class instantiation
        /// store the screen size
        ///
        public fullScreen()
        {
            m_width = GetSystemMetrics(SM_CXSCREEN);
            m_height = GetSystemMetrics(SM_CYSCREEN);
            //Find SipWndClass
            IntPtr hWndSipWndClass = IntPtr.Zero;
            hWndSipWndClass = FindWindowW("SipWndClass", null);
            if (hWndSipWndClass != IntPtr.Zero)
            {
                m_SIP_shown = IsWindowVisible(hWndSipWndClass);
            }
            GXopen();
        }
        ///
        /// this will open the GX API and all keystrokes, even the softkeys as Vol_Up, Win etc will not be handled by the OS
        /// the gx.dll is only available on Windows Mobile OS, not on WinCE OS devices
        /// The GX class has been ousourced and will only be loaded in gx.dll exists
        /// otherwise you will get missing DLL exceptions
        ///
        private void GXopen(){
            if (System.IO.File.Exists(@"\Windows\gx.dll"))
            {
                GX_WM gxwm = new GX_WM();
                gxwm.GXopen();
            }
        }

        ///
        /// deinit GX API and let wiondows handle the 'softkeys'
        ///
        private void GXclose()
        {
            if (System.IO.File.Exists(@"\Windows\gx.dll"))
            {
                GX_WM gxwm = new GX_WM();
                gxwm.GXopen();
            }
        }
        ///
        /// public vars to get the screen size
        ///
        public int width
        {
            get
            {
                return m_width;
            }
        }
        public int height
        {
            get
            {
                return m_height;
            }
        }
        ///
        /// will enlarge the form to cover the full screen
        /// the taskbar will be hidden
        /// the SIP will be hidden
        ///
        /// the form to make fullscreen
        public void makeFullScreen(System.Windows.Forms.Form f)
        {
            f.Width = m_width;
            f.Height = m_height;
            f.Top = 0; f.Left = 0; // move the form to upper left
            hideTaskBar(true); //hide the taskbar
            showSIP(false); //hide the SIP window, regardless of it is shown or not
        }

        ///
        /// restore previous screen settings
        ///
        public void Unload()
        {
            hideTaskBar(false);
            if (m_SIP_shown)
                showSIP(true);
        }

        ///
        /// Hide or show the SIP
        ///
        ///

        public void showSIP(bool bShow)
        {
            //Find SipWndClass
            IntPtr hWndSipWndClass = IntPtr.Zero;
            hWndSipWndClass = FindWindowW("SipWndClass", null);
            if (hWndSipWndClass != IntPtr.Zero)
            {
                if (bShow)
                    ShowWindow(hWndSipWndClass, (uint)WindowShowStyle.ShowNormal);
                else
                    ShowWindow(hWndSipWndClass, (uint)WindowShowStyle.Minimize);
            }
        }

        ///
        /// Hide or show the TaskBar
        ///
        ///

        ///
        private int hideTaskBar(bool mode)
        {
            IntPtr hWndTaskBar = IntPtr.Zero;
            if (mode)
            {
                hWndTaskBar = FindWindowW("HHTaskBar", null);
                if (hWndTaskBar != IntPtr.Zero)
                    ShowWindow(hWndTaskBar, (uint)WindowShowStyle.Hide);
            }
            else
            {
                hWndTaskBar = FindWindowW("HHTaskBar", null);
                if (hWndTaskBar != IntPtr.Zero)
                    ShowWindow(hWndTaskBar, (uint)WindowShowStyle.ShowNormal);
            }
            return 0;
        }

    }
}</pre>
<p>The GX_WM class:</p>
<pre lang="csharp">using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices; 

namespace myApp
{
	class GX_WM {
		//nice mangled names
		//?GXCloseInput@@YAHXZ or use "#3"
		[DllImport("gx.dll", EntryPoint="?GXCloseInput@@YAHXZ")]
		extern private static Int16 GXOpenInput();
		//?GXOpenInput@@YAHXZ or use "#9"
		[DllImport("gx.dll", EntryPoint="?GXOpenInput@@YAHXZ")]
		extern private static Int16 GXCloseInput(); 

		public void GXopen(){
			GXOpenInput();
			System.Diagnostics.Debug.WriteLine("GXOpenInput()");
		}
		public void GXclose() {
			GXCloseInput();
			System.Diagnostics.Debug.WriteLine("GXCloseInput()");
		}
	}
}
</pre>
<p>To use the classes in your code, declare a new fullScreen object at a central point of your app. For example in Program.cs:</p>
<pre lang="csharp">        public static fullScreen fse;</pre>
<p>The declaration is static to enable you to use this object in all forms of your app. Then before your Run statement place the initialisation of the fullScreen object. At the end of your app, it is a good way to unload the object, so it may restore the taskbar and SIP status.</p>
<pre lang="csharp">static class Program
    {
        ///
        /// The main entry point for the application.
        ///
        public static fullScreen fse;
        [MTAThread]
        static void Main()
        {
            try
            {
                fse = new fullScreen();
                Application.Run(new MyAppForm());
            }
            catch (Exception ex)
            {
                MessageBox.Show("Sorry: " + ex.Message);
            }
            fse.Unload();
        }
    }
</pre>
<p>Now in every form you have, place the line:</p>
<pre lang="csharp">Program.fse.makeFullScreen(this);</pre>
<p>in the _Load event or &#8211; as I do &#8211; in the form constructor after the line &#8220;InitializeComponent();&#8221;</p>
<pre escaped="true" lang="csharp">public myAppForm() {
    if (!InitApp())
        AppShutdown();
    InitializeComponent();
    <strong>Program.fse.makeFullScreen(this);</strong>
}</pre>
<p>If you need to show the SIP, use</p>
<pre>Program.fse.showSIP(true); </pre>
<p>If you want to have a real fullscreen app without a title bar, dont forget to set the borderstyle of your form to None. You can also change the makeFullScreen function and do this for the form given in the argument.</p>
<p>Any comments or enhancements?</p>
<p>Have fun</p>
<p>PS: Key catching works fine in C# with the fullscreen class (either using GXOpenInput() or AllKeys()), see attached c# sample.</p>
<b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=87" title="Downloaded 802 times">FullScreenCStest</a> -  (Hits: 802, size: 44.66 KB)
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F03%2F18%2Ffull-screen-engine-to-make-compact-framework-applications-fullscreen%2F&amp;title=Full+Screen+Engine+to+make+Compact+Framework+applications+fullscreen" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F03%2F18%2Ffull-screen-engine-to-make-compact-framework-applications-fullscreen%2F&amp;title=Full+Screen+Engine+to+make+Compact+Framework+applications+fullscreen" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F03%2F18%2Ffull-screen-engine-to-make-compact-framework-applications-fullscreen%2F&amp;title=Full+Screen+Engine+to+make+Compact+Framework+applications+fullscreen" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F03%2F18%2Ffull-screen-engine-to-make-compact-framework-applications-fullscreen%2F&amp;T=Full+Screen+Engine+to+make+Compact+Framework+applications+fullscreen" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F03%2F18%2Ffull-screen-engine-to-make-compact-framework-applications-fullscreen%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F03%2F18%2Ffull-screen-engine-to-make-compact-framework-applications-fullscreen%2F&amp;t=Full+Screen+Engine+to+make+Compact+Framework+applications+fullscreen" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.hjgode.de/wp/2010/03/18/full-screen-engine-to-make-compact-framework-applications-fullscreen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use FuncKey to free up your FunctionKeys on Windows Mobile</title>
		<link>http://www.hjgode.de/wp/2010/02/10/use-funckey-to-free-up-your-functionkeys-on-windows-mobile/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=use-funckey-to-free-up-your-functionkeys-on-windows-mobile</link>
		<comments>http://www.hjgode.de/wp/2010/02/10/use-funckey-to-free-up-your-functionkeys-on-windows-mobile/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 22:24:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Keyboard]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[AllKeys]]></category>
		<category><![CDATA[downloads]]></category>
		<category><![CDATA[FuncKeys]]></category>
		<category><![CDATA[function keys]]></category>
		<category><![CDATA[GXOpenInput]]></category>
		<category><![CDATA[kiosk mode]]></category>
		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=20</guid>
		<description><![CDATA[A toolset to free FunctionKeys on your Windows Mobile device]]></description>
			<content:encoded><![CDATA[<p>Hello</p>
<p style="text-align: right;">Updated on 10. feb 2010</p>
<p>I finished a toolset to free the function keys on windows mobile devices. That means a tool set that will give you back the function keys. Instead of F3 launching the phone app, you can free the F3 key and use it in your app.</p>
<p><span id="more-20"></span></p>
<p><img title="FuncKeys1.jpg" src="http://community.intermec.com/t5/image/serverpage/image-id/83i4E8528B315AD6935/image-size/original?v=mpbl-1&amp;px=-1" border="0" alt="FuncKeys1.jpg" align="center" /> <img title="FuncKeys0.jpg" src="http://community.intermec.com/t5/image/serverpage/image-id/84i60D6B7FD34772A90/image-size/original?v=mpbl-1&amp;px=-1" border="0" alt="FuncKeys0.jpg" align="center" /></p>
<p>The tool set consists of three files:</p>
<ul>
<li>FuncKeysCPL a control panel applet that will launch the second tool FuncKeys.</li>
<li>FuncKeys will enable you to define the function keys to free up.</li>
<li>FuncKeysUnReg, the tool that will apply your settings during startup of the device.</li>
</ul>
<p>For some more information see the html help inside FuncKeys (use the [?] button).</p>
<p>The only disadvantage with the tool is that it cannot free VK_LWIN as GXOpenInput() or <a title="Post about AllKeys()" href="http://www.hjgode.de/wp/2009/05/09/gapi-gxopeninput-and-gxcloseinput-will-be-removed-for-windows-mobile-65/" target="_self">AllKeys()</a> can do.</p>
<p>regards</p>
<p>Josef<br />
<b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=1" title="Downloaded 422 times">FuncKeys</a> - Control the function of Function Keys on Windows Mobile devices (embedded Visual C++ 4.0 Source included) (Hits: 422, size: 721.86 KB)</p>
<b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=51" title="Downloaded 277 times">FuncKey ArmV4i installer cab</a> -  (Hits: 277, size: 205.06 KB)
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F02%2F10%2Fuse-funckey-to-free-up-your-functionkeys-on-windows-mobile%2F&amp;title=Use+FuncKey+to+free+up+your+FunctionKeys+on+Windows+Mobile" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F02%2F10%2Fuse-funckey-to-free-up-your-functionkeys-on-windows-mobile%2F&amp;title=Use+FuncKey+to+free+up+your+FunctionKeys+on+Windows+Mobile" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F02%2F10%2Fuse-funckey-to-free-up-your-functionkeys-on-windows-mobile%2F&amp;title=Use+FuncKey+to+free+up+your+FunctionKeys+on+Windows+Mobile" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F02%2F10%2Fuse-funckey-to-free-up-your-functionkeys-on-windows-mobile%2F&amp;T=Use+FuncKey+to+free+up+your+FunctionKeys+on+Windows+Mobile" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F02%2F10%2Fuse-funckey-to-free-up-your-functionkeys-on-windows-mobile%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F02%2F10%2Fuse-funckey-to-free-up-your-functionkeys-on-windows-mobile%2F&amp;t=Use+FuncKey+to+free+up+your+FunctionKeys+on+Windows+Mobile" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.hjgode.de/wp/2010/02/10/use-funckey-to-free-up-your-functionkeys-on-windows-mobile/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>KeyTest3AK &#8211; a tool to look at keyboard codes</title>
		<link>http://www.hjgode.de/wp/2009/05/11/keytest3ak-a-tool-to-look-at-keyboard-codes/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=keytest3ak-a-tool-to-look-at-keyboard-codes</link>
		<comments>http://www.hjgode.de/wp/2009/05/11/keytest3ak-a-tool-to-look-at-keyboard-codes/#comments</comments>
		<pubDate>Mon, 11 May 2009 13:55:15 +0000</pubDate>
		<dc:creator>hjgode</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Keyboard]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[AllKeys]]></category>
		<category><![CDATA[GXOpenInput]]></category>
		<category><![CDATA[KeyTest]]></category>
		<category><![CDATA[kiosk mode]]></category>
		<category><![CDATA[RegisterHotKeys()]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[UnregisterFunc1]]></category>
		<category><![CDATA[WM_KEYDOWN]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=29</guid>
		<description><![CDATA[usage and results of GXOpenInput(), RegisterHotKeys(), UnregisterFunc1 and AllKeys()]]></description>
			<content:encoded><![CDATA[<p>Updated 7. june 2010: added source code and binaries for KeyTest3AK with prechecked WM_KEYDOWN, WM_KEY_UP, WM_CHAR and option to save a log.</p>
<b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=101" title="Downloaded 284 times">KeyTest3AK (evc4 source, with logging option, bin for ArmV4 and ArmV4i)</a> -  (Hits: 284, size: 239.32 KB)
<p><a rel="attachment wp-att-615" href="http://www.hjgode.de/wp/2009/05/11/keytest3ak-a-tool-to-look-at-keyboard-codes/screenshot_keytest3ak/"><img class="alignnone size-full wp-image-615" title="screenshot_keytest3ak" src="http://www.hjgode.de/wp/wp-content/uploads/2009/05/screenshot_keytest3ak.gif" alt="" width="240" height="320" /></a></p>
<p>============================================================================</p>
<p>I just finished my KeyTest3AK. You can take alook at what keycodes produced by the keys on your handheld. Additionally there are options to test what happens, if you use GXOpenInput(), RegisterHotKeys(), UnregisterFunc1 and AllKeys().</p>
<p><br class="spacer_" /></p>
<p><span id="more-29"></span>After you started the app, simply press the keys to see the codes they produce.</p>
<p>Download source code and the executables <b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=2" title="Downloaded 422 times">KeyTest3AK</a> - As imple keycode viewer.
Embedded Visual C++ 4.0 workspace
Uses GXOpenInput(), GXCloseInput(), AllKeys(), RegisterHotKey() and UnregisterFunc1() (Hits: 422, size: 236.17 KB)</p>
<p>Here is MS answer on <a href="http://blogs.msdn.com/windowsmobile/archive/2009/05/14/twisted-pixels-4-a-button-mashers-guide-to-input.aspx" target="_blank">KeyTest</a>: http://blogs.msdn.com/windowsmobile/archive/2009/05/14/twisted-pixels-4-a-button-mashers-guide-to-input.aspx. The MS blog has all the background on KeyInput but looks like a clone of keytest3ak</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F05%2F11%2Fkeytest3ak-a-tool-to-look-at-keyboard-codes%2F&amp;title=KeyTest3AK+%26%238211%3B+a+tool+to+look+at+keyboard+codes" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F05%2F11%2Fkeytest3ak-a-tool-to-look-at-keyboard-codes%2F&amp;title=KeyTest3AK+%26%238211%3B+a+tool+to+look+at+keyboard+codes" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F05%2F11%2Fkeytest3ak-a-tool-to-look-at-keyboard-codes%2F&amp;title=KeyTest3AK+%26%238211%3B+a+tool+to+look+at+keyboard+codes" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F05%2F11%2Fkeytest3ak-a-tool-to-look-at-keyboard-codes%2F&amp;T=KeyTest3AK+%26%238211%3B+a+tool+to+look+at+keyboard+codes" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F05%2F11%2Fkeytest3ak-a-tool-to-look-at-keyboard-codes%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F05%2F11%2Fkeytest3ak-a-tool-to-look-at-keyboard-codes%2F&amp;t=KeyTest3AK+%26%238211%3B+a+tool+to+look+at+keyboard+codes" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.hjgode.de/wp/2009/05/11/keytest3ak-a-tool-to-look-at-keyboard-codes/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>GAPI (GXOpenInput and GXCloseInput) will be removed for Windows Mobile 6.5</title>
		<link>http://www.hjgode.de/wp/2009/05/09/gapi-gxopeninput-and-gxcloseinput-will-be-removed-for-windows-mobile-65/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gapi-gxopeninput-and-gxcloseinput-will-be-removed-for-windows-mobile-65</link>
		<comments>http://www.hjgode.de/wp/2009/05/09/gapi-gxopeninput-and-gxcloseinput-will-be-removed-for-windows-mobile-65/#comments</comments>
		<pubDate>Sat, 09 May 2009 05:31:29 +0000</pubDate>
		<dc:creator>hjgode</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[kiosk mode]]></category>
		<category><![CDATA[AllKeys]]></category>
		<category><![CDATA[GAPI]]></category>
		<category><![CDATA[GXOpenInput]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=3</guid>
		<description><![CDATA[just say no to GAPI – What you need to know about AllKeys and input management
GXOpenInput and GXCloseInput can be rplaced by AllKeys(bEnable). MS will discontinue GAPI with WM6.5!]]></description>
			<content:encoded><![CDATA[<p>Hello</p>
<p>I just started this blog. I will import the existing stuff from <a class="linkification-ext" title="Linkification: http://hjgode.de/dev" href="http://hjgode.de/dev">hjgode.de/dev</a> from time to time. But now, here is my first post.</p>
<p>Microsoft decided to discontinue GAPI. That is OK for me, as I only use GXOpenInput and GXCloseInput to disable the hijacking of function keys and to have a kiosk application that dies the user not reach the OS.</p>
<p><span id="more-3"></span>I discovered this at community.intermec.com. There is a message linking to <a class="linkification-ext" title="Linkification: http://blogs.msdn.com/windowsmobile/archive/2009/05/06/just-say-no-to-gapi-what-you-need-to-know-about-allkeys-and-input-management.aspx" href="http://blogs.msdn.com/windowsmobile/archive/2009/05/06/just-say-no-to-gapi-what-you-need-to-know-about-allkeys-and-input-management.aspx">http://blogs.msdn.com/windowsmobile/archive/2009/05/06/just-say-no-to-gapi-what-you-need-to-know-about-allkeys-and-input-management.aspx</a>.</p>
<p>I will test the function of BOOL AllKeys(BOOL bEnable) and if it works like GXOpenInput() I hace no concerns about using it instead.</p>
<p>Have fun</p>
<p>Josef</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F05%2F09%2Fgapi-gxopeninput-and-gxcloseinput-will-be-removed-for-windows-mobile-65%2F&amp;title=GAPI+%28GXOpenInput+and+GXCloseInput%29+will+be+removed+for+Windows+Mobile+6.5" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F05%2F09%2Fgapi-gxopeninput-and-gxcloseinput-will-be-removed-for-windows-mobile-65%2F&amp;title=GAPI+%28GXOpenInput+and+GXCloseInput%29+will+be+removed+for+Windows+Mobile+6.5" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F05%2F09%2Fgapi-gxopeninput-and-gxcloseinput-will-be-removed-for-windows-mobile-65%2F&amp;title=GAPI+%28GXOpenInput+and+GXCloseInput%29+will+be+removed+for+Windows+Mobile+6.5" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F05%2F09%2Fgapi-gxopeninput-and-gxcloseinput-will-be-removed-for-windows-mobile-65%2F&amp;T=GAPI+%28GXOpenInput+and+GXCloseInput%29+will+be+removed+for+Windows+Mobile+6.5" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F05%2F09%2Fgapi-gxopeninput-and-gxcloseinput-will-be-removed-for-windows-mobile-65%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F05%2F09%2Fgapi-gxopeninput-and-gxcloseinput-will-be-removed-for-windows-mobile-65%2F&amp;t=GAPI+%28GXOpenInput+and+GXCloseInput%29+will+be+removed+for+Windows+Mobile+6.5" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.hjgode.de/wp/2009/05/09/gapi-gxopeninput-and-gxcloseinput-will-be-removed-for-windows-mobile-65/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

