Cokkieを削除するコマンド(IE)についてプログラムで実現したい

このQ&Aのポイント
  • Internet ExplorerでCookieを削除する方法についてのプログラム制作についてアドバイスをお願いします。
  • 現在、C#を使用してCookieの削除を試みていますが、再起動が必要な点に課題を感じています。
  • Cookieフォルダを手動で削除した場合にはブラウザの再起動が必要ですが、インターネットオプションから削除した場合にはすぐに無効になる仕組みです。
回答を見る
  • ベストアンサー

Cokkieを削除するコマンド(IE)についてプログラムで実現したい

Cookieの削除について質問なのですが、 Internet ExplorerでインターネットオプションからCookieの削除を選択した場合は、すぐにそのCookieが無効になりますが、 手動でCookieフォルダの中身を削除した場合、ブラウザ自体を再起動しないと無効にならないようです・・・。(インターネットオプションの方は再起動を行っているのでしょうか?) 私はCookieをインターネットオプションのように削除を行うプログラムを制作したいと考えているのですが、どのようにプログラミングしたら良いのでしょう? System.IO.File.Delete(削除目的のCookieのアドレス); C#でこのコマンドを用いてプログラムを制作しているのですが、やはりブラウザ再起動という面で止まってしまっています。 どなたかアドバイスいただけたら幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • SHIMAPEE
  • ベストアンサー率75% (154/203)
回答No.3

ANo.2のお礼への回答です。 私もC# 2005 Expressでやってみました。サンプルのコードを手直しして、一時ファイル、Cookie、履歴(Visited:)のListBox表示と、ListBoxで選択して削除に成功しました。履歴では削除できないものも検索されるようですが。 FindFirstUrlCacheEntry, FindNextUrlCacheEntryで検索したURLはlpszSourceUrlNameに求まっています。これを下記のようなコードでstringに取り出せば自由自在で、例えば先頭が"Cookie:"かどうかで選別できます。(なぜかFindFirstUrlCacheEntryの第1パラメータの指定には失敗し、全て検索されてしまいます) .NETの経験には乏しいのでMarshalの使い方が正しいかは自信ありません。 string url = Marshal.PtrToStringAnsi(internetCacheEntry.lpszSourceUrlName);  : Marshal.FreeBSTR(internetCacheEntry.lpszSourceUrlName); 同様にファイル名はlpszLocalFileNameに求まっていますのでFile.Copyもできました。 また、IEのキャッシュに関する情報が下記にありました。相変わらず"Cache Groups"については良くわかってませんが、私がやってみたところではGroup外の検索で良さそうに思います。 Caching http://msdn2.microsoft.com/en-gb/library/aa383928.aspx

maideincc
質問者

お礼

すばやい返答ありがとうございました。 この回答を拝見させていただく限りでは、実現可能そうですね。 ただ自分はプログラミングに関して知識が乏しいので、実装に移るまで時間がかかるかと思われますので、先にお礼だけ述べさせていただきます。実装したらまた書き込みをさせていただきます。 ご丁寧にありがとうございました。

maideincc
質問者

補足

あとまた質問で申し訳ないのですが、 自分がNo2で参考にさせていただいたプログラムでよく分からないのが、グループとエントリーという言葉なんです。 グループは、関連するキャッシュの塊で エントリーは削除されるべきグループ?? 初歩的な質問で申し訳ありません。 もっともっと何度もプログラムを見直してみます。

その他の回答 (3)

  • SHIMAPEE
  • ベストアンサー率75% (154/203)
回答No.4

ANo.3の補足への回答です。 私も"Cache Groups"については良くわかってませんが、たぶんグループを作ると、そのグループ内だけでキャッシュを再使用できたり、まとめて削除できたり、便利なこともあるのでしょう。しかし、どうやらIEでは使っていないようです。 エントリとはグループに属する/属さないに関わらず、一つの一時ファイル、Cookie、履歴のキャッシュのことを指していると思います。 FindFirstUrlCacheEntryではグループに属さないエントリを検索します。FindFirstUrlCacheEntryExを使えばGroupIdを指定してエントリを検索できるようです。 通常はFindFirstUrlCacheEntryを使用して"URLs that do not belong to any group"を処理すれば良いのではないでしょうか。

maideincc
質問者

お礼

すばやい返答ありがとうございました。 色々いじくってみたいと思います。 ご丁寧な回答ありがとうございました。

maideincc
質問者

補足

