您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GetKeyboardLayout函数代码示例

51自学网 2021-06-01 21:09:50
  C++
这篇教程C++ GetKeyboardLayout函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中GetKeyboardLayout函数的典型用法代码示例。如果您正苦于以下问题:C++ GetKeyboardLayout函数的具体用法?C++ GetKeyboardLayout怎么用?C++ GetKeyboardLayout使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了GetKeyboardLayout函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: UpdateData

void UpdateData(HWND hDlg){	WCHAR buf[KL_NAMELENGTH];	WCHAR buf2[512];	HWND hList;	HKL *klList, hKl;	int n, i,j;	GetKeyboardLayoutName(buf);	swprintf(buf2, L"Active: %s (%x)", buf, GetKeyboardLayout(0));	SetWindowText(GetDlgItem(hDlg, IDC_ACTIVE), buf2);	hList = GetDlgItem(hDlg, IDC_LIST);	SendMessage(hList, LB_RESETCONTENT, 0, 0);	n = GetKlList(&klList);	hKl = GetKeyboardLayout(0);	for(i = 0; i < n; i++)	{		swprintf(buf, L"%x", klList[i] );		j = SendMessage(hList, LB_ADDSTRING, 0, (LPARAM) buf);		SendMessage(hList, LB_SETITEMDATA, j, (LPARAM) klList[i]);		if(klList[i] == hKl) SendMessage(hList, LB_SETCURSEL, j, 0);	}	FreeKlList(klList);}
开发者ID:hoangduit,项目名称:reactos,代码行数:28,


示例2: GetForegroundWindow

