2009-05-04 3 views
2

私はSendMessageを使って他のアプリケーションとやりとりするアプリケーションを持っています。他のアプリケーションがハングアップするまで(実際にはフリーズしているか、長い呼び出しをブロックしているため)、すべてがうまく動作します。 C#WinFormsアプリケーションを使用してアプリケーションをハングアップさせたいと思います。長時間実行して呼び出しをブロックする方法はありますか?あるいは、アプリケーションを実際にフリーズさせる方法かもしれませんか? WebClient.DownloadString()のようなものかもしれませんが、返されることはありません。ロックされたアプリケーション/ハングしたアプリケーションのシミュレーション

答えて

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

Doh、とてもシンプルです。私は明らかに見落としてしまった。私はそれが無限であるので、これで終わった:System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite); –

0

あなたは永遠にブロックしたい場合は

Thread.Sleep(timeout); 

Timeout.Infiniteとを使用し、長時間実行されるタスクをシミュレートします。

プロセッサの使用量を多くシミュレートする場合は、無限ループを使用してください。

while (true) { } 
0

メッセージポンプをオフにするのはどうですか?その後、あなたのアプリは凍結されているように見えるだけでなく、システムは実際にはそれを凍っていると報告します(la IsHungAppWindow(hWnd))。

関連する問題