実行中のプログラムを管理者に昇格させる(Windows 7)


35

管理者として実行したいプログラムを開くこともありますが、管理者としてではなく既に開いていることがあります。Windows 7で既に実行中のプログラムの特権を昇格させることはできますか、それとも管理者として終了して再起動する必要がありますか?


8
勝利のためのsudo
ジョシュK

1
@Josh K-er-既に実行中のアプリを使用してどのように昇格できますsudoか?
サティアジスバート

それは魔法ですman sudo、より多くの情報のためにデコードする必要があります。
ジョシュK

2
@Josh、他に何もなければ、いつでも使用できますpseudo;)
トマスアスチャン

回答:


26

残念だけど違う。実行中のプロセスを管理者特権に昇格させることはできません。私はより信頼できるソースを探していますが、今のところ私は見つけました:

  1. 「プログラムは、一度起動すると昇格できません...」

  2. 「コードは、起動時にプロセスレベルでのみ引き上げることができます。つまり、実行中のプロセスを引き上げることはできません。」


1
これは絶対に真実ではありません。win32 APIは、実行中の任意のアプリケーションの昇格をサポートしますが、問題のアプリケーションは機能自体を公開する必要があります。この記事と付随するソースコードは、これを実現する方法を示しています。1つが...他のプロセスを選択して、昇格するアプリケーションを作成できることが考えられる可能性である
Fopedush

8
@Fopedushこの記事ではこの手法を「自己昇格」と説明していますが、これらのサンプルプログラムが実際に実行しているように見えるのはShellExecuteEx、動詞「runas」を使用してプロセスの新しいインスタンスを起動することです。すでに実行中のプログラムを昇格させるというOPのニーズを達成することはないと思います(たとえば、すべての状態が失われます)。
スティーブンジェニングス

昇格されていないTotal Commander 8.01インスタンスが、プログラムファイルのサブフォルダーへのコピーなどの操作でブロックされた場合、「管理者として再試行」する可能性があります。これを「自己」ではなく「外部」プロセスに拡張することはできませんか?
n611x007

3
@naxa Total Commanderを使用したことはありませんが、「管理者として再試行」オプションが実際に特権作業を実行する完全に独立した昇格されたプロセスを生成することを望んでいます。「すべてのプロセスの詳細を表示」を選択すると、Process Explorerがこれを行い、自身の新しい昇格されたコピーを起動し、昇格されていないコピーを閉じます。その場合は、2番目のプロセスを正しく起動する方法を知るために、プログラムを具体的に記述する必要があります。
スティーブンジェニングス

1
@StephenJenningsあなたは完全に正しいです-私がリンクしたコードサンプルは、実際にはrunasコマンドで再起動します。コメントする前に、記事に加えてコードを吟味する必要がありました。私は、WIN32 APIが何らかの昇格メカニズムを公開したという印象を受けていましたが、おそらく覚えていないでしょう。私が考えていたものを見つけることができれば、私は掘り起こし、再び投稿します。
Fopedush
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.