HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
0716
axobjディレクトリの表示変更6解決


axobj

リンク

2006/7/16(Sun) 10:36:51|NO.1365

フォルダを開くと『表示』メニューの中に、『縮小版』『並べて表示』などの項目がありますよね。
そこで、HSPから、この中の『一覧』に変更することはできませんでしょうか。
どなたか方法があったら教えてください。



この記事に返信する


HocK

リンク

2006/7/16(Sun) 16:20:51|NO.1368

こんなもんでどうですか?(フォルダを開いて、アクティブな状態で'C'を押すと...)

#uselib "user32.dll"
#func GetForegroundWindow "GetForegroundWindow"
#func FindWindowExA "FindWindowExA" int,int,str,str
#func GetWindowLongA "GetWindowLongA" int,int
#func SetWindowLongA "SetWindowLongA" int,int,int

repeat -1
getkey tmp,'C'
if (tmp==1) : gosub *Change
await 25
loop

*Change
GetForegroundWindow
if (stat == 0) : end
hper = stat

FindWindowExA hper,0,"SHELLDLL_DefView",""
FindWindowExA stat,0,"DUIViewWndClassName",""
FindWindowExA stat,0,"DirectUIHWND",""
FindWindowExA stat,0,"CtrlNotifySink",""
FindWindowExA stat,0,"SysListView32","FolderView"
hview = stat

GetWindowLongA hview,-16
SetWindowLongA hview,-16,stat|$3
return



axobj

リンク

2006/7/17(Mon) 18:37:24|NO.1384

フォルダを開いていない状態でできませんか?



HocK

リンク

2006/7/18(Tue) 10:00:46|NO.1396

それはフォルダを"一覧表示の状態で開く"ことですか?それとも
各フォルダ毎の"表示設定(アイコンとか)を変更する"ということですか?



axobj

リンク

2006/7/18(Tue) 19:31:15|NO.1412

> それはフォルダを"一覧表示の状態で開く"ことですか?
ハイ、お願いします。



HocK

リンク

2006/7/21(Fri) 10:28:44|NO.1460

いろいろと考えてみましたが、フォルダを開く→一覧表示に変更するくらいしか
思いつきませんでした。

フォルダを開く処理はexplorer.exeをコマンドライン引数付きで起動しているので
一覧表示で開くコマンドはないかと調べたけれどそれらしいコマンドはなかったで
す。

あと、前述したスクリプトは直接リストビューコントロールの情報をいじっている
ためあまり好ましくないので、フォルダを開いているウィンドウのメニューバーの
[一覧(&L)]項目IDを取得してsemdmsgで送ったほうがいいと思います。

説明が分かり難かったらすいません。



axobj

リンク

2006/7/21(Fri) 19:56:31|NO.1473

ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.