
VB6、WindowsXP
VBのプログラムからあるフォルダを開きにいく単純なプログラムを作成しています。
通常のローカルフォルダであれば、Shell関数でExplorer.exeにパスを渡すだけで問題ないのですが、うまくいかないのは、
開きにいくパスがネットワークパス(\\[サーバ名]\[共有名])の場合で、サーバーにアクセスするのに認証が必要となる場合です。
ファイル名を指定して実行に「\\[サーバ名]\[共有名]」を打ち込んで実行した場合は、Windowsが出してくる認証ダイアログ(ユーザ名、パスワードを聞いてくる)が表示されて、ユーザーが正しいID、パスワードを入力すれば、エクスプローラで共有フォルダが開きます。
この動きがまさにやりたいことなのですが、
Shell関数を使用した場合、引数に「Explorer.exe \\[サーバ名]」と指定した場合はファイル名を指定して実行と同じなのですが、
「Explorer.exe \\[サーバ名]\[共有名]」を指定した場合、認証ダイアログが表示されずにエラー(ディレクトリが無効というような)となってしまいます。おそらく先にサーバ認証を行わずに直接共有を見に行ってしまって存在が掴めないのだと思います。
VBでファイル名を指定して実行と同様の動きを再現する方法をどなたかご存知ないでしょうか?
尚、shellexecuteやVB.NETでprocess.startなどでもやってみましたがshell関数と同じ動きでした。
No.1ベストアンサー
- 回答日時:
net.exeでドライブを割り当ててから Explorerを起動してみましょう
Shell "net.exe use z: \\サーバー名\共有名 パスワード /user:ユーザー名"
Shell "explorer.exe \\サーバー名\共有名",vbNormalFocus
といった具合で接続、表示を行い
Form_Unloadなどで
Shell "net.exe use z: /delete"
といった具合で切断しましょう
この回答への補足
ご回答ありがとうございます。質問が言葉足らずだったかも知れませんが、客先からの要望では、あくまでも「ファイル名を指定して実行」で共有パスを指定したときと同じように、Windowsが出してくる認証ダイアログを利用してユーザにユーザ名とパスワードを入力させたいそうです。net useを使う場合は前もってユーザ名、パスワードを入力させる画面を作るか、DOSプロンプトで入力させるかしないといけないのでイメージが違いそうです。
補足日時:2008/10/22 23:24お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excel vbaから実行するexe実行...
-
Visual Studio 「AnyCpu」について
-
JP1/File Transmission Server/...
-
Windows PowerShellでC言語を実...
-
ActiveDirectoryから値を取得
-
mscorlib.dllの初回例外について
-
「読み込み違反」が起きたとき...
-
VB6.0 exe作成時に実行時エラー...
-
ActiveX → VB を起動するとCre...
-
visual c++ 2008 にてhello wo...
-
C#VB、exeに埋め込んだexeの実行
-
C++初心者です。 debug asserti...
-
Designer.vbは直接コードをいじ...
-
ManagementClassが見つからない。
-
VB6(SP5)+OO4OでCreateObjectが...
-
C# 他のアプリケーションを優先...
-
VBAでOutlookを終了させたい Ex...
-
2回以上PDFをコピーや印刷がで...
-
意味不明の実行時エラーで困っ...
-
VB.Net リビルド 意味不明なメ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excel vbaから実行するexe実行...
-
Visual Studio 「AnyCpu」について
-
「読み込み違反」が起きたとき...
-
Windows PowerShellでC言語を実...
-
Format 関数のバグ?
-
C++初心者です。 debug asserti...
-
VB6.0 exe作成時に実行時エラー...
-
結果が見れない~
-
mscorlib.dllの初回例外について
-
C#VB、exeに埋め込んだexeの実行
-
一通ずつ処理したい(アウトル...
-
外部exe呼び出しの方法 ShellEx...
-
VB6 EXEとプログラムの違い
-
C言語に詳しい人に質問です。
-
ActiveDirectoryから値を取得
-
ActiveX → VB を起動するとCre...
-
JP1/File Transmission Server/...
-
ACCESSランタイムでエラー
-
MFCと.NETFramework
-
androidで.exeを実行できますか?
おすすめ情報