等待进程mainwindowhandle

时间:2016-08-11 21:14:20

标签: process f# dispose

我有一个我正在开始并想要在IDisposable.Dispose()方法关闭的UI流程。不幸的是,似乎调用CloseMainWindow()在启动进程后不会立即工作,因为它还没有MainWindowHandle。现在我正在使用while循环在关闭之前等待它,但它感觉不是很优雅。有没有更好的方法呢?

此外,我已经尝试WaitForInputIdle,但不幸的是它似乎无法正常工作。

        member x.Dispose() =
            let (ActiveClient (_, _, p)) = x
             while p.MainWindowHandle = IntPtr.Zero do
                         ()
            p.CloseMainWindow() |> ignore

修改

这是我尝试使用WaitForInputIdle

的内容
    interface IDisposable with
        member x.Dispose() =
            let (ActiveClient (_, _, p)) = x
            p.WaitForInputIdle(5000) |> ignore
            p.CloseMainWindow() |> ignore

关于我试图关闭的过程的事情是,首先它产生一个提示窗口。然后在该窗口上按OK后,它会生成主窗口。这可能与它不起作用的原因有关吗?

0 个答案:

没有答案