SInt32CMSWindowsKeyState::pollActiveGroup() const{	// determine the thread that'll receive this event	HWND  targetWindow = GetForegroundWindow();	DWORD targetThread = GetWindowThreadProcessId(targetWindow, NULL);	// get keyboard layout for the thread	HKL hkl            = GetKeyboardLayout(targetThread);	if (!hkl) {		// GetKeyboardLayout failed. Maybe targetWindow is a console window.		// We're getting the keyboard layout of the desktop instead.		targetWindow = GetDesktopWindow();		targetThread = GetWindowThreadProcessId(targetWindow, NULL);		hkl          = GetKeyboardLayout(targetThread);	}	// get group	GroupMap::const_iterator i = m_groupMap.find(hkl);	if (i == m_groupMap.end()) {		LOG((CLOG_DEBUG1 "can't find keyboard layout %08x", hkl));		return 0;	}	return i->second;}
开发者ID:axelson,项目名称:synergy-plus-depracated,代码行数:27,


示例3: TransConvertList

LRESULT TransConvertList( HIMC hImc, LPIMESTRUCT lpIme){    LPSTR           lpSrc;    LPSTR           lpDst;    HGLOBAL         hCandList;    LPCANDIDATELIST lpCandList;    LPSTR           lpCandStr;    UINT            i, uBufLen;    LRESULT         lRet = 0;    lpSrc = lpSource(lpIme);    lpDst = lpDest(lpIme);    uBufLen = ImmGetConversionListA(GetKeyboardLayout(0), hImc, (LPCSTR)lpSrc,            NULL, 0, GCL_CONVERSION);    if (uBufLen)    {        hCandList = GlobalAlloc(GHND, uBufLen);        lpCandList = (LPCANDIDATELIST)GlobalLock(hCandList);        lRet = ImmGetConversionListA(GetKeyboardLayout(0), hImc, (LPCSTR)lpSrc,                lpCandList, uBufLen, GCL_CONVERSION);        for (i = 0; i < lpCandList->dwCount; i++)        {            lpCandStr = (LPSTR)lpCandList + lpCandList->dwOffset[i];            *lpDst++ = *lpCandStr++;            *lpDst++ = *lpCandStr++;        }        *lpDst = '/0';        lpIme->wCount = (WORD)lpCandList->dwCount * 2;        GlobalUnlock(hCandList);        GlobalFree(hCandList);    }    return (lRet);}
开发者ID:conioh,项目名称:os-design,代码行数:33,


示例4: VkToString

CString VkToString( DWORD vk ) {	UINT vsc = MapVirtualKeyEx( vk & 0x7fffffffUL, MAPVK_VK_TO_VSC, GetKeyboardLayout( 0 ) );	if ( ! vsc ) {		return CString( );	}	BYTE keyState[256] = { 0, };	wchar_t keyBuf[8] = { 0, };	if ( 0 != ( vk & 0x80000000 ) ) {		keyState[VK_SHIFT] = 0x80;	}	ToUnicodeEx( vk, vsc, keyState, keyBuf, 256, 0, GetKeyboardLayout( 0 ) );	return CString( keyBuf );}
开发者ID:TReKiE,项目名称:freecompose,代码行数:15,


示例5: LoadScanCodeMap

void CKeyboardLayout::InitKeyboardLayout(){	m_ToolTip.Create(this, TTS_ALWAYSTIP | TTS_NOPREFIX);	m_ToolTip.SetMaxTipWidth(0x100);	// Enable multiline	LoadScanCodeMap(m_HkeyType);		for (int i = 0; i < MAX_KEYBOARD_LAYOUT; ++i) {		if (!GetDlgItem(m_KeyboardLayouts[i].nBaseControlID)		 || !GetDlgItem(m_KeyboardLayouts[i].nCurrentControlID)) {			continue;		}		m_KeyboardLayouts[i].pBaseKey = new CKey(m_KeyboardLayouts[i].nBaseControlID, NORMAL_KEY, m_HkeyType);		m_KeyboardLayouts[i].pBaseKey->SubclassDlgItem(m_KeyboardLayouts[i].nBaseControlID, this);		m_ToolTip.AddTool(GetDlgItem(m_KeyboardLayouts[i].nBaseControlID), GetToolTipID(m_KeyboardLayouts[i].nToolTipID));		m_KeyboardLayouts[i].pCurrentKey = new CKey(m_KeyboardLayouts[i].nCurrentControlID, ORIGINAL_KEY, m_HkeyType);		m_KeyboardLayouts[i].pCurrentKey->SubclassDlgItem(m_KeyboardLayouts[i].nCurrentControlID, this);		m_ToolTip.AddTool(GetDlgItem(m_KeyboardLayouts[i].nCurrentControlID), GetToolTipID(m_KeyboardLayouts[i].nToolTipID));		ScanCode current = {'/0'};		if (GetScanCodeMap(m_HkeyType, m_KeyboardLayouts[i].scancode, &current)) {			m_KeyboardLayouts[i].pCurrentKey->SetKeyType(REMAPPED_KEY);			CString szWindowText;			GetDlgItem(GetBaseControlID(current))->GetWindowText(szWindowText);			GetDlgItem(m_KeyboardLayouts[i].nCurrentControlID)->SetWindowText(szWindowText);			KeyboardLayout *pKeyboardLayout = GetKeyboardLayout(GetBaseControlID(current));			if (pKeyboardLayout) {				m_ToolTip.UpdateTipText(GetToolTipID(pKeyboardLayout->nToolTipID), GetDlgItem(m_KeyboardLayouts[i].nCurrentControlID));			}		}	}}
开发者ID:kikairoya,项目名称:xkeymacs,代码行数:35,


示例6: m_delayMS

CKeySend::CKeySend(bool bForceOldMethod, unsigned defaultDelay) : m_delayMS(defaultDelay){  if (bFirst) {    cinput.type = INPUT_KEYBOARD;    cinput.ki.wVk = 0;    cinput.ki.wScan = 0;    cinput.ki.dwFlags = 0;    cinput.ki.time = 0;    cinput.ki.dwExtraInfo = 0;    bFirst = false;  }  m_impl = new CKeySendImpl;  m_impl->m_delay = m_delayMS;  // We want to use keybd_event (OldSendChar) for Win2K & older,  // SendInput (NewSendChar) for newer versions.  if (bForceOldMethod)    m_impl->m_isOldOS = true;  else {    m_impl->m_isOldOS = !pws_os::IsWindowsVistaOrGreater();  }  // get the locale of the current thread.  // we are assuming that all window and threading in the   // current users desktop have the same locale.  m_impl->m_hlocale = GetKeyboardLayout(0);}
开发者ID:ByteRisc,项目名称:pwsafe,代码行数:27,


示例7: GetKeyboardLayout

LCID Applet::GetLocaleId(DWORD threadId){  HKL hkl = GetKeyboardLayout(threadId);  DWORD lgid = LOWORD(hkl);  return MAKELCID(lgid, SORT_DEFAULT);}
开发者ID:Alim-Oezdemir,项目名称:emergedesktop,代码行数:7,


示例8: _gdk_windowing_init

void_gdk_windowing_init (void){  gchar buf[10];  if (getenv ("GDK_IGNORE_WINTAB") != NULL)    _gdk_input_ignore_wintab = TRUE;  else if (getenv ("GDK_USE_WINTAB") != NULL)    _gdk_input_ignore_wintab = FALSE;  if (gdk_synchronize)    GdiSetBatchLimit (1);  _gdk_app_hmodule = GetModuleHandle (NULL);  _gdk_display_hdc = CreateDC ("DISPLAY", NULL, NULL, NULL);  _gdk_input_locale = GetKeyboardLayout (0);  _gdk_input_locale_is_ime = ImmIsIME (_gdk_input_locale);  GetLocaleInfo (MAKELCID (LOWORD (_gdk_input_locale), SORT_DEFAULT),		 LOCALE_IDEFAULTANSICODEPAGE,		 buf, sizeof (buf));  _gdk_input_codepage = atoi (buf);  GDK_NOTE (EVENTS, g_print ("input_locale:%p, codepage:%d/n",			     _gdk_input_locale, _gdk_input_codepage));  CoInitialize (NULL);  _gdk_selection = gdk_atom_intern_static_string ("GDK_SELECTION");  _wm_transient_for = gdk_atom_intern_static_string ("WM_TRANSIENT_FOR");  _targets = gdk_atom_intern_static_string ("TARGETS");  _delete = gdk_atom_intern_static_string ("DELETE");  _save_targets = gdk_atom_intern_static_string ("SAVE_TARGETS");  _utf8_string = gdk_atom_intern_static_string ("UTF8_STRING");  _text = gdk_atom_intern_static_string ("TEXT");  _compound_text = gdk_atom_intern_static_string ("COMPOUND_TEXT");  _text_uri_list = gdk_atom_intern_static_string ("text/uri-list");  _text_html = gdk_atom_intern_static_string ("text/html");  _image_png = gdk_atom_intern_static_string ("image/png");  _image_jpeg = gdk_atom_intern_static_string ("image/jpeg");  _image_bmp = gdk_atom_intern_static_string ("image/bmp");  _image_gif = gdk_atom_intern_static_string ("image/gif");  _local_dnd = gdk_atom_intern_static_string ("LocalDndSelection");  _gdk_win32_dropfiles = gdk_atom_intern_static_string ("DROPFILES_DND");  _gdk_ole2_dnd = gdk_atom_intern_static_string ("OLE2_DND");  /* MS Office 2007, at least, offers images in common file formats   * using clipboard format names like "PNG" and "JFIF". So we follow   * the lead and map the GDK target name "image/png" to the clipboard   * format name "PNG" etc.   */  _cf_png = RegisterClipboardFormat ("PNG");  _cf_jfif = RegisterClipboardFormat ("JFIF");  _cf_gif = RegisterClipboardFormat ("GIF");  _cf_url = RegisterClipboardFormat ("UniformResourceLocatorW");  _cf_html_format = RegisterClipboardFormat ("HTML Format");  _cf_text_html = RegisterClipboardFormat ("text/html");  _gdk_win32_selection_init ();}
开发者ID:Aridna,项目名称:gtk2,代码行数:60,


示例9: iupwinKeyDecode

int iupwinKeyDecode(int wincode){  HKL k;  int i, count;  k = GetKeyboardLayout(0);      if ((int)HIWORD(k) == 0x0416) /* ABNT */  {    int abnt_count = sizeof(keytable_abnt)/sizeof(keytable_abnt[0]);    for (i = 0; i < abnt_count; i++)    {      if (keytable_abnt[i].wincode == wincode)        return winKeyMap2Iup(keytable_abnt, i);    }  }  count = sizeof(winkey_map)/sizeof(winkey_map[0]);  for (i = 0; i < count; i++)  {    if (winkey_map[i].wincode == wincode)      return winKeyMap2Iup(winkey_map, i);  }  return 0;}
开发者ID:svn2github,项目名称:iup-iup,代码行数:25,


示例10: GetLayoutOfText

HKL GetLayoutOfText(LPCTSTR ptszInText){	HKL hklCurLay = hklLayouts[0];	LPTSTR ptszKeybBuff = ptszLayStrings[0];	DWORD dwMaxSymbols = 0, dwTemp = 0;	for (DWORD j = 0; j < _tcslen(ptszInText); j++)		if (_tcschr(ptszKeybBuff, ptszInText[j]) != NULL)			++dwMaxSymbols;	for (DWORD i = 1; i < bLayNum; i++) {		ptszKeybBuff = ptszLayStrings[i];		DWORD dwCountSymbols = 0;					for (DWORD j = 0; j<_tcslen(ptszInText); j++)			if (_tcschr(ptszKeybBuff, ptszInText[j]) != NULL)				++dwCountSymbols;				if (dwCountSymbols == dwMaxSymbols)			dwTemp = dwCountSymbols;		else if (dwCountSymbols>dwMaxSymbols) {			dwMaxSymbols = dwCountSymbols;			hklCurLay = hklLayouts[i];		}	}	if (dwMaxSymbols == dwTemp)		hklCurLay = GetKeyboardLayout(0);		return hklCurLay;}
开发者ID:0xmono,项目名称:miranda-ng,代码行数:31,


示例11: strSetCurKeyboard

void strSetCurKeyboard(void){    udword keyboard;    if (keyboard = GetKeyboardLayout(0))    {        if (PRIMARYLANGID(keyboard)==LANG_ENGLISH)        {            strCurKeyboardLanguage = languageEnglish;        }        else if (PRIMARYLANGID(keyboard)==LANG_FRENCH)        {            strCurKeyboardLanguage = languageFrench;        }        else if (PRIMARYLANGID(keyboard)==LANG_GERMAN)        {            strCurKeyboardLanguage = languageGerman;        }        else if (PRIMARYLANGID(keyboard)==LANG_SPANISH)        {            strCurKeyboardLanguage = languageSpanish;        }        else if (PRIMARYLANGID(keyboard)==LANG_ITALIAN)        {            strCurKeyboardLanguage = languageItalian;        }    }    else        strCurKeyboardLanguage = languageEnglish;}
开发者ID:spippolatore,项目名称:homeworld-1,代码行数:30,


示例12: m_delayMS

CKeySend::CKeySend(bool bForceOldMethod) : m_delayMS(10){  if (bFirst) {    cinput.type = INPUT_KEYBOARD;    cinput.ki.wVk = 0;    cinput.ki.wScan = 0;    cinput.ki.dwFlags = 0;    cinput.ki.time = 0;    cinput.ki.dwExtraInfo = 0;    bFirst = false;  }  m_impl = new CKeySendImpl;  m_impl->m_delay = m_delayMS;  // We want to use keybd_event (OldSendChar) for Win2K & older,  // SendInput (NewSendChar) for newer versions.  if (bForceOldMethod)    m_impl->m_isOldOS = true;  else {    DWORD majorVersion, minorVersion;    pws_os::getosversion(majorVersion, minorVersion);    m_impl->m_isOldOS = ((majorVersion <= 4) ||                         (majorVersion == 5 && minorVersion == 0));  }  // get the locale of the current thread.  // we are assuming that all window and threading in the   // current users desktop have the same locale.  m_impl->m_hlocale = GetKeyboardLayout(0);}
开发者ID:wcremeika,项目名称:thesis,代码行数:30,


示例13: WndProc

static LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam,        LPARAM lparam) {    //fs_log("WndProc %d/n", message);    HRAWINPUT raw_input_handle;    switch (message) {    case WM_INPUTLANGCHANGE:        g_keyboard_layout = GetKeyboardLayout(0);        break;    case WM_INPUT:        raw_input_handle = (HRAWINPUT) lparam;        /*        unsigned int size;        if (GetRawInputData(raw_input_handle, RID_INPUT, NULL, &size,                sizeof(RAWINPUTHEADER)) != -1) {            void *data = malloc(size);            if (GetRawInputData(raw_input_handle, RID_INPUT, data, &size,                    sizeof(RAWINPUTHEADER)) != -1) {                process_input(data);            }            free(data);        }        */        unsigned int size = RAW_INPUT_MAX_SIZE;        if (GetRawInputData(raw_input_handle, RID_INPUT,                &g_raw_input_data, &size, sizeof(RAWINPUTHEADER)) != -1) {            process_input(&g_raw_input_data);        }        // must call DefWindowProc according to http://msdn.microsoft.com/        // en-us/library/windows/desktop/ms645590(v=vs.85).aspx        return DefWindowProc(hwnd, message, wparam, lparam);    }    return CallWindowProc(g_wndproc, hwnd, message, wparam, lparam);}
开发者ID:eehrich,项目名称:fs-uae,代码行数:34,


示例14: ShowOnScreenKeyboard

/** * Show the on-screen keyboard (osk) associated with a given textbox * @param parent pointer to the Window where this keyboard originated from * @param button widget number of parent's textbox */void ShowOnScreenKeyboard(Window *parent, int button){	DeleteWindowById(WC_OSK, 0);	GetKeyboardLayout();	new OskWindow(&_osk_desc, parent, button);}
开发者ID:J0anJosep,项目名称:OpenTTD,代码行数:12,


示例15: _dx2vk

static UInt8 _dx2vk(UINT dx){	if (dx >= VK_TABLE_SIZE) 		return NOKEY;	UInt8 vkCode = NOKEY;	HKL kbLayout = GetKeyboardLayout(0);	vkCode = MapVirtualKeyEx(dx, 3, kbLayout);	if (!vkCode)	{		switch (dx)		{			DX2VK(DIVIDE);			DX2VK(RCONTROL);			DX2VK(RMENU);			DX2VK(HOME);			DX2VK(PRIOR);			DX2VK(UP);			DX2VK(DOWN);			DX2VK(LEFT);			DX2VK(RIGHT);			DX2VK(END);			DX2VK(NEXT);			DX2VK(INSERT);			DX2VK(DELETE);			case DIK_NUMPADENTER:				vkCode = VK_SEPARATOR;				break;			default:				vkCode = NOKEY;		}	}	return vkCode;}
开发者ID:679565,项目名称:SkyrimOnline,代码行数:35,


示例16: funcSetImeString

// &SetImeStringstatic void funcSetImeString(HWND i_hwnd, int i_size){    _TCHAR *buf = new _TCHAR(i_size);    DWORD len = 0;    _TCHAR ImeDesc[GANA_MAX_ATOM_LENGTH];    UINT ImeDescLen;    DWORD error;    DWORD denom = 1;    HANDLE hPipe        = CreateFile(addSessionId(HOOK_PIPE_NAME).c_str(), GENERIC_READ,                     FILE_SHARE_READ, (SECURITY_ATTRIBUTES *)NULL,                     OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, (HANDLE)NULL);    error = ReadFile(hPipe, buf, i_size, &len, NULL);    CloseHandle(hPipe);    ImeDescLen = ImmGetDescription(GetKeyboardLayout(0),                                   ImeDesc, sizeof(ImeDesc));    if (_tcsncmp(ImeDesc, _T("SKKIME"), ImeDescLen) > 0)        denom = sizeof(_TCHAR);    HIMC hIMC = ImmGetContext(i_hwnd);    if (hIMC == INVALID_HANDLE_VALUE)        return;    int status = ImmGetOpenStatus(hIMC);    ImmSetCompositionString(hIMC, SCS_SETSTR, buf, len / denom, NULL, 0);    delete buf;    ImmNotifyIME(hIMC, NI_COMPOSITIONSTR, CPS_COMPLETE, 0);    if (!status)        ImmSetOpenStatus(hIMC, status);    ImmReleaseContext(i_hwnd, hIMC);}
开发者ID:byplayer,项目名称:yamy,代码行数:33,


示例17: WinMain

/** * Launches Awesomenauts, registers the chat binds and listens for key events. */int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,                   LPSTR lpCmdLine, int nCmdShow){	Process* awsmProcess = new Process();    // Load the config file data.    INIReader* reader = new INIReader(BLABL_CONFIG);    if (reader->ParseError() < 0) {        std::cerr << "ERROR: Failed to parse config file." << std::endl;        return 1;    }    // Launch Awesomenauts.    const char* awsmBin = reader->Get("Awesomenauts", "Bin", DEFAULT_BIN).c_str();    const char* awsmDir = reader->Get("Awesomenauts", "Dir", DEFAULT_DIR).c_str();    if (!awsmProcess->Launch(awsmBin, awsmDir)) {        std::cerr << "ERROR: Failed to create process." << std::endl;        return 1;    }    // Load the bindings and listen for hot key presses while Awesomenauts runs.    KeyListener* awsmListener = new KeyListener(GetKeyboardLayout(0));    awsmListener->LoadFromFile(reader);    delete reader;    while (awsmProcess->IsRunning())        awsmListener->ProcessInput();    delete awsmProcess;    delete awsmListener;    return 0;}
开发者ID:Lyrositor,项目名称:BlablLauncher,代码行数:34,


示例18: black

/* returns host keyboard mapping. used to initialize the keyboard map when   starting with a black (default) config, so an educated guess works good   enough most of the time :)   FIXME: add more languages, constants are defined in winnt.h   https://msdn.microsoft.com/en-us/library/windows/desktop/dd318693%28v=vs.85%29.aspx*/int kbd_arch_get_host_mapping(void){    int n;    int maps[KBD_MAPPING_NUM] = {        KBD_MAPPING_US, KBD_MAPPING_UK, KBD_MAPPING_DE, KBD_MAPPING_DA,        KBD_MAPPING_NO, KBD_MAPPING_FI, KBD_MAPPING_IT };    int langids[KBD_MAPPING_NUM] = {        MAKELANGID(LANG_ENGLISH,   SUBLANG_ENGLISH_US),        MAKELANGID(LANG_ENGLISH,   SUBLANG_ENGLISH_UK),        MAKELANGID(LANG_GERMAN,    SUBLANG_GERMAN),        MAKELANGID(LANG_DANISH,    SUBLANG_DANISH_DENMARK),        MAKELANGID(LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL),        MAKELANGID(LANG_FINNISH,   SUBLANG_FINNISH_FINLAND),        MAKELANGID(LANG_ITALIAN,   SUBLANG_ITALIAN)    };    int lang = (int)GetKeyboardLayout(0);    /* try full match first */    lang &= 0xffff; /* lower 16 bit contain the language id */    for (n = 0; n < KBD_MAPPING_NUM; n++) {        if (lang == langids[n]) {            return maps[n];        }    }    /* try only primary language */    lang &= 0x3ff; /* lower 10 bit contain the primary language id */    for (n = 0; n < KBD_MAPPING_NUM; n++) {        if (lang == (langids[n] & 0x3ff)) {            return maps[n];        }    }    return KBD_MAPPING_US;}
开发者ID:sasq64,项目名称:script-vice,代码行数:41,


示例19: TranslateToUnicode

UINT TranslateToUnicode (WORD *uVKey, LPBYTE GlobalKeyStates){	BYTE KeyStates[256];	UINT USvk = 0;	GetKeyboardState(KeyStates);	KeyStates[VK_CONTROL] = KeyStates[VK_MENU ] = KeyStates[VK_LMENU] = KeyStates[VK_RMENU] = 0;	if (!klf.layout.trackCaps)		KeyStates[VK_CAPITAL] = 0; 	WCHAR TransedChar = NULL;	UINT ScanCode = MapVirtualKey(*uVKey, MAPVK_VK_TO_VSC);	if (!ScanCode)		return false;	if (klf.layout.posBased==true && GetKeyboardLayout(0) != (HKL)0x04090409){		USvk = ScancodeToVirtualkey(ScanCode);		if (USvk != *uVKey && USvk <= 255){			GlobalKeyStates[USvk] = KeyStates[USvk] = KeyStates[*uVKey];			GlobalKeyStates[*uVKey] = KeyStates[*uVKey] = 0x00;			*uVKey = USvk;		}	}else { USvk = *uVKey ; }	int Return = ToUnicodeEx(*uVKey, ScanCode, KeyStates, &TransedChar, 1, 0, hkl);	if (!Return) return false;	if (TransedChar > 33 || TransedChar < 126)		*uVKey = TransedChar;	else {return false;}	return USvk;}
开发者ID:HughP,项目名称:keymagic,代码行数:35,


示例20: GetKeyboardLayout

		i32 CKeyboard::Init()		{			//Get default keyboard localization			m_WinHKL = GetKeyboardLayout( 0 );			return XST_OK;		}
开发者ID:przemyslaw-szymanski,项目名称:x-source-engine,代码行数:7,


示例21: sendChar

/** * Sends a char using emulated keyboard input * * This works for most cases, but not for dead keys etc **/void sendChar(TCHAR key, KBDLLHOOKSTRUCT keyInfo){	SHORT keyScanResult = VkKeyScanEx(key, GetKeyboardLayout(0));	keyInfo.vkCode = keyScanResult;	char modifiers = keyScanResult >> 8;	bool shift = ((modifiers & 1) != 0);	bool alt = ((modifiers & 2) != 0);	bool ctrl = ((modifiers & 4) != 0);	bool altgr = alt && ctrl;	if (altgr) {		ctrl = false;		alt = false;	}	if (altgr)		keybd_event(VK_RMENU, 0, 0, 0);	if (ctrl)		keybd_event(VK_CONTROL, 0, 0, 0);	if (alt)		keybd_event(VK_MENU, 0, 0, 0);	// ALT	if (shift)		keybd_event(VK_SHIFT, 0, 0, 0);	keybd_event(keyInfo.vkCode, keyInfo.scanCode, keyInfo.flags, keyInfo.dwExtraInfo);	if (altgr)		keybd_event(VK_RMENU, 0, KEYEVENTF_KEYUP, 0);	if (ctrl)		keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);	if (alt)		keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0);	// ALT	if (shift)		keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);}
开发者ID:owdee,项目名称:neo2-llkh,代码行数:39,


示例22: SetCompositionFont

void CImeView::InitIme(HWND hwnd){	char		ga[] = "
C++ GetKeyboardState函数代码示例
C++ GetKeyState函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。