等待处理
问题描述:
在我的VB.NET应用程序中,我启动了一个应用程序并引入了20秒的等待延迟。但是对于加载第二个应用程序,时间是不同的。是否有可能有while循环一做,类似于结构如下图所示:等待处理
Start the application1
do {
sleep(2seconds)
}until(Application1 Window is loaded
答
你要面临的最大障碍是如何子进程进行通信,它已经准备好了MSDN描述。确定是否加载了另一个进程的窗口最好是不稳定的。如果你决定在一些更明确的
- 创建一个特定的注册表项
- 写值到预定的文件
- Windows消息
一旦你决定上那是相当很干净多了直向回路
Dim span = TimeSpan.FromSeconds(20)
Thread.Sleep(span)
Do While Not IsProcessReady()
Thread.Sleep(span)
Loop
如前所述,您需要选择机械sm沟通“加载”,并成为您的IsProcessReady
函数
这是假设他在控制其他应用程序。在这种情况下,我认为IPC事件是解决这个问题的更好方法。魔术键写入注册表或文件很容易在应用程序崩溃等错误。 – aKzenT 2012-04-04 21:36:58
@aKzenT好点,加了一点关于使用IPC – JaredPar 2012-04-04 21:42:42