请教一个编程问题(高手请进)

我想做一个软件A,这个软件的功能是:
1、能够控制另一个软件B的执行。
2、这个软件B有若干功能。例如:窗体上有上一条记录、下一条记录、关闭等若干按钮。软件A能够自动执行窗体上的某一个按钮。
3、当软件A和软件B同时执行的时候,我仍可以使用计算机去做其它事情。
我想问一下作这个软件的原理,另外使用VB是否能够实现。

Private Sub cmdEnterPress_Click()
AppActivate "AN-" ' 激活药发送的程序窗口。
SendKeys "123456789", True

'方法一
'SendKeys "{enter}", True
'方法二
keybd_event vbEnter, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event vbEnter, 0, KEYEVENTF_KEYUP, 0
End Sub

可以模拟其它鼠标和键盘 的操作我有delphi源代码
可以用单机的象棋软件,和联众网上的象棋软件对接
那网上人的人和象棋软件自己下,结果我下了一百盘
就已经是象棋一级大师了,vb已经也可以的

【VB声明】
Private Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)

【说明】
模拟一次鼠标事件

【备注】
进行相对运动的时候,由SystemParametersInfo函数规定的系统鼠标轨迹速度会应用于鼠标运行的速度

【参数表】
dwFlags -------- Long,下述标志的一个组合
MOUSEEVENTF_ABSOLUTE

dx和dy指定鼠标坐标系统中的一个绝对位置。在鼠标坐标系统中,屏幕在水平和垂直方向上均匀分割成65535×65535个单元 - MOUSEEVENTF_MOVE
移动鼠标
MOUSEEVENTF_LEFTDOWN
模拟鼠标左键按下
MOUSEEVENTF_LEFTUP
模拟鼠标左键抬起
MOUSEEVENTF_RIGHTDOWN
模拟鼠标右键按下
MOUSEEVENTF_RIGHTUP
模拟鼠标右键按下
MOUSEEVENTF_MIDDLEDOWN
模拟鼠标中键按下
MOUSEEVENTF_MIDDLEUP
模拟鼠标中键按下
dx
Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定水平方向的绝对位置或相对运动

dy ------------- Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定垂直方向的绝对位置或相对运动

cButtons ------- Long,未使用

dwExtraInfo ---- Long,通常未用的一个值。用GetMessageExtraInfo函数可取得这个值。可用的值取决于特定的驱动
如:
利用窗口过程钩子截获QQ账号
利用鼠标键盘钩子截获QQ账号
区分大小写的按键记录器2个
自动单击

"***************自动记录回放例程*************************
很多的教学软件或系统监视软件可以自动记录回放用户的输入文字或点击按钮等操作操作,这个功能的实现是使用
了Windows的Hook函数。本文介绍如何通过使用VB来实现鼠标键盘操作的纪录和回放。
Windows提供API函数SetwindowsHookEx来建立一个Hook,通过这个函数可以将一个程序添加到Hook链中监视Windows
消息,函数语法为:
Public Declare Function SetWindowsHookEx Lib "user32" _
Alias "SetWindowsHookExA" _
(ByVal idHook As Long, _
ByVal lpfn As Long, _
ByVal hmod As Long, _
ByVal dwThreadId As Long) As Long
其中参数idHook指定建立的监视函数类型。通过Windows MSDN帮助可以看到,SetwindowsHookEx函数提供15种不同
的消息监视类型,在这里我们将使用WH_JOURNALRECORD和WH_JOURNALPLAYBACK来监视键盘和鼠标操作。参数lpfn指定消
息函数,在相应的消息产生后,系统会调用该函数并将消息值传递给该函数供处理。函数的一般形式为:
Hookproc (code: Integer; wparam: WPARAM; lparam: LPARAM): LRESULT stdcall;
其中code为系统指示标记,wParam和lParam为附加参数,根据不同的消息监视类型而不同。只要在程序中建立这样
一个函数再通过SetwindowsHookEx函数将它加入到消息监视链中就可以处理消息了。
在不需要监视系统消息时需要调用提供UnHookWindowsHookEx来解除对消息的监视。
WH_JOURNALRECORD和WH_JOURNALPLAYBACK类型是两种相反的Hook类型,前者获得鼠标、键盘动作消息,后者回放鼠
标键盘消息。所以在程序中我们需要建立两个消息函数,一个用于纪录鼠标键盘操作并保存到一个数组中,另一个用于
将保存的操作返给系统回放。
温馨提示:内容为网友见解,仅供参考
第1个回答  2006-12-13
编好软件B,之后找一个按键精灵。
第2个回答  2006-12-12
能,不过,得用高级vb技术,可以自己学学,一时半会说不清楚。
相似回答