資源簡(jiǎn)介
簡(jiǎn)單實(shí)現(xiàn)的windows下的輸入法源碼,對(duì)于初寫輸入法的人有很大幫助

代碼片段和文件信息
//?install.cpp?:?Defines?the?entry?point?for?the?application.
//
#include?“install.h“
#include?
#include?
#pragma?comment(lib“imm32.lib“)
#define?MAX_STRLEN 100
void?MakeLower(char?*pstr)
{
int?i=0;
while(pstr[i])
{
if(pstr[i]&0x80)
i+=2;
else
{
if(pstr[i]>=‘A‘?&&?pstr[i]<=‘Z‘)
pstr[i]+=0x20;
i++;
}
}
}
int?APIENTRY?WinMain(HINSTANCE?hInstance
?????????????????????HINSTANCE?hPrevInstance
?????????????????????LPSTR?????lpCmdLine
?????????????????????int???????nCmdShow)
{
char?szIme[MAX_STRLEN+1]szImeName[MAX_STRLEN+1];
char?szSysPath[MAX_PATH]szCurPath[MAX_PATH];
char?szPath1[300]szPath2[300];
LoadString(hInstanceIDS_IMEszImeMAX_STRLEN);
LoadString(hInstanceIDS_IME_NAMEszImeNameMAX_STRLEN);
GetCurrentDirectory(MAX_PATHszCurPath);
GetSystemDirectory(szSysPathMAX_PATH);
//step1:檢查是否已經(jīng)安裝了啟程
sprintf(szPath1“%s\\sinstar2.ini“szSysPath);
if(GetFileAttributes(szPath1)!=0xFFFFFFFF)
{
MessageBox(GetActiveWindow()“在系統(tǒng)目錄下找到sinstar2.ini可能已經(jīng)安裝本軟件\n不能繼續(xù),請(qǐng)確定退出!““提示“MB_OK|MB_IConstop);
return?0;
}
//step2:復(fù)制輸入法文件
sprintf(szPath1“%s\\%s.ime“szCurPathszIme);
if(GetFileAttributes(szPath1)==0xFFFFFFFF)
{
char?szMsg[100];
sprintf(szMsg“當(dāng)前目錄下沒有找到輸入法文件:%s.ime“szIme);
MessageBox(GetActiveWindow()szMsg“提示“MB_OK|MB_IConstop);
return?0;
}
sprintf(szPath2“%s\\%s.ime“szSysPathszIme);
CopyFile(szPath1szPath2FALSE);
//step3:復(fù)制輸入法配置文件
sprintf(szPath1“%s\\%s.ini“szCurPathszIme);
sprintf(szPath2“%s\\%s.ini“szSysPathszIme);
if(GetFileAttributes(szPath1)!=0xffffffff)
{
CopyFile(szPath1szPath2FALSE);
}
//step4:檢查是否需要服務(wù)器配置文件
MakeLower(szIme);
sprintf(szPath1“%s\\sinstar2.ini“szCurPath);
sprintf(szPath2“%s\\sinstar2.ini“szSysPath);
if(strcmp(szIme“sinstar2“)!=0)
{
if(GetFileAttributes(szPath1)!=0xFFFFFFFF)
{//復(fù)制服務(wù)器配置文件
CopyFile(szPath1szPath2FALSE);
}
}
//step5:改寫服務(wù)器配置文件
sprintf(szPath1“%s\\server\\isserver.exe“szCurPath);
WritePrivateProfileString(“path““svr_exe“szPath1szPath2);
sprintf(szPath1“%s\\server“szCurPath);
WritePrivateProfileString(“path““svr_data“szPath1szPath2);
sprintf(szPath1“%s\\%s“szCurPathszIme);
WritePrivateProfileString(“path““ime_data“szPath1szPath2);
//step5:安裝輸入法
sprintf(szPath1“%s\\%s.ime“szSysPathszIme);
ImmInstallIME(szPath1szImeName);
MessageBox(GetActiveWindow()“安裝完成““提示“MB_OK);
return?0;
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????37370??1999-04-01?23:24??輸入之星\IMM\Imm.h
?????文件??????56788??1997-07-11?22:30??輸入之星\IMM\IMM32.LIB
?????文件????????961??2007-10-31?15:31??輸入之星\include\commfile.h
?????文件???????2281??2007-11-01?16:32??輸入之星\include\helper.h
?????文件??????18219??1999-07-14?05:02??輸入之星\include\htmlhelp.h
?????文件???????1048??2007-10-07?19:07??輸入之星\include\Hyperli
?????文件???????5499??2008-01-20?18:34??輸入之星\include\iscomm.h
?????文件???????6867??2008-01-20?18:33??輸入之星\include\isProtocol.h
?????文件????????623??2007-07-13?09:24??輸入之星\include\png32_helper.h
?????文件???????2617??2007-12-27?11:25??輸入之星\install\install.cpp
?????文件???????4314??2007-12-24?20:55??輸入之星\install\install.dsp
?????文件????????537??2007-12-24?18:58??輸入之星\install\install.dsw
?????文件????????571??2007-12-24?19:55??輸入之星\install\install.h
?????文件???????2166??2007-12-24?19:53??輸入之星\install\install.rc
?????文件????????441??2007-12-24?20:00??輸入之星\install\ReadMe.txt
?????文件???????1083??2007-12-24?19:53??輸入之星\install\resource.h
?????文件???????1078??2007-12-24?19:53??輸入之星\install\sinstar2.ICO
?????文件??????18259??2008-01-20?18:35??輸入之星\iscomm\iscomm.c
?????文件???????3403??2006-10-29?20:30??輸入之星\iscomm\iscomm.dsp
?????文件????????535??2006-11-06?22:48??輸入之星\iscomm\iscomm.dsw
?????文件??????17082??2007-11-01?17:32??輸入之星\lib\helper.lib
?????文件??????50788??2007-11-01?17:32??輸入之星\lib\helperd.lib
?????文件??????34904??1999-12-03?06:29??輸入之星\lib\htmlhelp.lib
?????文件???????5664??2007-10-31?10:34??輸入之星\lib\hyperli
?????文件??????19206??2007-10-31?10:35??輸入之星\lib\hyperli
?????文件??????25062??2008-01-20?18:36??輸入之星\lib\iscomm.lib
?????文件??????57802??2008-01-20?18:35??輸入之星\lib\iscommd.lib
?????文件?????401950??2007-07-27?15:17??輸入之星\lib\png32_helper.lib
?????文件??????24720??2008-01-17?09:23??輸入之星\sinstar2\config.c
?????文件????????292??2007-12-26?17:12??輸入之星\sinstar2\config.h
............此處省略53個(gè)文件信息
評(píng)論
共有 條評(píng)論