異なるユーザーのアカウントでプログラムを実行するにはどうすればよいですか?

異なるユーザーのアカウントでプログラムを実行するにはどうすればよいですか?

私のプログラムはC:\Program Files\MyApp\MyprogWindowsの起動時に開始されます。デバイスの挿入時にマイプログ.exe別のプログラムを呼び出しますC:\Windows\comp.exe
このプロセスは、プログラムをインストールした管理者アカウントでは正常に機能しますが、マイプログ.exe呼び出すことができないコンパイルユーザー アカウントが変更されたとき。管理者グループ アカウントや非管理者アカウントなど、各タイプのアカウントで呼び出すように
したいですC:\Windows\comp.exe。助けてください。PS 両方のプログラムに UAC パッチが適用されていません。

答え1

アプリケーション内のexecコマンドでは、Windowsの組み込みコマンドを使用できます。ルナス

例えば:

ルナス/noprofile /user:mymachine\administrator "C:\Program Files\MyApp\Myprog.exe"

(おそらく、環境によってはドメイン mymachine\ を省略できます)


別の解決策としては、システム ドライブ上の保護されたディレクトリでこれを実行しようとしているようなので、ユーザーが完全にアクセスできる一時ディレクトリで比較を行うことです。 - おそらくユーザーのホームで。

残念ながら、「Myprog」については何も知りません。しかし、「comp.exe」の作業ディレクトリを設定するのを忘れたため、管理者以外のユーザーから保護されている C:\Windows 内で実行しようとしている可能性があります。


ランアスリファレンス 同じ問題、バッチファイルによる解決

関連情報