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 Keys