- PR -

CreateProcessについて(VC++ .NET2003)

1
投稿者投稿内容
84
ベテラン
会議室デビュー日: 2005/11/04
投稿数: 83
投稿日時: 2006-09-28 11:43
VC++ .NET2003にて

CreateProcessを使ってbatファイルを起動しています。
起動後にWindowsログオフを行うと、プロセスは終了してしまいます。
Windowsログオフを行ってもプロセスが終了しないようにすることは可能でしょうか?

どなたかご存知の方いらっしゃいましたらご教授ください。

///////////////////////////////////////////////////////////////////////
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
ZeroMemory(&pi, sizeof(pi));
si.cb = sizeof(si);

CreateProcess(test.bat, NULL, NULL, NULL, TRUE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi);
///////////////////////////////////////////////////////////////////////
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2006-09-28 12:27
引用:

84さんの書き込み (2006-09-28 11:43) より:
CreateProcessを使ってbatファイルを起動しています。
起動後にWindowsログオフを行うと、プロセスは終了してしまいます。
Windowsログオフを行ってもプロセスが終了しないようにすることは可能でしょうか?


可能。特定のデスクトップに属しているプロセスは、そのデスクトップが破棄されるときに一緒に終了します。逆に言えばデスクトップに属していないプロセスにしてしまえば終了しません。方法は二つにわかれるでしょう。

ATコマンドを使う等、バッチファイルの起動をサービスに委託するのが良いと思います。

_________________
甕星 <mikahosi@abox9.so-net.ne.jp>
http://blogs.msmvp.jp/mikahosi/
84
ベテラン
会議室デビュー日: 2005/11/04
投稿数: 83
投稿日時: 2006-09-28 13:29
ご回答ありがとうございます。

[ メッセージ編集済み 編集者: 84 編集日時 2006-09-28 13:30 ]
1

スキルアップ/キャリアアップ(JOB@IT)