2013-07-31 22 views
0

我有一个我在Visual FoxPro中创建的程序,我可以用参数打开它。 我的快捷方式的属性:发送参数到一个已经打开的foxpro程序

Target: C:\Data\test.exe "5035246" 

打开了我的程序,并打开了我创建了一个表格,显示我要ID 5035246.

信息现在,如果我想用不同的ID打开它快捷方式(当第一个窗口仍然打开时),它打开了另一个程序实例,我想要的是在我已经打开的程序中打开它(后来在我的表单中更改显示ID)。

那么如何发送一个参数给我已经打开的程序呢?

编辑:我发现一些代码,检查我的EXE的另一个实例是否正在运行,如果是的话,它退出,但是这并不能解决我的其他问题;将参数传递给我的打开程序。

+0

您是否在此程序中使用VFP 9?如果是这样,您可以使用'BINDEVENT'来处理从其他程序发送的窗体上的常规窗口消息。 – Alejandro

回答

1

如果要从外部源向正在执行的Foxpro程序发送多个信号,则需要使用COM引用该对象,或者也可以使用中间数据存储库(dbf,txt文件)将该程序定期检查。

如果您必须使用FoxPro,最好的解决方案是有一个命令行程序,其唯一的工作是接受参数,获取引用到一个单独的主exe文件并发送它的程序。类似以下内容:

PARAMETERS tcArg 
oApp = GETOBJECT("yourApp.mainClass") 
oApp.sendArg(M.tcArg) 
+0

或者将该程序作为服务运行并实现套接字。 –

+0

@AlanB:你能详细说明你的意思吗?链接到MSDN不会不合适。 – DougM

+0

嗨!对不起,迟到的答复,并感谢您的答案。我将通过命令行程序来研究您的可能解决方案DougM。 – Rob

相关问题