如何在VB程序“B”中 控制另一个VB程序“A”中的 Command 控件?

本人用VB编制了几个VB小游戏,分别是B1、B2、B3(已编译成可执行程序)。同时用VB编写了一个小程序A,在A程序中用CallShellExecute(Me.hWnd,... 本人用VB编制了几个VB小游戏,分别是 B1、B2、B3(已编译成可执行程序)。同时用VB编写了一个小程序 A ,在A 程序中用 Call ShellExecute(Me.hWnd, "Open", 径路+B1, vbNullString, App.Path, SW_SHOWNORMAL) 来运行小程序B1、B2、B3。
程序A中有N个 Command 控件,A1、A2等 。
在程序B中有N个 Command 控件,B1、B2等 。
现在问题是,想在程序B中,通过点击B1、B2等按钮达到点击A程序中A1、A2 按钮控件的效果。
也就是在程序B中,控制程序A的进程,如何才能实现?
表达有误:
程序A中有N个 Command 控件,按钮A1、按钮A2等 。
在程序B中有N个 Command 控件,按钮B1、按钮B2等 。
现在问题是,想在程序B中,通过点击按钮B1、按钮B2等按钮达到点击A程序中按钮A1、按钮A2 按钮控件的效果。
也就是在程序B中,控制程序A的进程,如何才能实现?
展开
 我来答
最美乡村行
2012-10-07 · TA获得超过1137个赞
知道大有可为答主
回答量:1191
采纳率:0%
帮助的人:1662万
展开全部
每个程序需要添加一个winsock控件 ,(Ctrl+T调出部件对话框,里面的是Microsoft Winsock Control 6.0)
A程序

Private Sub Form_Load()
Winsock1.Protocol = sckUDPProtocol
Winsock1.Bind 8002 '绑定到本地的端口。
End Sub
Private Sub Command1_Click() ' 这是测试代码,根据需要你需要修改
MsgBox "1"
End Sub
Private Sub Command2_Click() '这是测试代码,根据需要你需要修改
MsgBox "2"
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
Winsock1.GetData strData
Select Case strData ' 根据发过来的信息判断打算单击那个按钮
Case "c1"
Command1_Click
Case "c2"
Command2_Click
End Select
End Sub

B程序
Private Sub Command1_Click()
Winsock1.SendData "c1" '和A程序对应
End Sub
Private Sub Command2_Click()
Winsock1.SendData "c2" '和A程序对应
End Sub
Private Sub Form_Load()
Winsock1.Protocol = sckUDPProtocol
With Winsock1
'因为都需要和A通信下面的在B里面全部一样
.RemoteHost = "127.0.0.1" '这个意思是本机

.RemotePort = 8002 '连接A的端口号。要对应
End With
End Sub
scholarw
2012-10-07 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:67.9万
展开全部
仅仅提供一个思路,可以使用windows消息,B发送单击按钮的消息给A,A就以为确实有人点击了按钮,完成点击按钮事件的处理。
仅仅一个思路,具体还是要自己在研究。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
KSPprince
2012-10-07 · TA获得超过1028个赞
知道小有建树答主
回答量:2820
采纳率:33%
帮助的人:406万
展开全部
用句柄来控制,或者像jlf629那样改成局域网游戏,如果想用句柄来写的话就M我吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式