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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
1105
cats開いているフォルダのパス5解決


cats

リンク

2012/11/5(Mon) 18:16:43|NO.50491

今エクスプローラで開いているフォルダのパスを取得したくてプログラムを作りました。
フォルダのタイトルは既に分かっている状態です。(下記ソースでは"タイトル")
作ったプログラムではフォルダの[アドレス(D)]の部分を取得しています。
クラス名はEditでいいと思い、実行すると「フォルダがない」と表示されます。
Editではなくてコンボボックスかなと思いクラス名をComboBoxにしてみましたが結果は同じです。
全く別の方法で構いませんので開いているフォルダのパスは取得できないでしょうか。

#uselib "user32.dll" #cfunc FindWindow "FindWindowA" sptr, sptr #cfunc FindWindowEx "FindWindowExA" sptr, sptr, sptr, sptr #define WM_GETTEXT 0x000D #define WM_GETTEXTLENGTH 0x000E objsize 100,25 button "フォルダ位置取得",*Get stop *Get hEdit=FindWindowEx(FindWindow("CabinetWClass","タイトル"/*ここにフォルダのタイトル*/),0,"Edit","") //こっちでもできない //hEdit=FindWindowEx(FindWindow("CabinetWClass","タイトル"),0,"ComboBox","") if hEdit=0:mes "フォルダがない":stop sendmsg hEdit,WM_GETTEXTLENGTH,0,0 if stat<=0:mes "文字がない":stop size=stat+1 sdim buf,size+1 sendmsg hEdit, WM_GETTEXT,size+1,varptr(buf) mes buf stop



この記事に返信する


てん

リンク

2012/11/5(Mon) 20:08:49|NO.50494

エクスプローラのあのアドレス表示部は独自コントロールを採用しています。(クラス名は失念)
オートホットキーのスパイツールで確認したところ、Edit1というクラス名らしい



てん

リンク

2012/11/5(Mon) 20:10:35|NO.50496

ただ、むしろToolBarWindow322で取得したほうがいいかも。



cats

リンク

2012/11/5(Mon) 21:09:47|NO.50498

>てん 様
ご回答ありがとうございます。
ToolBarWindow322について調べてみましたが英語のページが多く、
翻訳してもC言語(?)ばかりでした。
もう少し勉強してからHSPでしていきたいと思います。



inovia

リンク

2012/11/5(Mon) 21:42:50|NO.50500

昔作ったモジュールを少し改造したものですが、よかったらどうぞ。

#module #deffunc GetExplorerPath var path, var name sdim path, 1024 sdim name, 1024 newcom sa, "Shell.Application" comres wc sa->"Windows" //IE&ファイルエクスプローラーの数 i = 0 i = wc("Count") j = 0 repeat i comres nc wc->"Item" cnt // 対象のフルパス取得 fn = getpath(nc("FullName"), 16) // エクスプローラーの場合 if instr(fn, 0, getpath("explorer.exe", 16)) != -1 { dc = nc("Document") fd = dc("Folder") sf = fd("Self") path += sf("Path")+"\n" name += sf("Name")+"\n" ;mes sf("Type") delcom sf delcom fd delcom dc j++ } delcom nc loop //後始末 delcom wc delcom sa return j #global // 以下サンプル GetExplorerPath path, name mes ""+stat+"件" mes "-------- path --------" mes path mes "-------- name --------" mes name



cats

リンク

2012/11/5(Mon) 22:04:25|NO.50501

>inovia 様
ありがとうございます!(>o<)
無事に作りたい物が作れそうです。
newcom系は触れたことがないので考えませんでした。
回答してくださった皆様、ありがとうございました。



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