模拟锁定/挂起的应用程序

时间:2009-05-04 17:20:18

标签: c# .net

我有一个应用程序,它使用SendMessage(以及其他东西)与另一个应用程序进行交互。一切正常,直到另一个应用程序挂起(因为它实际上已冻结或正在进行长时间的阻塞调用)。我想模拟使用C#WinForms应用程序挂起的应用程序。有没有办法开始长时间运行,阻止通话?或者可能是一种导致应用程序实际冻结的方法?也许像WebClient.DownloadString(),但是永远不会返回。

3 个答案:

答案 0 :(得分:5)

while(true) { } // busy waiting
Thread.Sleep(time); // blocking

答案 1 :(得分:0)

如果要模拟长时间运行的任务,请使用

Thread.Sleep(timeout);

Timeout.Infinite,如果你想永远阻止。

如果您想模拟繁重的处理器使用率,请使用无限循环。

while (true) { }

答案 2 :(得分:0)

你如何关闭消息泵呢?然后,您的应用程序不仅会被冻结......系统实际上会将其报告为已冻结(即IsHungAppWindow(hWnd))。