我想用VB写一个软件,求教高手,功能很简单,但不知道怎么写 20

我想用VB写一个软件,求教高手,功能很简单,但不知道怎么写软件功能:当我打开软件时,会弹出一个text控件,输入一个词组后,按ok,这时小键盘上的1就变成了这个词组,只要... 我想用VB写一个软件,求教高手,功能很简单,但不知道怎么写

软件功能:当我打开软件时,会弹出一个text控件,输入一个词组后,按ok,这时小键盘上的1就变成了这个词组,只要我的软件还开着,不管在什么界面,我按1,都会出现这个词组

简单点说就是:开启软件后,可以把小键盘的1变成一个 词组快捷输入键

今天搞了一天,也没结果,敲得很多东西都是不对,请教高人,这个该如何写,

请教了,请不惜赐教

先感谢了
对了,我用的是vb6,
vb7、.net不太熟,
我的邮箱是

303467342@qq.com

先谢过
展开
 我来答
whiteamoon
2012-12-02 · TA获得超过251个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:169万
展开全部
功能简单实现不简单,VB可以做但是非常不推荐用VB做,不稳定还容易出问题。

技术核心就是HOOKAPI,如果你想自己就去百度一下

我推荐给你一个简单的方法,买一个带宏编辑的键盘,鼠标也有此类产品。
不想花钱 下载个按键精灵,把你的字符串绑定到小键盘1上 呵呵

这么回答很无聊,但是很直接
百度网友e1f44b2
2012-12-02 · TA获得超过715个赞
知道小有建树答主
回答量:1223
采纳率:0%
帮助的人:427万
展开全部
哪需要APIHOOK那么复杂, 楼下说得太夸张了......
注册一个全局快捷键就可以了
主窗体代码如下
Option Explicit
Dim uVirtKey As Integer
Private Sub Command1_Click()
Dim Modifiers As Long
preWinProc = GetWindowLong(Me.hWnd, GWL_WNDPROC)
SetWindowLong Me.hWnd, GWL_WNDPROC, AddressOf WndProc
uVirtKey = 97 '小键盘的1
RegisterHotKey Me.hWnd, 1, Modifiers, uVirtKey
End Sub
'当程序被关闭时,取消已经注册的热键
Private Sub Form_Unload(Cancel As Integer)
SetWindowLong Me.hWnd, GWL_WNDPROC, preWinProc
UnregisterHotKey Me.hWnd, uVirtKey
End Sub

加入一个标准模块, 代码如下
Option Explicit
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal ID As Long, ByVal fsModifiers As Long, ByVal vk As Long) As Long
Public Declare Function UnregisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal ID As Long) As Long
Public Const WM_HOTKEY = &H312
Public Const GWL_WNDPROC = (-4)

Public preWinProc As Long, MyhWnd As Long, uVirtKey As Long
Public Function WndProc(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If Msg = WM_HOTKEY Then
If wParam = 1 Then
SendKey
End If
End If
WndProc = CallWindowProc(preWinProc, hWnd, Msg, wParam, lParam)
End Function

Public Sub SendKey()
SendKeys Form1.Text1.Text
End Sub

测试过了, 可以用, 只能是英语, 如果是汉字的话, 可以考虑模拟粘贴
更多追问追答
追问
收到您的邮件了,十分感谢,能不能帮我简单说下模拟粘贴时怎么回事
我在百度里搜到一些,但还是不太懂是什么,昨天下了些win api的资料,正在读,是api里的么?
追答
发邮箱了, 自己看哦, 就改了一点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风雪剑无痕
2012-11-30 · TA获得超过1253个赞
知道大有可为答主
回答量:1691
采纳率:100%
帮助的人:1683万
展开全部
两种方法:计时器和全局键盘消息,留个邮箱吧,唉~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小蜜蜂前冲
2018-05-29
知道答主
回答量:8
采纳率:0%
帮助的人:7280
展开全部
我可以给你写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式