zoukankan      html  css  js  c++  java
  • Win32 Ime

    Win32 Ime API:


     ImmGetContext: 获取指定窗口的当前的输入上下文,然后再尝试访问上下文中的信息。应用程序应该定期使用这个功能获取窗口的当前的输入上下文。若hWnd参数为零,将返回桌面当前的输入上下文。

    HIMC ImmGetContext( HWND hWnd );

    GetKeyboardLayout:该函数可以获得指定线程的活动键盘布局句柄。若idThread参数为零,将返回活动线程的键盘布局句柄。
    HKL GetKeyboardLayout( DWORD idThread );
    返回值:返回值为指定线程的键盘布局句柄。返回值的低位字包含了输入语言的语言标识符,高位字包含了键盘物理布局的句柄。
     

    GetKeyboardLayoutList:获得系统适用的所有键盘布局的一个列表
    UINT GetKeyboardLayoutList( int nBuff,HKL FAR *IpList );
    GetKeyboardLayoutName:检索系统的活动输入区域设置标识符(以前称为键盘布局)的名称。 
    BOOL GetKeyboardLayoutNameW( LPWSTR pwszKLID );
    LoadKeyboardLayoutA:该函数给系统中装入一种新的键盘布局,可以同时装入几种不同的键盘布局,任一时刻仅有一个进程是活动的,装入多个键盘布局使得在多种布局间快速切换。
    HKL LoadKeyboardLayoutA( LPCSTR pwszKLID, UINT Flags );
    ActivateKeyboardLayout:为调用线程或当前进程设置输入区域设置标识符(以前称为键盘布局句柄)。输入语言环境标识符指定语言环境以及键盘的物理布局。
    HKL ActivateKeyboardLayout( HKL hkl, UINT Flags );

    GetKeyboardState 取得键盘上每个虚拟键当前的状态
    GetKeyboardType 了解与正在使用的键盘有关的信息
    GetKeyNameText 在给出扫描码的前提下,判断键名

    GetWindowLong:获取指定窗口的有关信息,也可用于获取窗口内存中指定偏移的32位度整型值。要编写与32位和64位版本的Windows兼容的代码,请使用GetWindowLongPtr在编译32位Windows时,GetWindowLongPtr被定义为对GetWindowLong函数的调用
    LONG GetWindowLong( HWND hWnd, int nIndex );

    GetWindowLongPtr:获取指定窗口的有关信息,也可用于获取窗口内存中指定偏移的32位度整型值。
    LONG_PTR GetWindowLongPtr( HWND hWnd, int nIndex );

    SetWindowLong:该函数用来改变指定窗口的属性.函数也将指定的一个32位值设置在窗口的额外存储空间的指定偏移位置。此函数已被SetWindowLongPtr函数取代要编写与32位和64位版本的Windows兼容的代码,请使用SetWindowLongPtr函数。
    LONG SetWindowLong( HWND hWnd, int nIndex, LONG dwNewLong );

    CallWindowProc:将消息信息传递给指定的窗口过程。
    LRESULT CallWindowProcA( WNDPROC lpPrevWndFunc, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam );

     
    致读者:本人自学编程,知识薄弱,实践经验不够,博客文章难免有错误之处,希望读者能积极指正,感激不尽。 若您有更精妙的解决方案或者对文中有疑问,欢迎留言或联系我讨论问题。
  • 相关阅读:
    Reactive Extensions (Rx) 入门(5) —— Rx的事件编程
    Reactive Extensions (Rx) 入门(4) —— Rx的事件编程
    Reactive Extensions (Rx) 入门(3) —— Rx的事件编程
    Reactive Extensions (Rx) 入门(2) —— 安装 Reactive Extensions
    Reactive Extensions (Rx) 入门(1) —— Reactive Extensions 概要
    Xamarin NuGet 缓存包导致 already added : Landroid/support/annotation/AnimRes 问题解决方案
    Android 系统Action大全
    Xamarin Forms 实现发送通知点击跳转
    如何理解灰度发布
    推荐一款分布式微服务框架 Surging
  • 原文地址:https://www.cnblogs.com/it89/p/10126886.html
Copyright © 2011-2022 走看看