アプリケーションにはウィンドウやコンソールは必要ありません。コンソールウィンドウを削除するか、バックグラウンドに入れることができる場合は、コンソールアプリケーションにすることができます。アプリケーションはいくつかの簡単なタスク(ゴミ箱のクリーニングなど)を行い、終了します。Cでバックグラウンドでウィンドウなしでwin32アプリケーションを作成するには?
可能であれば、アプリケーションをWindowsサービスにしないでください。
エクスプローラウィンドウでダブルクリックしてアプリケーションを起動し、サイレントモードで実行することをお勧めします。
アプリケーションが実行されているとき、マウスカーソルを砂時計の形に変更しないことを願っています。つまり、アプリケーションの実行中にユーザーを妨害しないでください。黙って走り抜けてください。
Windowsの起動時やユーザーログイン時に実行する必要はありません。
可能であれば、これを行うことを希望します。私は何をすべきか?
ありがとうございます!
更新: 現在OKです。ありがとうございました!
task_finished = 0;
CreateThread(NULL, 65535, task_thread, para, 0, NULL);
MSG msg;
while(!task_finished){
while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
if(task_finished)
break;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
IOコードはどこに置くべきですか? GetMessageはここでブロックされるようです。 – user563413
良い質問です。私の編集を参照してください。 :) 質問:すべてのアプリケーションがI/Oであれば、それだけではどうですか?メッセージループを必要としないかもしれません.1回限りのもので、メッセージを処理しない場合です。 – Mehrdad
私もスレッドを検討するようになりました。しかし、メソッドがある場合は少し重い:可能であれば、このプログラムがユーザーとやりとりすることなくバックグラウンドで実行されることをシステムに通知するためのメッセージを送信する(可能な場合など)?ありがとう。GetMessageブロックには、システムの砂時計が消えます。 FreeConsole、興味深い。今しよう。 – user563413