アプリ版:「スタンプのみでお礼する」機能のリリースについて

VC++を使用しています。

system関数を使用して、コマンドプロントを表示させたとします。

まず、ユーザーアカウント制御を無効にしていなければ普通のコマンドプロント(管理者でない)が表示されると思います。そこで、

system("powershell -command \"start-process -verb runas cmd\"");

などとして管理者のコマンドプロントを表示させます。

そこで質問なのですが、この管理者のコマンドプロントにコマンドを入力するプログラムはどうすればいいのでしょうか。

system関数を普通に使っていたら最初に表示させた(管理者でない)cmdに出力されてしまいます。

語彙力がなく、遠回しな質問になってしまい申し訳ありません。

よろしくお願いします。

A 回答 (1件)

system関数は、外部プログラムを実行したら、そのプログラムが終了するまで待ちます。


そのため、呼び出し側から呼び出したプログラムを制御するようなことはできません。

制御したいなら、CreateProcess等を使う必要があります。

あるいは、PowerShell上でなにか操作したいのなら、PowerShellスクリプトを書いて実行する、という方法があります。

また、管理者権限での操作をしたい、ということなら、管理者権限で実行する方法というのが別にあります。



何が目的でどうしたいのか、もう一度よく整理しましょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!