OutlookExpressの送信済アイテムを消去する方法を教えて下さい。


Outlook  2008-07-17 23:56:41  No: 31308

Servers等を使ってOutlookExpressの送信済アイテムを消去する方法を教えて下さい、Delphiのバージョンは6です。宜しくお願いします。


またアラシのよかん  2008-07-18 21:48:26  No: 31309

Servers等...の意味がわからないけど、一括消去ならば、レジストリからそのフォルダを取得してファイル削除することも出来るよ。


Outlook  2008-07-18 22:38:40  No: 31310

またアラシのよかんさん有難う御座います。レジストリからそのフォルダを取得してファイル削除する方法が解りましたら教えて下さい、お願いします。


新氏の舞えの静けさ  2008-07-19 00:43:26  No: 31311

Serversって、コンポーネントのタブ?

> レジストリからそのフォルダを取得してファイル削除する方法
TRegistry 使えば?


Outlook  2008-07-19 01:41:00  No: 31312

新氏さん、Serversはコンポーネントです。TRegistryを使った場合Rootkeyの場所がわかりません、わかったら教えて下さい。


Outlook  2008-07-19 02:46:29  No: 31313

下記のソース迄は出来ています、この後各ユーザー毎のディレクトリー情報を読みたいのですが・・・。

var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.Rootkey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKey('Software\microsoft\Outlook Express', False) then
      Reg.GetKeyNames(Memo1.Lines)
    else
      ShowMessage('キーのオープンに失敗しました');
  finally
    Reg.CloseKey;
    Reg.Free;
  end;
end;


お返し  2008-07-19 02:54:21  No: 31314

はづき:「あの〜、私、ハヅキといいますが…」
勝爺  :「はいはい、お泊りですか?」
真琴  :「あっ、違うよ、…近くの別荘のヒトですよね?」
はづき:「そうなんです、あの、これ母が送ってきて、でも私一人じゃ多過ぎて…、もしよろしければお嬢さんと召し上がってください」
勝爺  :「それはそれは、ありがとうございます、あ、これは孫でして^^;…」
真琴  :「マコトです、この頃、朝早く散歩してるのを観かけますけど」
はづき:「ええ、2週間ほど前から療養と気分転換を兼ねてココに…」
勝爺  :「療養というと…どこか、お体が…?」
はづき:「ちょっと心臓が弱くて…、じゃ私、散歩の途中なので、これで失礼します」
真琴  :「また遊びにも来てくださいね、ハヅキさん」
はづき:「ええ、そうします、じゃ、また…」
勝爺  :「…ハヅキさんか、体格も良くて、体弱いようには見えねぇけどな、マコト」
真琴  :「そうよね、ナニか"お返し"もしなくちゃネ、おじいちゃん」
春子  :「おっはよう〜、朝市で野菜仕入れてきたよ」
勝爺  :「おぅ、いつも済まねぇな、ハルコ」
春子  :「マコトも日曜なのに早起きだね、お客様来てるの?」
真琴  :「うん、それにもう習慣だから、そうだ、ハルコさん、聞きたいコトが…」
春子  :「じゃ、マコトの部屋にいこか」
真琴  :「ハルコさん、OutLook ExpressのItemフォルダを取得したいの」
春子  :「OutLookだったら、COMでフォルダ取得が出来るようだけどネ…」
真琴  :「OutLook Expressの方はそれじゃダメなの? ハルコさん」
春子  :「そぅ、でも HKEY_CURRENT_USER\Identitiesキーの'Default User ID'か'Last User ID'でクラスIDが分かるから」
真琴  :「クラスID? それが分かった後は?」
春子  :「この↓キーのStore Rootの値がフォルダ名なの」
  HKEY_CURRENT_USER\Identities\クラスID\Software\Microsoft\Outlook Express\5.0キー

