スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。



mirrorMan - フォルダ参照

無題
いわゆる特殊フォルダを扱うのに難があったため、無効になっていた browsfol.pngボタンを動作するようにしました。押すとフォルダ参照画面が表示されます。




folview.png






コンピュータを選ぶと、
comv.jpg

アドレスバーに「コンピュータ」が表示され、アイテムを表示します。

Windowsにはいろんなタイプのフォルダがあり、そのすべてがNameSpace()で同じように更新日時のプロパティや、対象ファイルのオブジェクトを取得したりできるわけではありません。
「コンピュータ」なら、レジストリで「コンピュータ」という名前にひもづく物理的なCLSIDがあり、内部から扱うにはこちらからオブジェクトを取得しなければなりません。


そのため、Scripting.Dictionaryに「コンピュータ」というKeyと「::{20D04FE0-3AEA-1069-A2D8-08002B30309D} 」というItemの組みあわせを記憶させておき、必要に応じて「コンピュータ」KeyにひもづけてCLSIDを取得します。そして、Dictionaryの情報のうち次回起動時にあらかじめ取得しておくべきものをINIファイルに書き込んでおきます。

var ss ="",sp ="",spcs =[];
var arK = (new VBArray(dicSpecil.Keys())).toArray();
var arI = (new VBArray(dicSpecil.Items())).toArray();
$("span.setLstSpn").each(function(i){
ss +="[setLst]\t"+ this.id +"\t"+
dicIniLft.Item(this.id) +"\t"+ dicIniRht.Item(this.id) +"\r\n";
for(var i in arK){
if((arI[i] == dicIniLft.Item(this.id))||(arI[i] == dicIniRht.Item(this.id))){
spcs.push(arK[i]);
for(var j in spcs) if(arK[i] == spcs[j]) var k = 1;
if(k) sp +="[spcLst]\t"+ arK[i] +"\t"+ arI[i] +"\r\n";
}
}
});

JScriptにはINI書き込みの標準関数の類はないので、自分でやります。dicSpecilオブジェクトがDictionaryです。jQueryの$()で指定しているclass属性setLstSpnは画面左上のmzip、最新版等のユーザ登録のボタンリストのものです。これをeach()メソッドで回しています。後の細かい動作の説明はここでは省略します。
スポンサーサイト



comment

Secret

while(aho.atEndofStream)

笹部 政宏
笹部 政宏
mail




フリーソフツ
Category
はてブ
Monthly Archive
New Entry
New Comment
New Trackback
RSS
Copyright © Kittens flewby me All Rights Reserved.

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。