VB 怎么制作输入法(全局输入)?急。 50
字库已经做好了.点击list的一项便会Msgboxlist1.text(在text1里输入字母)请问怎么真实的输入?(输入A~Z,多个)【按空格输出第一项。按1,输出第一...
字库已经做好了.
点击list的一项便会Msgbox list1.text(在text1里输入字母)
请问怎么真实的输入?(输入A~Z,多个)【按空格输出第一项。按1,输出第一项。按2……】
请问怎么真实的输入到程序的外面?【按空格输出第一项。按1,输出第一项。按2……】 展开
点击list的一项便会Msgbox list1.text(在text1里输入字母)
请问怎么真实的输入?(输入A~Z,多个)【按空格输出第一项。按1,输出第一项。按2……】
请问怎么真实的输入到程序的外面?【按空格输出第一项。按1,输出第一项。按2……】 展开
展开全部
用VB做:
你可以先建一个Form,
把Caption删了,
ControlBox设为False。
然后在里面建一个Textbox,
把Textbox的BackColor设成和Form的BackColor一样,
然后BorderStyle设为2。
底下拉几个Label显示候选字,
然后在Label的Click事件中添加“Me.Hide"代码。
然后在Text1.KeyPress中编辑代码,
根据字库里的字显示在候选字中,
如果它的候选字数 Mod 每栏要显示的字数 = 0,
先把它的候选字数 \ 每栏要显示的字数 = 共有几页,
可以用For循环。
如果它的候选字数 Mod 每栏要显示的字数 <> 0,
也先把它的候选字数 \ 每栏要显示的字数 = 共有几页,
可以用For循环。
但最后一页只要显示 它的候选字数 Mod 每栏要显示的字数 个字,
所以它的代码要不在这个地方出纰漏,
比如说你把Label弄成一个数组,
那么最后一次只有前 它的候选字数 Mod 每栏要显示的字数 个Label要显示字符。
最后建两个Command,
一个上翻页,一个下翻页。
然后翻页的时候要填一个变量,
变量初始为0或1,
当在变量为0/1的时候上翻页按钮不起作用。
再弄一个Private函数,
如果它的候选字数 Mod 每栏要显示的字数 = 0
先把它的候选字数 \ 每栏要显示的字数 = 共有几页,
使得当在最后一页的时候下翻页按钮不起作用。
但如果它的候选字数 Mod 每栏要显示的字数 <> 0,
先把它的候选字数 \ 每栏要显示的字数,
然后再把结果+1,
当在最后一页的时候下翻页按钮才不起作用。
然后推荐再用Abode Illustrator做上翻页(↑)和下翻页(↓)的图标,
把按钮的Style设为1,
然后把Picture设为你画好的图片。
基本就完成了。
把工程名改为你想写的输入法名称,
然后生成EXE。
如果你真的要在自己电脑上使用的话,
推荐打开“C:\WINDOWS\Tasks”文件夹,
点击“添加任务计划”,
点击“下一步”。
再点击“浏览”,
点击你制作好的程序,
点击“下一步”。
然后输入任务名(你要把任务计划定成什么名字),
点击“计算机启动时”,
点击“下一步”。
然后输入用户名、密码并确认密码,
点击“下一步”,
然后点击“完成”。
如果有杀毒软件称有可能是计划任务被病毒利用,
如果看见有写“explorer.exe”的,
就是我们刚才创建的任务程序,
请点击“允许”。
然后一个不太完善的输入法就大体完成了。
如果你有每一步按这个做的话,
那每天一开机就会运行这个输入法程序。
但是就有一个缺点,
它可以选字,
但不能真正打字,
而且它也不能像其他输入法一样驻扎在任务栏上,
只是一个模拟的输入法。
要实现这些,
得牵扯到一些Windows API函数,
自己去看吧。http://baike.baidu.com/view/335746.htm(百度百科:Windows API)
你还可以用WINDOWS自带的输入法生成器:
http://wenwen.soso.com/z/q148339286.htm
你可以先建一个Form,
把Caption删了,
ControlBox设为False。
然后在里面建一个Textbox,
把Textbox的BackColor设成和Form的BackColor一样,
然后BorderStyle设为2。
底下拉几个Label显示候选字,
然后在Label的Click事件中添加“Me.Hide"代码。
然后在Text1.KeyPress中编辑代码,
根据字库里的字显示在候选字中,
如果它的候选字数 Mod 每栏要显示的字数 = 0,
先把它的候选字数 \ 每栏要显示的字数 = 共有几页,
可以用For循环。
如果它的候选字数 Mod 每栏要显示的字数 <> 0,
也先把它的候选字数 \ 每栏要显示的字数 = 共有几页,
可以用For循环。
但最后一页只要显示 它的候选字数 Mod 每栏要显示的字数 个字,
所以它的代码要不在这个地方出纰漏,
比如说你把Label弄成一个数组,
那么最后一次只有前 它的候选字数 Mod 每栏要显示的字数 个Label要显示字符。
最后建两个Command,
一个上翻页,一个下翻页。
然后翻页的时候要填一个变量,
变量初始为0或1,
当在变量为0/1的时候上翻页按钮不起作用。
再弄一个Private函数,
如果它的候选字数 Mod 每栏要显示的字数 = 0
先把它的候选字数 \ 每栏要显示的字数 = 共有几页,
使得当在最后一页的时候下翻页按钮不起作用。
但如果它的候选字数 Mod 每栏要显示的字数 <> 0,
先把它的候选字数 \ 每栏要显示的字数,
然后再把结果+1,
当在最后一页的时候下翻页按钮才不起作用。
然后推荐再用Abode Illustrator做上翻页(↑)和下翻页(↓)的图标,
把按钮的Style设为1,
然后把Picture设为你画好的图片。
基本就完成了。
把工程名改为你想写的输入法名称,
然后生成EXE。
如果你真的要在自己电脑上使用的话,
推荐打开“C:\WINDOWS\Tasks”文件夹,
点击“添加任务计划”,
点击“下一步”。
再点击“浏览”,
点击你制作好的程序,
点击“下一步”。
然后输入任务名(你要把任务计划定成什么名字),
点击“计算机启动时”,
点击“下一步”。
然后输入用户名、密码并确认密码,
点击“下一步”,
然后点击“完成”。
如果有杀毒软件称有可能是计划任务被病毒利用,
如果看见有写“explorer.exe”的,
就是我们刚才创建的任务程序,
请点击“允许”。
然后一个不太完善的输入法就大体完成了。
如果你有每一步按这个做的话,
那每天一开机就会运行这个输入法程序。
但是就有一个缺点,
它可以选字,
但不能真正打字,
而且它也不能像其他输入法一样驻扎在任务栏上,
只是一个模拟的输入法。
要实现这些,
得牵扯到一些Windows API函数,
自己去看吧。http://baike.baidu.com/view/335746.htm(百度百科:Windows API)
你还可以用WINDOWS自带的输入法生成器:
http://wenwen.soso.com/z/q148339286.htm
追问
我就是要打字,其他都ok了。
展开全部
弄个拦截键盘的全局钩子,判断是什么按键 然后在发 按键 和 字符 消息给当前窗口
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Sub Form_Load()
Timer1.Interval = 500
End Sub
Private Sub Timer1_Timer()
If GetAsyncKeyState(vbKeySpace) Then 执行语句,下同
If GetAsyncKeyState(vbKey1) Then
If GetAsyncKeyState(vbKey2) Then
If GetAsyncKeyState(vbKey3) Then
If GetAsyncKeyState(vbKey4) Then
End Sub
Private Sub Form_Load()
Timer1.Interval = 500
End Sub
Private Sub Timer1_Timer()
If GetAsyncKeyState(vbKeySpace) Then 执行语句,下同
If GetAsyncKeyState(vbKey1) Then
If GetAsyncKeyState(vbKey2) Then
If GetAsyncKeyState(vbKey3) Then
If GetAsyncKeyState(vbKey4) Then
End Sub
追问
挺好的,能拦截刚刚输入的吗?
刚刚输入的都输入到text1里。(在别的输入框里输入(不是vb的窗体里输入),拦截输入到vb窗体的text1)
追答
它可以读取到在别的输入框里输入(不是vb的窗体里输入),但不能拦截
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询