他是我的两难选择,我希望那里有人这样做...... 欢迎任何观点或想法。我是新来的,所以要温柔......
我的PC A需要每隔2分钟定期运行一个programX(.exe),这会检查另一个文件并处理该文件(如果存在)。
在PC B上,我需要能够远程在PC A上停止和启动程序。 在旧的programX完成之前,programX也不允许重新运行/重新检查文件是否存在。
两台PC都运行Windows 7.(这也将在几台XP机器上使用。)
问题1
如何让.exe每2分钟运行一次? (任务调度程序每天只执行一次,我不希望有576个任务)
问题1.1
如何让.exe远程启动和停止?
问题1.2
如何让系统识别出programX已经运行但尚未完成?
答案 0 :(得分:1)
问题1:
我认为您最好编写一个服务(始终处于活动状态),该服务使用(例如)计时器以编程方式运行方法
问题1.1:
如果PC A上的应用程序通过远程处理公开类,则可以从PC B直接在PC A上运行Start()和Stop()方法。
使用远程处理,您可以创建一个主应用程序(称为服务器),它公开一个类(通常使用接口),可以通过来自localhost或Internet的TCP / UDP / Pipes远程访问。
看一下this example:这只是我在Google中搜索“C#remoting example”的第一个,但你可以找到数百个。
根据您的需要,PC A上的服务(参见问题1)可以通过远程处理可以启动/停止您在PC A上运行的其他应用程序的类。
问题1.2:
在PC A上,您可以使用互斥锁(例如)