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

御世話になります。
VB6.0で教えてください。
shell関数を使用して、フォルダを開く簡単なプログラムを作成したのですが、XP上では問題なく動くのに対し、vistaではエクスプローラーが起動するだけで、指定したフォルダを開いてくれません。
APIを使用する方法に変えてみたり、XP互換モードで起動したり、vista上でコンパイルしなおしたり、いろいろ試したのですが、だめでした。
一つ気になるのは、エクスプローラーが起動した時に、ネットワークドライブの接続が切れた表示になっていることです。試しに、手動でエクスプローラーを起動し、ネットワークの接続を改めて確認してから、やってみましたが、同じでした。
何か問題があるのでしょうか?

A 回答 (2件)

Vista SP2 + Windows Server 2003 R2 SP2 で試してましたが問題ないですね。



Vistaのエクスプローラで普通に共有フォルダにアクセスできるのに、VBからアクセスできないということですよね。
VBを別のユーザーとして起動しているということもないでしょうか?
    • good
    • 0
この回答へのお礼

現象がやっと理解できました。

ネットワークパスをテキストファイルから読み込んでいたのですが、先頭に","が入ってしまっておりました。
XPでは","が入っても起動してくれたのですが、VISTAで","を除いたらちゃんと起動するようになりました!!

お騒がせいたしました。

お礼日時:2009/08/27 15:29

詳しく覚えていなく申し訳ないのですが・・・


たとえば普通に管理者が作成したネットワークドライブは、当然その管理者のエクスプローラで利用できますし、コマンドプロンプトでnet useと入力しても利用できることが確認できます。

ところが、管理者モードコマンドプロンプトでnet useを行うとネットワークドライブが利用できないことが確認できます(そういう仕様のようです)。
今回のshellでの起動内容がよくわかりませんが、UACやユーザーアカウントでこのあたりの動作が関連していそうな気がします。

可能であればネットワークドライブを使用せず、[\\サーバー名\共有名]で指定すれば確実だと思います。
    • good
    • 0
この回答へのお礼

説明不足でした。ネットワークフォルダの指定はネットワークドライブを使用していません。
また、Shellの起動は以下のような文で行っています。
Call Shell("Exploer " & FlName,vbNormalFocus)
XPでは動くので構文に問題はないと思うんですが。
セキュリティの関係が影響しているような気がします。

お礼日時:2009/08/27 10:32

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