输入法问题,急,急,急.........在线等待中..........(50)

  • 主题发起人 主题发起人 opqwthy
  • 开始时间 开始时间
O

opqwthy

Unregistered / Unconfirmed
GUEST, unregistred user!
前几天帮学校做了一个名词输入法软件,直接生成的是.exe,后面写了个.ime文件,通过ime文件直接调用.exe, 但是不能重复调用,只能调用一次,重新调用必须重新启动一次系统,不知道怎么回事,请各位帮帮忙????真的很急过两天就要提交了.
 
.ime文件我都是手动释放掉的,不知道为什么,还是不行
 
我想问一下是不是我的ime文件没设置为活动状态,我测试过了,第二次调用的时候没任何提示.
 
library zwsr;{$R 'Wingb.res' 'Wingb.rc'}{$E Ime}{$I Define.Inc}uses Windows, Registry, TlHelp32, ShellAPI, SysUtils;Const ROOT_KEY = HKEY_CURRENT_USER; SYS_KEY = '/Software/ccsoftware/%S/path'; SYS_KEY1 = '/Software/ccsoftware/%S/ztime';{$R *.res}function ReadFromRegS(const RootKey: HKEY; const Key, Name: string): string;var Reg: TRegistry;begin Result := ''; Reg := TRegistry.Create; try Reg.RootKey := RootKey; if Reg.OpenKey(Key, True) then if Reg.ValueExists(Name) then Result := Reg.ReadString(Name); finally Reg.CloseKey; Reg.Free; end;end;procedure WriteToRegs(const RootKey: HKEY; const Key, Name, Value: string);var Reg: TRegistry;begin Reg := TRegistry.Create; try Reg.RootKey := RootKey; if Reg.OpenKey(Key, True) then Reg.WriteString(Name, Value); finally Reg.CloseKey; Reg.Free; end;end;procedure Runmckd_exe();var Fexepath,FWrongHint:string;begin Fexepath:=ReadFromRegS(ROOT_KEY, Format(SYS_KEY,['ccsoftware']), 'path')+'mckd.exe'; WriteToRegS(ROOT_KEY, Format(SYS_KEY1,['ccsoftware']), 'ztime',formatdatetime('tt',Now)); //测试的登录时间 ShellExecute(GetDesktopWindow,'OPEN',PChar(Fexepath),nil,nil,SW_SHOWNORMAL); //直接打开输入法程序end;begin Runmckd_exe;end.//输入法关闭,我是通过程序直接获取键盘切换键,然后退出。//这里只能调用一次,第二次的就没办法调用,而且第二次的时候这里的代码执行不到。//这里生成的是.ime文件
 
我已经做出来了 谢谢。
 
后退
顶部