IE履歴の編集をしたいのですが・・・
■ このスレッドは過去ログ倉庫に格納されています
0001メンタイの徒
NGNGアドレスの取得や削除は出来るのでしょうか?
私が調べたところ、レジストリにHistoryとして指定された
フォルダにあるファイルに履歴情報を保存しているような感じなのですが、
それを操作する(つまり履歴を編集する)インターフェイスがわかりません。
どなたかご教示ください。
OSはWindows9xorNT系です。
開発はVC++で行っております。
よろしくお願いします。
0002SAGE
NGNG*.url ファイルで保存してるんだったと思うので、(違ったら御免)
INIを扱うのと同じ要領でいいんじゃないでしょか。
0003メンタイの徒
NGNGそのフォルダの中にはindex.datというファイルが1つあるだけなんですよ、
(exp等で見ると一見、フォルダとurlで構成されているように見えるのですが・・・)
IEでHistory管理に使ってるCOM IFが何かわかれば糸口が見える気がするんですけどね。
2さん、どうもありがとうございました。
00042
NGNGじゃぁ、仕方ないのでindex.datを解析するとか。(^^;
0005名無しさん@お腹いっぱい。
NGNG0006名無しさん@お腹いっぱい。
NGNGAll Words"InternetExplorer History Interface"とか検索すると
IUrlHistoryStg@`IUrlHistoryStg2とか出てきます。(IE5.5以降のみですが)
IOmHistoryはIE4以降で使えるみたいだけど、インターフェースが乏しいですね。
0007メンタイの徒
NGNGこれで何とか出来そうな気がします!!!
ほんと、ありがとうございます!
出来たら報告しますね!
0008メンタイの徒
NGNG#include <windows.h>
#include <Mshtmlc.h>
int main(int argc@` char* argv[])
{
IOmHistory* pHisotry;
HRESULT hr;
DWORD cRef;
CoInitialize(NULL);
hr = CoCreateInstance(CLSID_COmHistory@`
NULL@`
CLSCTX_INPROC_SERVER@`
IID_IOmHistory@`
reinterpret_cast<void **>(&pHisotry));
if (SUCCEEDED(hr))
{
// ここにこれない!
cRef = pHisotry->Release();
}
CoUninitialize();
return 0;
}
このような方法でインターフェイスの取得を試みたのですが、
下記のようなエラーが発生してしまいコンパイルが通りません。
どなたか、原因のわかる方はいらっしゃらないでしょうか?
よろしくおねがいします、
error LNK2001: 外部シンボル "_CLSID_COmHistory" は未解決です
fatal error LNK1120: 外部参照 1 が未解決です。
0009名無しさん@お腹いっぱい。
NGNGCOM方面は疎いので大して力にはなれんが、足りないのがCLSIDの定義
のみであれば、UUID.LIBあたりをリンクすれば良いのではないかな。
0010メンタイの徒
NGNG関係無いようなのです。
それ以外にも、libファイルは全て試したのですが、どれもダメでした。
う〜ん、わからんですよー・・・
0011バッカーです
NGNGここのサイトの主が
http://ourworld.compuserve.com/homepages/w_baudisch/HistoryInspector.htm
や
http://ourworld.compuserve.com/homepages/w_baudisch/HistoryReader.htm
を作っているのでとりあえずメールで聞いてみよう。
0012名無しさん@お腹いっぱい。
NGNGIUrlHistoryStg2* pHistory;
IEnumSTATURL* URLs;
_STATURL url;
CoInitialize(NULL);
hr = CoCreateInstance(CLSID_CUrlHistory@` NULL@` CLSCTX_INPROC_SERVER@`
IID_IUrlHistoryStg2@` reinterpret_cast<void **>(&pHistory));
if(SUCCEEDED(hr))
{
pHistory->EnumUrls( &URLs );
while( celt == 1 )
{
URLs->Next( 1@` &url@` &celt );
// url.pwcsTitle
// タイトル
// url.ftLastVisited
// サイトにいった日
// url.pwcsUrl
// サイトのURL
URLs->Release();
}
}
cRef = pHistory->Release();
CoUninitialize();
0013名無しさん@お腹いっぱい。
NGNG0014メンタイの徒
NGNG>11
もう少しやってみてどうにもならないようでしたらダメもとですが、
メールしてみます。ありがとうございますね!
>12
IE5.5からの機能みたいなので、こっちが使用できないんですよ、
ターゲットが良くてIE4環境なので、IOmHistoryを使おうと思ったんです。
でも、すごく親切にして頂いてホントにありがとうございます。
0015名無しさん@お腹いっぱい。
NGNGIE5でもつかえたよ、たしか
ドキュメントはなかったが。
0016メンタイの徒
NGNGターゲットがIE5じゃないんですよー(;;
IWebBrowser2は使用しているようですので、IE4以下ではないかと踏んでいるんです。
ところでみなさんはインターフェイスからCLSIDってどうやって調べてますか?
私はidlを見てるのですが、なにかもっといいやり方はあるのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています