我们有一个exe应用程序(VB6)。这个应用程序由我们的.NET dll程序集(使用Process.Start
)调用,它将用户名和密码作为参数传递给vb6应用程序。
VB6应用程序具有仅在执行登录代码后查找Windows消息的代码。
如果我这样做很好: -
CASE1:
Process.Start("file.exe", arguments);
Thread.Sleep(1000); //if I comment this line then the msg is never caught by the vb6 app
SendAWindowsMsg("hello");
CASE2:
var process = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = @"file.exe",
Arguments = arguments
}
};
process.Start();
process.WaitForInputIdle();
SendAWindowsMsg("hello");
我的问题是:案例1或案例2会更好吗? WaitForInputIdle
是什么意思(什么是输入和空闲的东西?)?
答案 0 :(得分:4)
WaitForInputIdle
函数的目的是确定另一个进程(最近启动的)是否已达到可以发送该进程消息的状态。< / p>
基本上WaitForInputIdle
询问流程是否已完成加载。