loadkeyboardlayoutl

用VB读取和控制Windows的中文输入法  在Windows中我们可以用“Ctrl+Shift”键来调入或切换中文输入法,但是这样做每次都是使位于输入法列表顶端的那个输入法首先被调用。通常我们都要连续按好几次“Ctrl+Shift”才能将习惯的输入法调出。我编制了一段小程序,通过它可以把任意一个输入法放在输入法列表的顶端。  它的原理是:使用LoadKeyboardLayout函数可以改变输入法的顺序,只要在第一个参数中传递目标输入法的K 阅读详情
  name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-5572165936844014&dt=1193665761703&lmt=1193665780&format=336x280_as&output=html&correlator=1193665761687&url=http%3A%2F%2Fwww.codeguru.cn%2Fpublic%2Fiframe%2Fwinapiiframe.htm&color_bg=FFFFFF&color_text=000000&color_link=000000&color_url=FFFFFF&color_border=FFFFFF&ad_type=text&ga_vid=1285758818.1193665762&ga_sid=1193665762&ga_hid=111695597&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_his=8&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="allowtransparency">     函数功能:该函数给系统中装入一种新的键盘布局,可以同时装入几种不同的键盘布局,任一时刻仅有一个进程是活动的,装入多个键盘布局使得在多种布局间快速切换。

    函数原型:HKLLoadKeyboardLayout(LPCTSTR pwszKLID,UINT Flags);

    参数:

    pwszKLID:缓冲区中的存放装入的键盘布局名称,名称是由语言标识符(低位字)和设备标识符(高位字)组成的十六进制值串,例如 U.S.英语对应的语言标识符为DX0409,则基本的U.S.英语键盘布局命名为“0000409”。U.S.英语键盘布局的变种(例如Dvorak布局)命名为“00010409”,“00020409”等。

    Flags:指定如何装入键盘布局,该参数可以是如下的值。

    KLF_ACTIVATE:若指定布局尚未装入,该函数为当前线程装入并激活它。

    KLF_NOTELLSHELL:当装入新的键盘布局时,禁止一个ShellProe过程接收一个HSHELL_LANGUAGE代码。

    当应用程序依次装入多个键盘布局时,对除最后一个键盘布局外的所有键盘布局使用该值,将会延迟Shell的处理直到所有的键盘布局均己被装入。

    KLF_RECOROER:将指定键盘布局移动到布局表的头部,使得对于当前线程,该布局的活动的。若不提供DLF_ACTIVATE值,则该值记录键盘布局表。

    KLF_REPLACE_LANG:Windows NT 4.0或Windows 95以上支持,若新布局与当前布局有同样的语言标识符,那么新布局替代当前布局作为那种语言的键盘布局,若未提供该值,而键盘布局又有同样的标识符,则当前布局不被替换,函数返回NULL值。

    KLF_SUBSTITUTE_OK:用用户喜欢的键盘布局来替换给定布局,系统初始时设置该标志,并且建议始终设置该标志,仅当在注册HKEY_CURRENT_USER/Keyboard Layout/Substitate下定义了一个替代布局时,才发生替换。例如,在名为00000409的部分中有一个多于00010409的值,则设置该标志装入U.S.英语键盘布局会导致Dvorak US.英语键盘布局的装入。系统引导时使用该参数,建议在所有应用程序装入键盘布局时使用该值,以确保用户喜欢的键盘布局被选取。

    KLF_SETFORPROCESS:Windows NT 5.0该位仅法与KLF_ACTIVATE一起使用时才有效,为整个进程激活指定键盘布局,且发送WM_INPUTLANGCHANGE消息以当前进程的所有线程。典型的LoadKeyboardLayWut仅为当前线程激活一个键盘布局。

    KLF_UNLOADPREVIOS:WindowsNT5.0,Windows95,Windows98都不支持,仅当与KLF_ACTIVATE一起使用时才有效,仅当装入且激活指定键盘布局成功,先前的布局才能被卸载,建议使用unLoadKeyboardLayout函数。

    返回值:若函数调用成功,返回与要求的名字匹配的键盘布局句柄。若没有匹配的布局,则返回NULL。

    备注:应用程序可以通过仅定义语言标识符的串来装入该语言的IME向缺省键盘布局。若应用程序想装入IME的指定键盘布局,就必须读注册信息以确定传递给LoadKeyboardLayout返回的键盘布局句柄来激活。

    Windows 95和Windows 98:若装载与原先键盘布局使用同种语言的布局,且KLF_REPLACELANG标志未被设置,则函数调用失败,仅有一个键盘布局可与给定语言相关联。(对于装载与同一语言相关的多IME也是可接受的)。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本。

Android输入事件从读取到分发一:是谁在读取输入事件 零. 第一次尝试阅读android输入系统的代码,免不了理解错误,如有错误,欢迎指正。 一.提出问题 android是基于linux kernel的,linux的事件获取需要读/dev/input下的设备文件节点。对android系统而言,是谁在读这些设备文件节点?读到以后又是怎么把它发送给view的? 二.猜测与验证 事件是一种看不到的东西,在android下,看不见的东西一般交给se 阅读详情

