- PR -

VC6.0でクリック時にバッチファイルを実行したい

1
投稿者投稿内容
JJ
ベテラン
会議室デビュー日: 2003/02/25
投稿数: 61
投稿日時: 2005-03-23 14:56
開発環境:VC6.0
OS:windowsXP HOME

ダイアログのonclick時に
バッチファイルを実行したいと思います

バッチファイルを実行させる方法がわかりません。

よろしくお願いします
MARU
常連さん
会議室デビュー日: 2005/02/16
投稿数: 35
投稿日時: 2005-03-23 17:33
バッチファイルの実行は以下のコードで出来ます。
"C:\\Hoge\\Hoge.bat"の所を、自分が実行したいbatファイルパスに直してください。


PROCESS_INFORMATION pi; //プロセス構造体
STARTUPINFO si; //スタートアップ構造体

//構造体の初期化
ZeroMemory(&si,sizeof(si));
si.cb=sizeof(si);

//非表示で実行したい(黒い窓を出したくない)場合は以下2行のコメントを外す。
//si.dwFlags = STARTF_USESHOWWINDOW;
//si.wShowWindow = SW_HIDE;

MSG msgDummy;
PeekMessage(&msgDummy, NULL, 0, 0, PM_NOREMOVE);

//バッチファイル実行
BOOL bRet = ::CreateProcess(NULL, "C:\\Hoge\\Hoge.bat" , NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL,&si,&pi);
if( bRet ){
//実行に成功した

// プロセス終了まで待つ処理
DWORD ExitCode;
ExitCode = ::WaitForSingleObject(pi.hProcess, INFINITE );
DWORD dwRet = NULL;
// プロセス終了コード取得
bRet = ::GetExitCodeProcess(pi.hProcess, &dwRet);

// プロセスのハンドルを閉じる
::CloseHandle(pi.hProcess);
}
JJ
ベテラン
会議室デビュー日: 2003/02/25
投稿数: 61
投稿日時: 2005-03-24 16:33
ご回答ありがとうございました
1

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