- PR -

IEからD&Dされた際のアドレスバーの内容を取得

1
投稿者投稿内容
やまさん2004
常連さん
会議室デビュー日: 2004/03/11
投稿数: 32
投稿日時: 2005-03-25 13:37
IEからVCのプログラムに画像等をD&Dされた際に
ファイル名だけでなく、アドレスバーの内容も取得したいのですが、

調べてみたら、
GetWindowでトップレベルウィンドウを見つけるか
アクティブウィンドウを見つけていく方法があったのですが、
対象をIEに指定して、アドレスバーの内容を取得することはできないのでしょうか。

何かよい方法がありましたら教えてください。
よろしくお願いします。

VC++ 2002 Windows2000SP4
やまさん2004
常連さん
会議室デビュー日: 2004/03/11
投稿数: 32
投稿日時: 2005-03-25 19:37
自己レスですが、クリップボードには入ってこないみたいです。。

(CLIPFORMAT)RegisterClipboardFormat("Netscape Bookmark");
(CLIPFORMAT)RegisterClipboardFormat("UniformResourceLocator");

うえのように形式を指定しても取れませんでした。
方向性だけでもご指摘頂けないでしょうか。。
やまさん2004
常連さん
会議室デビュー日: 2004/03/11
投稿数: 32
投稿日時: 2005-03-25 21:26
さらに自己レスです(苦笑)
DDE通信を使った手法も試したのですが、
通常のコントロールが乗っ取られますよね?
難しいなぁ。。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-03-25 21:42
 対象をIEしぼるのだったら、プロセスから探すという手もあるのでは?

 また、トップにあるところから送られてきているとも限りませんよね。たとえば、ドラッグしたまま他のウインドウにしばらく止まると、そのウインドウが最前列にきます。

 または、対象のIEに、アドレスバーが表示されていない状況というのもあり得ます。


 と考えていくと、IE自身がクリップボードにコピーしていないでしょうから、「絶対にとれる」と方法はない、ことになると思います。

 それなら、IEコンポーネントを使用したブラウザを作って、それから機能拡張していく方が易しいようにも思います。
_________________
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-03-25 22:01
IE限定で、かつ非リンクの要素限定のようですが、
D&Dされたクリップボードの"HTML Format"形式の内容の一部にSourceURL:が含まれてますね。
リンクの場合に取れないので使い道は微妙ですが。
やまさん2004
常連さん
会議室デビュー日: 2004/03/11
投稿数: 32
投稿日時: 2005-03-27 19:38
クリップボードの"HTML Format"形式で取れますか??
なんかうまく取れないです。。
もしよろしければサンプルとか頂けないでしょうか。
やまさん2004
常連さん
会議室デビュー日: 2004/03/11
投稿数: 32
投稿日時: 2005-03-27 20:37
"HTML Format"形式でSourceURL取れました。
D&D元のURLというよりは、最後に取得したURLかなって思います。
複数のIEを開いた場合に、そうゆう動作になります。
やはりD&Dではクリップボードにurlは入らないのでしょうか。。
1

スキルアップ/キャリアアップ(JOB@IT)