Thursday, August 09, 2012 6:24 PM
I am writing a terminal application on a Windows CE 6.0 platform. The hardware is mini-netbook. The application is written in EVC++ using MFC. I am trying to trap the function keys so that the terminal can output a correct string to the server.
I tried trapping the function keys in the OnKeyUp and OnKeyDown events. The results are the same regardless of which event i use, F1, F2, F5, F8 and F10 all work properly.
F3 pops up a Enter Network Password Dialog box, F6,F7 control the brightness of the screen, Not sure what F4 and F9 do
So far I have tried the following to try and regain control of these keys:
I tried to use AllKeys(1) at the beginning of my program but that had no effect.
I also tried SHSetAppKeyWndAssoc. I see that this function requires Aygshell.DLL, my platform seems to have AYGSHELL1.DLL and AYGSHELL2.DLL. I dont see any file named AYGSHELL.DLL
I also looked in the registry to see if there were any key mappings in HKLM\Microsoft\Shell\ but I did not find anything.
does anyone know how I can process the rest of the Function Keys.
Thanks for the help
Thursday, August 09, 2012 6:59 PM
As a follow up, The other function keys do trigger the OnKey Events when the CTRL button is held down.
Must be a way to direct the actual (no modifier) key messages to my application.
Ps sorry about the typos in the heading
Friday, August 10, 2012 3:09 PM
I have now tried using UnregisterFunc1 to unattached the keys F6 and F7 from the brightness function.
typedef bool (*UnregisterFunc1)(UINT,UINT);
HMODULE coreDLL = LoadLibrary(TEXT("coredll.dll"));
unregFunc1 = (UnregisterFunc1)GetrProcAddress(coreDLL,TEXT("UnregisterFunc1")):
if(unregFunc1 == NULL)
Messagebox("Get Proc Failed",NULL,MB_OK);
bool regSuccess = (unregFunc1)(0,0x76);
if(regSuccess == FALSE)
this runs and i dont get any message boxes. Unfortunately the function key still is
controlling the brightness.
Anyone have any ideas
thanks in advance
Tuesday, August 14, 2012 1:41 AM
Please not forget mark your answer, and unmark your disagreed point.