C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: 管理者権限が必要なソフトの起動


(過去ログ 57 を表示中)

[トピック内 10 記事 (1 - 10 表示)]  << 0 >>

■32759 / inTopicNo.1)  管理者権限が必要なソフトの起動
  
□投稿者/ VBW (6回)-(2009/02/13(Fri) 20:15:49)

分類:[VB.NET/VB2005 以降] 

VB2008 Windowsアプリケーションを作成しています。

今作っているソフトからB.exeを起動させるために
Shell(My.Application.Info.DirectoryPath + "\B.exe")
と書いたのですがB.exeは管理者権限が必要なためか、"ファイルが見つかりません"が表示されます。
( Err.Descriptionで取得しても、On Error GoToを記入せず、VSで例外の警告が出ても)
しかし、B.exeを管理者権限の必要のないソフトに入れ替えると普通に起動します。

管理者権限が必要なソフトでも起動できる方法はありませんか?よろしくお願いします。
引用返信 編集キー/
■32763 / inTopicNo.2)  Re[1]: 管理者権限が必要なソフトの起動
□投稿者/ επιστημη (1725回)-(2009/02/13(Fri) 22:03:48)
επιστημη さんの Web サイト
> 管理者権限が必要なソフトでも起動できる方法はありませんか?よろしくお願いします。

それができたら管理者権限に何の意味もなくなりますが。

引用返信 編集キー/
■32764 / inTopicNo.3)  Re[2]: 管理者権限が必要なソフトの起動
□投稿者/ VBW (7回)-(2009/02/13(Fri) 22:09:25)
ということは、
A.exeから管理者権限が必要なB.exeは起動不能ということですか?
(UACの画面を出してもOK)

回答、よろしくお願いします。
(やりたいことは、Program Filesにインストールしたプログラムのiniを書き換えたいだけです)
引用返信 編集キー/
■32766 / inTopicNo.4)  Re[1]: 管理者権限が必要なソフトの起動
□投稿者/ オショウ (95回)-(2009/02/13(Fri) 22:35:21)
> VB2008 Windowsアプリケーションを作成しています。
>
> 管理者権限が必要なソフトでも起動できる方法はありませんか?よろしくお願いします。

  B.exeのプロジェクトのプロパティで、UACの設定がありますが、
  asInvoker を、requireAdministrator に変更すれば、UACのダイ
  アログ表示されると思います。

  あと、Shellで起動するのではなく、Processクラス使いません?
  問題なことではないですが・・・

以上。
引用返信 編集キー/
■32767 / inTopicNo.5)  Re[2]: 管理者権限が必要なソフトの起動
□投稿者/ VBW (8回)-(2009/02/13(Fri) 22:39:52)
>   B.exeのプロジェクトのプロパティで、UACの設定がありますが、
>   asInvoker を、requireAdministrator に変更すれば、UACのダイ
>   アログ表示されると思います。
それはもうなっています。

>   あと、Shellで起動するのではなく、Processクラス使いません?
初めてそのクラスを知りました...
Processクラスを使用した結果、正常に起動するようになりました。

回答、ありがとうございました。
解決済み
引用返信 編集キー/
■32768 / inTopicNo.6)  Re[3]: 管理者権限が必要なソフトの起動
□投稿者/ επιστημη (1726回)-(2009/02/13(Fri) 23:13:54)
επιστημη さんの Web サイト
> (UACの画面を出してもOK)

出ていいのか...

引用返信 編集キー/
■32771 / inTopicNo.7)  Re[4]: 管理者権限が必要なソフトの起動
□投稿者/ Azulean (295回)-(2009/02/14(Sat) 00:05:32)
2009/02/14(Sat) 00:05:56 編集(投稿者)

No32768 (επιστημη さん) に返信
>>(UACの画面を出してもOK)
>
> 出ていいのか...

UACが必要な部分をB.EXEとして切り出していて、A.EXEからは昇格要求画面を経てB.EXEに委譲したかったとか。
そう言う場合は昇格画面が出て当然かな?

# 解決済みへ。
解決済み
引用返信 編集キー/
■32774 / inTopicNo.8)  Re[3]: 管理者権限が必要なソフトの起動
□投稿者/ VBW (9回)-(2009/02/14(Sat) 09:14:27)
Shell(My.Application.Info.DirectoryPath + "\B.exe")
と書いたら"ファイルが見つかりません"ってでるんで、管理者権限が必要なB.exeをUACの画面を出してでも起動したい

という質問だったんです。誤解を招いていたらすみません。

引用返信 編集キー/
■32777 / inTopicNo.9)  Re[4]: 管理者権限が必要なソフトの起動
□投稿者/ なちゃ (250回)-(2009/02/14(Sat) 16:04:11)
ひょっとしてパスに空白とか入ってません?
Shellの動きを覚えてないので関係ないかも知れませんが。
引用返信 編集キー/
■32784 / inTopicNo.10)  Re[5]: 管理者権限が必要なソフトの起動
□投稿者/ やじゅ (931回)-(2009/02/14(Sat) 18:57:27)
やじゅ さんの Web サイト
補足

UACの昇格用の確認ダイアログが表示するには、
プロセス起動系関数の引数Verbに、"runas"を指定する
Verbは、関連付けの動詞を意味し、"open"、"print"などがある。

Verbの設定により、管理者として実行をおこなうため、
新しいプロセスにおいて昇格用の確認ダイアログが表示されます。

UAC 対策コード
http://crystaldew.info/2007/09/page/4/

Shell関数には、引数Verbを指定することが出来ない。
ShellExecute関数であれば、引数Verbを指定可能だが、APIを呼ぶ必要がある。
.NETでは、Processクラスを使うことになる。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -