MFC ベースのレガシ アプリケーションが 1 つありますが、現時点ではあまり変更できません。
INI ファイルとの間でデータの読み取り/書き込みを行う機能が 1 つあります。iniファイルでの設定が非常に少なくなることを念頭に書きました。しかし、今では非常に大きくなりました。
したがって、このタスクを実行すると、約 30 分かかります。
問題は、ユーザーがアプリケーションをクリックすると、アプリケーションがロックされ、ウィンドウ ウィンドウに応答していないというダイアログが表示され、アプリケーションが応答するのを待つ必要があるか、終了するかをユーザーに尋ねることです。
今では時間を管理できるようになりました。しかし、ウィンドウに「応答なし」の動作を表示させたくありません。
問題は、このプロセスでメインスレッドがビジーになり、UI がハングすることだと思います。これについては、あくまでも推測なのでわかりません。
これを処理するために、スレッドを作成し、その中でこの関数を呼び出します。しかし、このスレッド関数では、AfxGetMainWnd();
関数が返されているため、関数を呼び出すことができませんでしたNULL
。
誰かが私に知らせてくれれば、そのようなケースをどのように処理するか(これが起こらないという理想的なケースを残して)、それは非常に役に立ちますか?
また、素敵なアドバイスも大歓迎です。
私のもう1つの方法は、このコードをプログレスバーダイアログに配置することです.----これについての考えは大歓迎です。
ありがとう