User manual - イメージャライブラリマニュアルver.1.06(2012年3月29日)

Table Of Contents
224
5. サンプルソースコード
5.1 デコード処理 (トリガキーを使用する場合)
この例では、左右どちらかのトリガキーが押されるとデコードを開始し、トリガキーが離されると中断します。
デコードした結果は画面のエディットボックス上に表示されます。
#define ID_HOTKEY_L 1 // Hotkey ID of L Trigger
#define ID_HOTKEY_R 2 // Hotkey ID of R Trigger
#define VKEY_TRIGGER_L VK_F24 // Virtual Key of L Trigger
#define VKEY_TRIGGER_R VK_F21 // Virtual Key of R Trigger
BOOL fTrigger(VOID);
LRESULT CALLBACK WndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
static HWND hEditMessage;
TCHAR chCodeID, chAimID, chModifier, szDecodeMessage[ 512];
DWORD dwLength;
int nResult;
BOOL ResPeek;
MSG msg;
switch ( message)
{
case WM_HOTKEY:
switch( wParam)
{
case ID_HOTKEY_L:
case ID_HOTKEY_R:
nResult = IMGWaitForDecode( 5000, szDecodeMessage, &chCodeID, &chAimID,
&chModifier, &dwLength, fTrigger);
if ( nResult == IMG_SUCCESS)
{
SetWindowText( hEditMessage, szDecodeMessage);
}
break;
}
do
{
ResPeek = PeekMessage(&msg, hWnd, WM_HOTKEY, WM_HOTKEY, PM_REMOVE);
}while(ResPeek == TRUE);
break;
case WM_CREATE:
...
hEditMessage = CreateWindow( TEXT( "edit"), NULL,
WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE,
8, 30, 96, 40, hWnd, ( HMENU)1, hInst, NULL);
RegisterHotKey( hWnd, ID_HOTKEY_L, 0, VKEY_TRIGGER_L);