2016年5月14日土曜日

VB OS に左右される関数 Environment.SpecialFolder

そりゃぁ、冷静になって考えれば、そうですよね。
Environment.SpecialFolder.xxxxxx と言う名の 列挙体。
Windows (OS) もバージョンが変われば、答えも変わる と。
「何を仰る」 と、そこの あなた。  でも、あなたのプログラム、大丈夫ですか?。  と言う程の事でもないか ... 。


Environment.SpecialFolder.Desktop とか、Environment.SpecialFolder.MyComputer とか、
Folder Dialog を呼び出す時に使っていましたよね、 嘗て。
そう、最近になって、OS を入れ替えた私は、少し、ショックでした ... 。

環境変数と呼ばれる OS が用意した 値 を取って来ているのですよね、きっと。.  いやぁ、それは 勘違い!。.
コマンドプロンプトなら set コマンドでしたっけ? 取得は。.
いや、そんな環境変数は無かったなぁ。.

ちんぷんかんぷん の私 ... 。


それはさて置き、
こちらを ご覧下さい。

https://msdn.microsoft.com/ja-jp/library/system.environment.specialfolder%28v=vs.100%29.aspx

MyComputer "マイ コンピューター" フォルダー。
その下に、メモ とあって、
マイ コンピューター フォルダーに対するパスが定義されていないので、MyComputer 定数は、常に空の文字列 ("") を生成します。 

ですって !!!。

あれっ、 変わったんだぁ。  Windows 7 の頃は、確か ... 。  何時からなんだろう ... 。.


SpecialFolder のDefault は Desktop なので、 Windows 10 では MyComputer と指定しても Desktop で返されます。


そう言えば、わざわざ面倒臭い方法を取って、
基底のフォルダを Desktop と MyComputer と その他の特殊フォルダ とで、変更出来る様に書いていた
フォルダ選択ダイアログを持つ プログラムも、 Windows 10 では、 無用の長物 ... 。
Desktop と MyComputer と、どちらも、同じ基底から始まります。
そう言えば、嘗て、
Desktop はユーザー特殊フォルダへのアクセスは容易なものの、他のドライブやネットワークが難点。
MyComuter は、丁度、その逆 で、 ドライブを扱うのには便利でした。  と書くと語弊が ... 。.

でも、普通の感覚では、 大して変わらないのだから一緒になればいいのに、 なんだろうな なんて考えた事もありました。

それが、今、正に、実現しているのですね。


尤も、個人的には、 Desktop にファイルやフォルダを作る事は皆無で、 そこにはリンクやショートカットの山。
選択ダイアログでは、(その意味では)、 あまり、出番の無い 状況 なのですが ... 。


でもでも、 実際問題としては、 MyComputer は、
Windows 10 でも、 また、復活して欲しい 設定 と言うか 機能ですね。  使い易かったのになぁ ... 。.
つまり、ローカルのドライブだけを返して欲しい時に重宝でしたよね。
MyComputer よ、帰って来い !!! 。.


  Class ID を使って、 "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" と書けと言うのかな ... 。
  いや、 Win10 では CLSID {20D04FE0-3AEA-1069-A2D8-08002B30309D} は This PC って名前に ... 。.
  おまけに、冒頭に、特殊フォルダを抱えて出て来ちゃうし ... 。.
  でも、 Win7 でも その名前は 確か MyComputer ではなく Computer だった筈 ... 。.
       Ref.(Win10) : HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}.
  そもそも、 Environment.SpecialFolder.xxxxx は列挙型だから、CLSID なんか 受け付けてくれないし ... 。.

  悩むなぁ~。.



追記 [2017/05/24]  on  Windows 10 version 1703 build 15063.296

MyComputer 、ご帰還 !!! 。.  何時からなんだろ?。
でも、 前から可笑しかった MyMusic に加えて、 MyDocuments や MyPictures 等が全滅 ... 。
そうです。  Form での Folder Dialog  での挙動は相変わらず変です。 



0 件のコメント:

コメントを投稿