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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0716
さか現在開いているフォルダ、ファイルのフルパス取得7未解決


さか

リンク

2012/7/16(Mon) 13:36:57|NO.47728

現在開いているフォルダ名やファイル名は、ウィンドウハンドルからタイトル名で取得で
きるのですが、フルパスの取得方法がわかりません。
色々調べた結果、単純には行きそうもないと思うのですが、フォルダはバーに出ているの
でその取得ができたらと思います。

よろしくおねがいします。



この記事に返信する


ヂオン

リンク

2012/7/16(Mon) 13:51:59|NO.47730

状況が解りません

まずどのアプリケーションで開いているのかを教えて下さい。



さか

リンク

2012/7/16(Mon) 13:59:57|NO.47731

ヂオンさん、レスありがとうございます。

どのアプリケーションと言うことではなく、デスクトップ上で開いていると言うことです。
デスクトップ上のフォルダやファイルを管理するツールを作りたいと思っています。

デスクトップ上のフォルダやファイルのウィンドウハンドルの取得は出来るのですがウィン
ドウハンドルからフルパスの取得は情報単位?が違うので、ウィンドウハンドル取得時に
フルパスまで取得するようなAPIか、なにかアイデアが必要のように思います。



check

リンク

2012/7/16(Mon) 16:28:33|NO.47734

>デスクトップ上で開いている
わけがわからない……。

>デスクトップ上のフォルダやファイルを管理するツールを作りたい
というコメントからデスクトップ上にあるファイルを管理したいと言うことか?
デスクトップへのパスはdirinfo(0x10000)で取得できる。



fortunehill

リンク

2012/7/16(Mon) 16:53:44|NO.47738

/*こう言う事?*/

#include "kernel32.as" #include "user32.as" #uselib "psapi.dll" #func global GetModuleFileNameEx "GetModuleFileNameExA" sptr,sptr,sptr,sptr dim ll sdim ss,260 hh = hwnd ;WindowFromPoint 100,100 :hh = stat GetWindowLong hh,$FFFFFFFA :ll(1) = stat GetWindowThreadProcessId hh, varptr(ll) :ll(2) = stat OpenProcess $001F0FFF,1,ll :ll(3) = stat if (ll(3) != 0) {GetModuleFileNameEx ll(3),ll(1),varptr(ss),260 :ll(4) = stat} CloseHandle ll(3) mes ss mes ll(4)



さか

リンク

2012/7/16(Mon) 17:50:25|NO.47740

fortunehillさん、checkさん、レスありがとうございます。

そうです、ウィンドウハンドルからのフルパス取得です。
Exeについては、それでいけますね。

あとは、フォルダと、Excelのようなものは開いているファイルのフルパスを
取得したいです。
Excelの開いているファイルと言うのは難しいですかねえ。



てれてれ

リンク

2012/7/16(Mon) 21:30:42|NO.47743

もしかして「explorer.exe」で開いてるフォルダのフルパスを取得したいということかな?



さか

リンク

2012/7/16(Mon) 22:10:16|NO.47744

てれてれさん、レスありがとうございます。

そうです、フォルダに関しては、「explorer.exe」で開いているフォルダのフルパス取得と
言うことです。
同様にExcelだったらExcelで開いているファイルのフルパスを取得したいのです。

デスクトップ上のショートカットは関係ないです。



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