真琴  :「コレ? 'C:\WINDOWS\Application Data\Identities\...'って書いてある」
春子  :「9X系ではそうネ、でもNT系では、'%UserProfile%\Local Settings\Application Data\...'なの」
真琴  :「あッその環境変数'%UserProfile%'をパスに直すAPIあるよね、ハルコさん」
春子  :「よく知ってるじゃん、マコト」
真琴  :「うん、カイトさんに教えてもらったから」
春子  :「え? カイトさんに? 教えてもらった? どういうコトよ、あぁ〜、また…」
真琴  :「そうヨ、オモシロイ話でしょ? ハルコさん」
春子  :「おぉ? 開き直ったよネ、マコト」
真琴  :「どうせ信じてくれないンなら開き直らなきゃ」
春子  :「あのね、マコト、…ジツはネ、アタシもマコトと一緒に2年前に戻ったの」
真琴  :「エエッ!?…ハルコさんもなの?」
春子  :「あれ? ホンキにした? マコト^^、この前の"お返し"よ^^」


Outlook  2008-07-19 04:34:26  No: 31315

お返しさん有難う御座います、「春子  :「この↓キーのStore Rootの値がフォルダ名なの」の後を具体的に教えてもらえませんか?

HKEY_CURRENT_USER\Identities\クラスID\Software\Microsoft\Outlook Express\5.0キー

がエラーで引っかかってしまいます。その上のは上手くいったのですが・・・。

「↓これは上手くいきました」

var
  Reg: TRegistry;
begin
  // Reg のインスタンス化
  Reg := TRegistry.Create;
  try
    // ルートキーを設定
    Reg.Rootkey := HKEY_CURRENT_USER;
    // キーを開く
    if Reg.OpenKey('Identities', False) then
    begin
      Label1.Caption  :=Reg.ReadString('Default User ID');
    end
    else
      ShowMessage('キーのオープンに失敗しました');
  finally
    // キーを閉じる
    Reg.CloseKey;
    // Reg を破棄
    Reg.Free;
  end;
end;


Outlook  2008-07-19 05:14:12  No: 31316

「追伸」

HKEY_CURRENT_USER\Identities\クラスID\Software\Microsoft\Outlook Express\5.0キー、Store Rootからディレクトリーを返す方法を教えて下さい。


もしかして  2008-07-19 21:59:43  No: 31317

HKEY_CURRENT_USER\Identities\クラスID\Software\Microsoft\Outlook Express\5.0キー
↑このまんま使ってるとかじゃないの?
クラスIDの所を正しい値{xxxxxxxx-xxxx-....}で置き換えないと...
クラスIDはPC環境ごとに違うからね。


Outlook  2008-07-20 00:30:43  No: 31318

無知ですみません・・・クラスIDはどうやって探すのでしょうか?お手数かけます・・・。


ttt  2008-07-20 06:11:24  No: 31319

> クラスIDはどうやって探すのでしょうか?
あなたが3つ上に書いたコード。上手くいったんでしょ?

念のため言っておくと最後のところも「5.0キー」じゃなくて「5.0」だから。
一度自分でレジストリエディタで見て構成つかんどいた方がいいかもね。


Outlook  2008-07-23 22:13:28  No: 31320

tttさん、5.0キーでなく5.0で実行しています、再度お聞きします、クラスIDはどうやって探すのでしょうか?


もう一度  2008-07-23 22:20:39  No: 31321

春子のセリフを良く読み返してみたら?
自分のコードでも、Label1.Captionに表示できたんじゃないの?


ttt  2008-07-23 22:47:49  No: 31322

再度お答えします。あなたが5つ上(2008/07/18(金) 19:34:26)に書いた
「↓これは上手くいきました」
というコードがそのクラスIDを探すコード。

そのコードを実行すると、たとえば
{AAAAAA-BBBBBBBB-CCCCCCCC-DDDDDDDD}
みたいな文字列が得られる。そこまで上手くいったんだよね?
それがデフォルトユーザのクラスIDだから
「クラスID」の部分をその文字列で置き換えてください。

※この後まだ%UserProfile%を実際のパスに直すとか、
ファイルを列挙して削除するとかハードルが待ち受けてるけど大丈夫かな?
これってどうしてもプログラム組んでやらないといけないことなの?


Outlook  2008-07-29 06:35:16  No: 31323

tttさん有難う御座います。何とか出来そうです!!


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加