相关推荐

qlineedit强制系统键盘为英文输入法

#ifdef WIN32 #include <windows.h> #endif # ifdef WIN32 HKL hCurKL = NULL; #endif //强制英文输入法 hCurKL = GetKeyboardLayout(0); LoadKeyboardLayout((LPCWSTR)QString("0x0409").utf16(), KLF_ACTIVATE); ActivateKeyboardLayout(hCurKL, 0); //还原输入法 //关闭键盘 HWND

zp33 2233

c#切换成英文输入法

WinAPI.cs public class WinAPI { [DllImport("user32.dll")] public static extern bool PostMessage(int hhwnd, uint msg, IntPtr wparam, IntPtr lparam); [DllImport("user32.dll")] public static extern IntPtr LoadKeyboardLayout(string pwszKLID, uint Fla

m0_37570176的博客 2043

C# 调用win32 api函数-user32.dll详细说明

user32.dll调用说明,系统调用api函数 user32.dll 参数详细说明

LoadKeyboardLayout函数说明

LoadKeyboardLayout  函数功能:该函数给系统中装入一种新的键盘布局,可以同时装入几种不同的键盘布局,任一时刻仅有一个进程是活动的,装入多个键盘布局使得在多种布局间快速切换。  函数原型:HKL LoadKeyboardLayout(LPCTSTR pwszKLID,UINT Flags);  参数:  pwszKLID:缓冲区中的存放装入的键盘布局名称,名称是由语言标识符(低

RENYUAN 7147

避坑指南:Zephyr RTOS与nRF Connect SDK环境搭建常见错误及解决方案

本文详细解析了Zephyr RTOS与nRF Connect SDK环境搭建过程中的常见错误及解决方案,涵盖网络问题、代理设置、SEGGER Embedded Studio配置、分支切换等关键环节。针对开发者实际遇到的痛点问题,提供了一系列实用技巧和深度排错方法,帮助高效完成NCS开发环境部署。

weixin_28685287的博客 172

DBeaver 实战:手动配置 PostgreSQL JDBC 驱动的高级技巧

本文详细介绍了在DBeaver中手动配置PostgreSQL JDBC驱动的高级技巧。针对企业内网、多版本数据库兼容等场景,从获取官方驱动文件、创建自定义驱动配置,到使用Maven坐标管理、连接参数调优及解决常见连接问题,提供了完整的实战指南,帮助开发者实现对数据库连接环境的精准掌控。

apple5的专栏 837

[VB] LoadKeyboardLayout的用法

1.函数功能:    该函数给系统中装入一种新的键盘布局,可以同时装入几种不同的键盘布局,任一时刻仅有一个进程是活动的,装入多个键盘布局使得在多种布局间快速切换。2.函数原型:HKL  LoadKeyboardLayout(LPCTSTR pwszKLID,UINT Flags);3.参数:    a> pwszKLID:缓冲区中的存放装入的键盘布局名称。名称是由语言标识符(低位字)和设备

ysqbest的专栏 1672

YOLO数据集实现数据增强的方法(裁剪、平移 、旋转、改变亮度、加噪声等)

数据集样本太少怎么办?数据集优质图像不够怎么办?如何做到更好的数据预处理?一文带你学会数据增强,还可实现带标签的扩充。

路人贾的博客 4万+

从数据读取到业务事件:理解 ABAP CDS 视图的目的与选型(含 RAP、扩展与分析场景)

CDS视图在SAP S/4HANA中不仅是数据查询工具,更是语义模型和运行时能力的载体。它通过分层架构(基础视图、组合视图、消费视图等)实现数据复用与场景适配,支持UI、分析、事务处理等多样化消费。视图类型包括提供数据访问的接口视图(I_前缀)、消费视图(C_前缀)和事务视图,以及不提供数据访问的扩展视图。这种分层设计确保了数据模型的稳定性与扩展性,同时支持自定义字段和上下文感知分析。正确理解CDS视图的用途和分层规则,能帮助开发者构建更健壮、可维护的SAP应用。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 302

电子电器架构 -- 汽车零部件DV试验与PV试验的定义及关键差异

电子电器架构 -- 汽车零部件DV试验与PV试验的定义及关键差异

Soly_kun的博客 733

VC++ LoadKeyboardLayout

LoadKeyboardLayout FunctionThe LoadKeyboardLayout function loads a new input locale identifier (formerly called the keyboard layout) into the system. Several input locale identifiers can be load

Augusdi的专栏 3428

基于LSTM算法实现交通流量预测(Pytorch版)

本研究采用PyTorch框架,设计并实现了一种基于LSTM(Long Short-Term Memory)网络的交通流量预测模型。针对时序性显著的交通流量数据,模型首先将多节点、多通道的时空信息整合为一维特征输入至多层LSTM单元,利用其捕捉长期依赖及短期波动的能力进行深度学习。全连接层随后调整时间步长以适应预测周期需求。模型结构灵活,能适应不同节点数、输入输出长度及通道配置,实现在给定历史流量数据基础上对未来交通流量的精准预测,为交通管理与规划提供数据驱动支持。

打酱油的葫芦娃 4641

C#应用程序实现限制输入法

我们的操作系统,安装几个输入法很正常,在使用应用程序,输入数据时总会来回切换输入法。虽然系统操作提供了切换键,但也对输入的效率也有不少的影响。当使用外接设备来输了数据时,对输入的影响更大了。如在下面场景,使用条码扫描枪扫描商品条码、订单条码、快递单号条码时,出现扫描与输出结果不一致。那么应用程序如何限制或自动切换输入法,防止出现异常和提高效率。C#是通过什么方式来实现的,下面介绍二种方式禁用或打开输入法。

dotNet开发技术分享 1302

利用baostock获取上市公司财务指标

利用baostock获取上市公司的财务指标 1、导入模块,登录baostock import baostock as bs import pandas as pd import time # 登陆系统 lg = bs.login() # 显示登陆返回信息 print('login respond error_code:'+lg.error_code) print('login respond error_msg:'+lg.error_msg) 2、查询股票代码、行业板块 # 查询股票代码 rs=.

firefox_yau的博客 2099

基于 Vivado HLS 的 AC97 音频系统设计

介绍一种基于 FPGA 的 AC97 音频系统设计。系统的核心部件采用 Xilinx Atlys 的板载 Spartan6 XCSLX45 芯片,使用的工具为 Xilinx 的高层 次 综 合 技 术 Vivado HLS。首先使用 C /C + + 代码编写的算法描述系统的 FIR 滤波器; 然后按 照 Vivado HLS 编译工具的规范,将程序代码转换为 RTL 模型,快速、直接地生成对 应左右声道的 FIR IP 核和综合结果; 再结合互连的 MicroBlaze 处理器 IP 核,处理 一段立体声

qq_43416206的博客 327

C# 輸入法

/* 參考來源: http://reflector.webtropy.com/default.aspx/4@0/4@0/untmp/DEVDIV_TFS/Dev10/Releases/RTMRel/ndp/fx/src/WinForms/Managed/System/WinForms/InputLanguage@cs/1305376/InputLanguage@cs http://msdn.m...

涂聚文 270

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C#常用 API函数大全

常用Windows API 常用Windows API API之网络函数 API之消息函数 API之文件处理函数 API之打印函数 API之文本和字体函数 API之菜单函数 API之位图图标和光栅运算函数 API之绘图函数 API之设备场景函数 API之硬件与系统函数 API之进程和线程函数 API之控件与消息函数 1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2

4059

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

设置输入法为 微软拼音 和 美式键盘

修改输入法

ssq9595的博客 301

API LoadKeyboardLayout Yer see,d1

 Welcome to my blog!Yer see, said Sam, yer see, Andy, if any such thing should happen as that Masr Haleys horse should begin to act contrary, and cut up, you and I jist lets go of ourn to help him, an

mpg_aid1的专栏 410

KeyboardLayout应用

class CKbLayout_Class{public: CStringArray mList; CKbLayout_Class() { EnumKbLayoutList(); }public: INT_PTR EnumKbLayoutList() //枚举KeyboardLayout { mList.RemoveAll()

zgl7903的专栏 4349

Visual C++编程控制输入法

   在Windows系统中一般都安装了至少三种输入法,在输入数据时常常会切换输入法,虽然Windows系统提供了切换快捷健,但对输入工作还是带来了不少麻烦。如果在应用程序中为用户提供智能输入法自动切换,那么这样的应用程序就显得更加专业、更加具有竞争力。不知你可用过Access,在表数据输入时Access自动切换输入法,如某字段需要输入英文时自动切换到En输入状态,如另一字段需要输入中文自动切换到

VGS® 研发笔记 2443

关于键盘输入

关于键盘输入   应用程序应该像接收鼠标输入一样可以接收键盘输入,Windows中的应用程序是以窗体消息的形式来获取键盘输入。   本节包括以下内容:键盘输入模型 键盘聚焦及激活 按键消息 字符消息 键状态 按键及字符转换 热键支持 浏览及其他功能键 模拟输入 语言、场所及键盘布局 键盘输入模型  系统通过安装当前键盘的设备驱动来

dtdn的专栏 2889

C++适用于所有输入法的解决方案(切换输入法)

C++适用于所有输入法的解决方案(切换输入法)

森明帮大于黑虎帮的博客 1185

vs2008的错误:Error: no data exchange control with ID 0x0409

这个错误的信息是:在进行doDataExchange的时候,发现和变量绑定的控件找不到。 今天碰到了这个问题,找了半天,才发现原来是更改了控件引起的。          在开发过程中,经常会删除或者更改一些控件。这个时候,就很有可能会出现上述问题。 另外: 在vs2008下开发,出现类似错误时,可以看vs2008自带的调用堆栈信息,可以很快并且很方便的找到问题的根源。

liangyamin的专栏 2213
上一篇: loadcursorfromfilel
下一篇: loadlconl
WinApiExample
博客等级 码龄19年 2粉丝 663原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值