お久しぶりです。色々参考になる意見ありがとうございました。 自分なりにいじくってみたのですが、うまくいきませんでした・・・。 IntPtrによってIpszSourceUrlNameとIpszLocalFileNameがどのような型で、どのようにURLとファイル名が保存されているのか分かりません・・・。Cの変数なら多少は分かるのですが・・・。 自分の中での解釈では、IpszSourceUrlNameとIpszLocalFileNameの中に入っている目的のファイルをMarchalで検索してstringに保存するということをANo.3でおっしゃっていたと捉えているのですが・・・。 もしよろしければ、ANo.3の回答でのFile.Copyとリスト表示が成功したサンプルプログラムを参考にさせていただけないでしょうか?

  • SHIMAPEE
  • ベストアンサー率75% (154/203)
回答No.2

C#のサンプルを見つけました。深く解読していないのですが私は"Group"を意識せずに検索しています。「WebBrowser コントロールをホストする場合」は意識する必要があるのだと思われます。 HOW TO: アプリケーションがビジュアルC#.NETの WebBrowser コントロールをホストする場合、キャッシュを消去します。 http://support.microsoft.com/kb/326201/ja

maideincc
質問者

お礼

早速のご回答ありがとうございました。 2005では動かなかったのですが、2003で実行するとTemporary Internet Filesの内容を削除することに成功しました。どうもありがとうございました。 今度は全てではなく、指定したファイルだけを他のフォルダに移動ということをやってみたいのですが、自分なりにプログラムを解読してみたのですが、難しくてうまく解読できず、実行に移れませんでした。(やはり当初の目的としては削除目的のCookieだけを何とかしたかったので) もし、お時間があれば、Temporary Internet Filesの中にある指定のファイルを他のフォルダに移動させる方法をお教え願えませんでしょうか? 質問ばかりで申し訳ありません。

  • SHIMAPEE
  • ベストアンサー率75% (154/203)
回答No.1

C#でやったことはありませんが、IEのCookieの削除はDeleteUrlCacheEntry APIで可能です。再起動しなくても無効になります。 FindFirstUrlCacheEntry, FindNextUrlCacheEntryで一時ファイル、Cookie、履歴を検索してリストし、選択したCookieをDeleteUrlCacheEntryで削除できました。Windows98 + Delphi4で作ったものですが、Windows XP Pro SP2 + Delphi7でも動きました。 VistaではCookieがうまく検索できないという情報がありますね。削除もできないかもしれません。 FindFirstUrlCacheEntry and COOKIE_CACHE_ENTRY http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=764786&SiteID=1

