皆さん、ありがとうございました。おかげでになりました。cmd.exeを使わずにCでpopenをWindows上で実行すると、tasklistがポップアップ表示されます
私はCで何らかの監視アプリケーションを開発しており、現在のタスクリストを取得する必要がありました。だから、私はtasklistを使用して、popen()の出力を得ています。
ptr = popen("tasklist /V", "r");
while(1)
{
if(fgets(temp, 255, ptr) == NULL) break;
fputs(temp, log);
}
問題は、それがその新しいウィンドウにフォーカスを切り替え、それが代わりのフルスクリーンモードをウィンドウ表示するために自分のアプリケーションを行かせるため、2番目のcmd.exeのウィンドウのいくつかの画分について、ポップアップし、それは本当に不安だということです。
私は、「隠された」モード/ウィンドウでそのプロセスを開始するために、popenのやり方やWindows自体のものを見ていたのに何の結果も得られなかった。私はすでに試した 物事は、次のとおりです。
cmd.exe /c tasklist /V
start /b cmd.exe /c tasklist /V
start /min /b cmd.exe /c tasklist /V
start /min cmd.exe /c tasklist /V
tasklist > somefile
私はので、私はそのsomefileというからの出力を読んでいました、あまりにも最後の1を試してみましたが、ファイルが作成されているが何もデータが書き込まれていないため、stdoutにタスクリスト軍出力のように思えます。
ご回答いただきありがとうございます。
adminコマンドの出力でテキスト処理を行う方法は、プロセス制御とテキスト操作が優れたスクリプト言語で作業する必要があります。 Cは、ほとんどの作業を行う他のプログラムを調整するためのグルーコードの作成には適していません。 – Kaz