首页

源码搜藏网

首页 > 开发教程 > Delphi教程 >

恢复Ctrl+Space无法关闭/打开输入法的问题

创建时间:2013-09-22 09:24  

核心提示:xp有一个bug,就是在语言设置更改输入法的默认关闭/打开输入法的热键CTRL+SPACE后,无法设置恢复到原来的状态

xp有一个bug,就是在语言设置更改输入法的默认关闭/打开输入法的热键CTRL+SPACE后,无法设置恢复到原来的状态,就是说你必须在CTRL+SHIFT+SPACE和ALT+SHIFT+SPACE中选择一个新的热键来替换原来的CTRL+SPACE,这给人们带来了很多不便。用delphi可以快速解决此问题,本人在XP SP2上试验通过。。方法是先在语言设置里,去掉启用按键顺序。然后编译运行下面的程序,点btn1那个按钮就OK了。!

恢复Ctrl+Space无法关闭/打开输入法的问题

以下是代码片段:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls,registry;

type

TForm1 = class(TForm)

btn1: TButton;

    procedure btn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure 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.

上一篇:数据库应用程序的开发环境介绍
下一篇:开发经验

相关内容

热门推荐