CTRL+空格怎么关闭不了输入法
发布网友
发布时间:2022-04-21 19:59
我来回答
共1个回答
热心网友
时间:2023-06-24 03:56
xp有一个bug,就是在语言设置更改输入法的默认关闭/打开输入法的热键CTRL+SPACE后,无法设置恢复到原来的状态,就是说你必须在CTRL+SHIFT+SPACE和ALT+SHIFT+SPACE中选择一个新的热键来替换原来的CTRL+SPACE,这给人们带来了很多不便。用delphi可以快速解决此问题,本人在XP SP2上试验通过。。方法是先在语言设置里,去掉启用按键顺序。然后编译运行下面的程序,点btn1那个按钮就OK了。!
word" bgColor=#fdfddf>
以下是代码片段:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,registry;
type
TForm1 = class(TForm)
btn1: TButton;
procere btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procere TForm1.btn1Click(Sender: TObject);
var
reg :TRegistry;
buffer :array[0..3] of Byte;
begin
//setLength(buffer,3);
buffer[0]:= $02;
buffer[1]:=$c0;
buffer[2]:=$00;
buffer[3]:=$00;
reg:=TRegistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
if(reg.OpenKey('Control PanelInput MethodHot Keys0000010',false)) then
begin
reg.WriteBinaryData('Key Modifiers',buffer,4);
showmessage('ok');
end;
reg.Free;
end;
end.