関連するQ&A

  • cookieを削除したい

    インターネットオプションの全般、インターネットの一時ファイルというところに、 cookieの削除と言う項目がありません。手動で削除するにはどうすればよい のでしょうか? windows98で、ブラウザはIEです。

  • IE7の「アドオン」って何でしょうか?

    Internet Explorer 7 で ツール>インターネットオプション を開くと [プログラム]タブに[アドオンの管理]というボタンがあり、 システムにインストールされたブラウザのアドオンを有効または無効にします。 と載っていますが、 アドオンとは何をするものでしょうか? また、誰が私のPCにインストールするのでしょうか? (googleツールバーなどをインストールするに同意すると、 自動的にインストールされる??) 無効にできるものもあるようですが、削除することはできないのでしょうか?

  • 一発でIEのCookieを消す方法はありますか?

    プログラマーなのでCookieを強制削除することが多いのですが、InternetExplorerの場合「インターネットオプション」経由でクリアするためけっこう煩雑です。FireFoxみたいにショートカット等で一発削除はできないのでしょうか。 お詳しい方、よろしくお願いします。 <環境> Windows7 InternetExplorer9

  • IE6のファイルの削除で、ActiveXまで削除されてしまいます。

    InternetExplorer6の[インターネットオプション]:全般[インターネット一時ファイル]→[ファイルの削除]を実行すると、Temporary Internet Filesだけでなく、WINDOWS\Downloaded Program FilesのActiveXまで削除されてしまい、困っています。なお、OSはWindowsXP SP2です。

  • vista,ie9でokwaveにログインできない

    vista-business-sp2,ie9です。 10日ほど前から、ID,パスワードを入れてもエラーとなります。 「ご迷惑をおかけしております。エラーが発生しました。・・・こちらより再度ログインをお試しください。」とかいうメッセージが出ます。それに従ってもログインできず、再度、IDとパスワードを求める画面になります。 chromeでは問題ありません。また、別のie8のノートPCでは問題なくログインできます。 同じような現象の方、いらっしゃいませんでしょうか。 なお、okwaveから教えられた下記対策はすべてクリアしています。 また、他のサイトは問題なくサーフィンできます。 (下記はOKwaveからの教え) ------------------------------------------------------------------- JavaScriptを有効にする ------------------------------------------------------------------- 当サイトは、JavaScript使用のコンテンツがあります。 JavaScript機能を無効にされている場合、正しく表示されない、もしくは正し く機能しないことが想定されます。このため、利用時は、JavaScriptを有効に 設定してください。 【JavaScriptを有効にする手順】 1.Internet Explorer 9を起動 2.[ツール]→[インターネットオプション]をクリック 3.[セキュリティ]タブをクリック 4.[インターネット]をクリック→[レベルのカスタマイズ]ボタンをクリック 5.[アクティブ スクリプト]の項目で【有効にする】にチェック 6.[OK]ボタンをクリック 7.インターネットブラウザを再起動 ------------------------------------------------------------------- スタイルシートを有効にする ------------------------------------------------------------------- 当サイトは、スタイルシートを使用しています。 スタイルシート設定が無効の場合、正しく表示されない可能性があります。 閲覧の際はスタイルシートを有効にしてください。 【スタイルシートを有効にする手順】 1.Internet Explorer 9を起動 2.[ツール]→[インターネットオプション]をクリック 3.[全般]タブをクリック 4.右下の「ユーザー補助」をクリック 5.すべての項目のチェックをはずし、「OK」をクリック 6.インターネットブラウザを再起動 ------------------------------------------------------------------- キャッシュの削除 ------------------------------------------------------------------- 古い情報がインターネットブラウザに残存していると、正常に動作が行えない ことがあります。下記手順を参考にインターネットブラウザに残存するキャッ シュを削除してみてください。 【キャッシュ削除手順】 1.Internet Explorer 9を起動 2.右上の[セーフティ]→[閲覧の履歴の削除]をクリック 3.[インターネット一時ファイル]にチェックを入れ、[削除]ボタンをクリック ------------------------------------------------------------------- セキュリティレベルの確認 ------------------------------------------------------------------- セキュリティレベルとインターネットゾーンの設定をご確認ください。 「高」や「中高」の場合、正常に動作が行えないことがあります。 【セキュリティレベル変更手順】 1.Internet Explorer 9を起動 2.[ツール] →[インターネット オプション]を クリック 3.[セキュリティ] タブをクリック 4.このゾーンのセキュリティのレベルを「中」にしてください。 【インターネットゾ-ン変更手順】 1.Internet Explorer 9を起動 2.[ツール] →[インターネット オプション]を クリック 3.[プライバシー] タブをクリック 4.インターネットゾーンの設定を「中」にしてください。 ------------------------------------------------------------------- セキュリティソフトについて ------------------------------------------------------------------- 「ウイルスバスター」などのセキュリティソフトが導入されている環境で、 ソフト側の設定を厳しくしている場合、CookieやJavascript等の制御に制限が かかってしまい、正常に動作しない、あるいはエラー等が生じてしまう場合が あります。 セキュリティソフトの設定を調整していただくか、どうしても設定が難しい場 合、可能であれば一旦ソフトの動作を停止して投稿をお試しいただくなどの方 法もございます。  ※当サイトではセキュリティに細心の注意を施しておりますが、セキュリティ   ソフトを停止したまま当サイト以外のサイトにアクセスすると危険な場合   もあるかと存じますので、当サイトの動作を確認した後にはすぐにソフト   を起動いただくなど、十分ご注意ください。  ※セキュリティソフトの設定や機能の詳細に関しましては、大変恐縮ながら   当方ではわかりません。ソフトの説明書やヘルプをご参照いただくか、   ソフトの提供元までお問い合わせください。 ------------------------------------------------------------------- アドオンの無効化 ------------------------------------------------------------------- アドオン導入によって、問題が発生する場合がありますので、アドオンを無効 にし、動作をご確認ください。 【アドオンの無効化手順】 1.[ツール] >[アドオンの管理] の順にクリック 2.表示を「全てのアドオン」に変更し、アドオンをそれぞれ無効にする 3.インターネットブラウザを再起動 ------------------------------------------------------------------- インターネットブラウザの変更 ------------------------------------------------------------------- 当サイトの推奨環境は、お客様が現在ご利用のInternet Explorerですが、Inte rnet Explorerで正常に動作が行えない場合は、異なるインターネットブラウザ での動作をお試しください。 異なるインターネットブラウザで正常に表示が行われる場合は、Internet Explorerになんらかの問題がある可能性が高いと思われます。 ただ、ブラウザの詳細について、これ以上は当方では特定が困難な状況です。 大変お手数かとは存じますが、、インターネットブラウザ提供元に改めて お問い合わせください。

  • IE7のCookieの削除について。

    Vista SP2+IE7を使用しています。 タイトル通りなのですが、、、 IEのインターネットオプションで、観覧の履歴の削除から、「Cookieの削除」を選択して実行すると、Cookieばかりではなく、Temporary Internet Files内にキャッシュされた全ての内容がきれいに削されてしまうのですが、これはこのような仕様なのでしょうか?Cookieだけを削除できるものと思っていましたが。。 詳しい方がいらっしゃいましたらよろしくお願いします。

  • Hao123が削除出来ない。

    ある日突然 インターネットのホームページが Hao123に変わってしまいました。 インターネットオプションで これまでのグーグルに設定してやっても 起動すると決まって現れます。 悪意のあるソフト(プログラム)らしいので 一刻も早く削除したいのですが 「プログラムの削除」に表れません。 ブラウザ(IE9)もフリーズするなど その影響(?)が出ています。 どうしたら良いのか? いや、助けてくださ~い。お願いします。

  • IEのインターネット一時ファイルの設定の中のオブジェクトの表示の中に、壊れているプログラムファイルは削除していいですか?

    Internet Explorerの「ツール」→「インターネットオプション」→「全般」の中の「インターネット一時ファイル」の「Cookieの削除」および「ファイルの削除」を実行した後、「設定」を開くと、さすがに「ファイルの表示」をクリックしてもファイルは全て無くなっているのですが、「オブジェクトの表示」をクリックすると、20~30くらいのプログラムファイルが表示されます。インターネット一時ファイルは全て削除したはずなのになぜ表示されるのかが分かりません。これらは、インターネット一時ファイルではないのでしょうか?一体どんなファイルなのでしょうか?(初歩的ですみません)  また、「オブジェクトの表示」の中のプログラムファイルには、状態が『不明』、『インストールされています』、『壊れています』の3種類があるのですが、『壊れています』というのは何がどのように壊れているのか分かりませんが、削除してかまいませんか? また、インターネット一時ファイルの中には、Cookie やファイルというのがあるというのですが、一体キャッシュはどこにあるのでしょうか?これらの違いもよく分かりません。 いたって、初歩的な質問かも知れませんが、ご教授願えませんか?これから、セキュリティーとサイトへの効率的なアクセスの両方の面を睨みながらパソコンの設定を考えたいと思いますので、ご指導の程よろしくお願いします。

  • 【VBA】IEのCookieなどの削除方法

    こんにちわ。 Excel VBAで「自動でIEを起動してyahooを表示」するマクロを作成しています。 質問ですが、IEオブジェクトを作成したタイミングでCookieなどを削除するには、どのようにすればよろしいしょうか? ※IEの[インターネットオプション] - [全般]タブ - [閲覧の履歴]にある削除(全削除)と同じ処理を実装したいです。 -------------------------------------------------- Dim oIe As Object Set oIe = CreateObject("InternetExplorer.Application") ' ★ここで削除したい oIe.Visible = True oIe.Navigate "http://www.yahoo.co.jp/" -------------------------------------------------- お忙しいところ大変申し訳ありませんが、ご教授をお願い致します。 以上です。 ++++++++++++++++++++ 【環境】 OS:WinXP 以上 ブラウザ:IE7 以上 Excel:Excel2007 以上 ++++++++++++++++++++

  • Cooki削除におついてお聞きしたいです。

    僕がPCに全く詳しくないので質問します。Internet Explorer で Cookie ファイルを削除したいのですが、インターネットで検索しました すると Internet Explorer 8 で Cookie ファイルを削除する方法 Internet Explorer 7 で Cookie ファイルを削除する方法 Internet Explorer 6 で Cookie ファイルを削除する方法 の三つが表示されました。僕が使っているOSは、ウィンドウズ7なのですが、三つの中でどれが最適なのでしょうか? また、Cookie を削除する前に、Cookie ファイルをエクスポートするか、保存しておくことができるらしいのですが、どうすればいいか分かりません。 PCに関しては、素人ですのですので言葉足らずな部分もあると思いますが、宜しくお願いします。

専門家に質問してみよう