
相方が仕事でDreamweaver、Photoshop、Fireworksを良く使うのですが、Dreamweaverで画像を挿入する時、Photoshopで画像を保存する時、Fireworksで画像を保存する時の3パターンで読み込みと保存のダイアログが出た時に、ファイルの一覧の表示を常に縮小版で開くようにできないかと聞かれました。レジストリを弄ればできそうな気もするのですが、ググって見たけど同様の質問は見かけたのだけど解決してるのはなくて、的外れな回答とかエクスプローラーでの方法などが回答として挙がっていました。(関係ないけどこれはちょっと勉強になりました。エクスプローラーで縮小版にしてからコントロールキーを押しながらフォルダを移動するか閉じると次にそのフォルダを開いた時は縮小版で開くというものでした。)
しょうがないのでもっと色々調べてみるとWindowsメッセージを送ることでできそうなので、とりあえずのもっといい方法が見つかるまでの妥協策でプログラム作ってみました。
お気軽にHSPで作成しました。
▼利用法
ダウンロードして、実行するだけです。XPとWindows2000動作します。
実行すると小さい画面が表示されますので、利用しない時はプログラムを終了してください。
▼既知の問題
Windows2000の場合My Picturesを開いた時にちょっとおかしくなる問題があります。
Windows2000の場合縮小版になってもフォルダを移動すると通常の一覧に戻ってしまいます。(フォルダ・オプションの設定かもしれない)
▼機能

Dreamweaverでは画像の挿入時のダイアログのファイル一覧を自動で縮小版にします。

Fireworksではファイルの保存時のダイアログのファイル一覧を自動で縮小版にします。

Photoshopではファイルの保存時のダイアログのファイル一覧を自動で縮小版にします。
▼ソースコードは以下の通り
#uselib "user32.dll"
#cfunc FindWindow "FindWindowA" sptr, sptr
#cfunc FindWindowEx "FindWindowExA" int, int, sptr, sptr,#define WM_COMMAND 0x0111
#define THUMBNAIL_XP 0x702D //XP
#define THUMBNAIL_W2K 0x7031 //W2Kscreen 0,200,100,1
title "縮小版にしちゃう"a = sysinfo(0)
;mes a
b = instr(a,0,"NT")
c = instr(a,0,"5.0")
d = instr(a,0,"5.1")if(b > 0){
mes "NT系"
}else{
mes "NT系以外"
mes "利用できません。"
stop
}if( c > 0){
mes "Win 2K"
THUMBNAIL = THUMBNAIL_W2K
}else{
if( d > 0){
mes "Win Xp"
THUMBNAIL = THUMBNAIL_XP
}else{
mes "Vista?"
mes "利用できません。"
stop
}
}while(1)
hwnd1 = FindWindow("#32770", "イメージソースの選択")
if(hwnd1 == 0){
hwnd1 = FindWindow("#32770", "別名で保存")
}
if(hwnd1 == 0){
hwnd1 = FindWindow("#32770", "名前を付けて保存")
}
hwnd2 = FindWindowEx(hwnd1, 0, "SHELLDLL_DefView",0 )
if(hwnd2){
sendmsg hwnd2,WM_COMMAND,THUMBNAIL,0
while(FindWindowEx(hwnd1, 0, "SHELLDLL_DefView",0 ))
wait(50)
wend
}
wait(50)
wend
▼縮小版ダウンロード
縮小版
| はじめてのHSP―プログラミング初心者も、らくらく入門! | |
![]() | うすあじ 工学社 2002-10 売り上げランキング : 34865 おすすめ平均 ![]() 初心者向けです この本は・・・Amazonで詳しく見る by G-Tools |






コメントする