亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gethis.txt

?? Delphi 取IE歷史記錄列表的兩個例子程序
?? TXT
字號:
uses shlobj,Activex,ComObj;

 

function GetHistoryToday(List: TStrings): Integer;
var
  pvDesktop:        IShellFolder;
  pvFolder:        IShellFolder;
  pvToday:        IShellFolder;
  pvEnumToday:    IEnumIDList;
  pvEnumHist:    IEnumIDList;
  pvMalloc:        IMalloc;
  pidlHistory:    PItemIDList;
  pidlToday:        PItemIDList;
  pidlItem:        PItemIDList;
  lpValue:        TStrRet;
  lpItem:        TStrRet;
  szValue:        String;
  cbCount:        Cardinal;

  function StrRetToStr(StrRet: TStrRet): String;
  begin
      case StrRet.uType of
      STRRET_CSTR    :  SetString(result, StrRet.cStr, lstrlen(StrRet.cStr));
      STRRET_OFFSET  :  SetLength(result, 0);
      STRRET_WSTR    :  result:=StrRet.pOleStr;
      else
      SetLength(result, 0);
      end;
  end;  
 
begin 
 
  // Check list
  if Assigned(List) then
  begin
    // Lock list  
    List.BeginUpdate;  
    // Resource protection  
    try
      // Clear the list
      List.Clear;
      // Get malloc
      if (SHGetMalloc(pvMalloc) = S_OK) then
      begin
        // Get desktop folder
        if (SHGetDesktopFolder(pvDesktop) = S_OK) then
        begin
          // Get history pidl
          if (SHGetSpecialFolderLocation(GetDesktopWindow, CSIDL_HISTORY, pidlHistory) = S_OK) then
          begin
            // Bind to folder interface
            if (pvDesktop.BindToObject(pidlHistory, nil, IID_IShellFolder, pvFolder) = S_OK) then
            begin
              // Locate the folder for "Today"
              if (pvFolder.EnumObjects(0, SHCONTF_FOLDERS or SHCONTF_INCLUDEHIDDEN, pvEnumHist) = S_OK) then
              begin
                // Enumerate items
                while (pvEnumHist.Next(1, pidlItem, cbCount) = S_OK) do
                begin
                  // Get display name of pidl
                  if (pvFolder.GetDisplayNameOf(pidlItem, SHGDN_NORMAL or SHGDN_INFOLDER, lpValue) = S_OK) then
                  begin
                    // Resource protection
                    try
                      // Check for "Today"
                      if (CompareText(StrRetToStr(lpValue), '今天') = 0) then
                      begin
                        // Switch pidls
                        pidlToday:=pidlItem;
                        // Bind to folder  interface
                        if (pvFolder.BindToObject(pidlToday, nil, IID_IShellFolder, pvToday) = S_OK) then
                        begin
                          // Get enumerator for "Today" folder
                          if (pvToday.EnumObjects(0, SHCONTF_FOLDERS or SHCONTF_NONFOLDERS or SHCONTF_INCLUDEHIDDEN, pvEnumToday) = S_OK) then
                          begin
                            // Enumerate items
                            while (pvEnumToday.Next(1, pidlItem, cbCount) = S_OK) do
                            begin
                              // Get the url
                              if (pvToday.GetDisplayNameOf(pidlItem, SHGDN_NORMAL or SHGDN_INFOLDER, lpItem) = S_OK) then
                              begin
                                // Resource protection
                                try
                                  // Get the string value
                                  szValue:=StrRetToStr(lpItem);
                                  // Check URL string
                                  if (Length(szValue) > 0) then List.Add(szValue);
                                finally
                                  // Free string memory
                                 if (lpItem.uType = STRRET_WSTR) then pvMalloc.Free(lpItem.pOleStr);
                                end;
                              end;
                              // Free memory
                              CoTaskMemFree(pidlItem);
                            end;
                            // Release interface
                            pvEnumToday:=nil;
                          end;
                          // Release interface
                          pvToday:=nil;
                        end;
                        // Free memory
                        CoTaskMemFree(pidlToday);
                        // Done processing
                        break;
                      end;
                    finally
                      // Free string memory
                      if (lpValue.uType = STRRET_WSTR) then pvMalloc.Free(lpValue.pOleStr);
                    end;
                  end;
                  // Free the pidl
                  CoTaskMemFree(pidlItem);
                end;
                // Release interface
                pvEnumHist:=nil;
              end;
              // Release interface
              pvFolder:=nil;
            end;
            // Free memory
            pvMalloc.Free(pidlHistory);
          end;
          // Release interface
          pvDesktop:=nil;
        end;
        // Release interface
        pvMalloc:=nil;
      end;
    finally
      // Unlock the list
      List.EndUpdate;
    end;
    // Return list count
    result:=List.Count;
  end
  else
    // No list
    result:=(-1);  
 
end; 

procedure TForm1.Button4Click(Sender: TObject);
var
  TemList:TStrings;
begin
  TemList:=TStringList.Create;
  if GetHistoryToday(TemList) > 0 then
    Memo1.Lines.CommaText:=TemList.CommaText;
  TemList.Free;
end;

第二種方法
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,Activex,   Comobj;

const
//   GUID   定義:
  IID_IEnumStatUrl:     TGUID='{3C374A42-BAE4-11CF-BF7D-00AA006946EE}';
  IID_IUrlHistoryStg:   TGUID='{3C374A41-BAE4-11CF-BF7D-00AA006946EE}';
  IID_IUrlHistoryStg2:  TGUID='{AFA0DC11-C313-11d0-831A-00C04FD5AE38}';
  IID_IURLHistoryNotify:TGUID='{BC40BEC1-C493-11d0-831B-00C04FD5AE38}';
  CLSID_CUrlHistory:    TGUID='{3C374A40-BAE4-11CF-BF7D-00AA006946EE}';

type 
  //   TSTATURL   數據結構:
  PSTATURL=^TSTATURL;
  STATURL=record
    cbSize:DWORD;                           //   結構的大小
    pwcsUrl:Pointer;                     //   URL   是   PWideChar   ,原貼定義為   DWord
    pwcsTitle:Pointer;                 //   History   標題,原貼定義為   DWord
    ftLastVisited:FILETIME;
    ftLastUpdated:FILETIME;
    ftExpires:FILETIME;
    dwFlags:DWORD;
  end;
  TSTATURL=STATURL;

  IEnumSTATURL   =   interface(IUnknown)
      ['{3C374A42-BAE4-11CF-BF7D-00AA006946EE}']
      function   Next(celt:Integer;out elt;pceltFetched:PLongint):HRESULT;stdcall;
      function   Skip(celt:Longint):HRESULT;stdcall;
      function   Reset:HResult;stdcall;
      function   Clone(out ppenum: IEnumSTATURL):HResult;stdcall;
      function   SetFilter(poszFilter:PWideChar;dwFlags:DWORD):HResult;stdcall;
  end;

  IUrlHistoryStg   =   interface(IUnknown)
      ['{3C374A41-BAE4-11CF-BF7D-00AA006946EE}']
      function   AddUrl(pocsUrl:PWideChar;pocsTitle:PWideChar;dwFlags:Integer):HResult;   stdcall;
      function   DeleteUrl(pocsUrl:PWideChar;dwFlags:Integer):HResult;   stdcall;
      function   QueryUrl(pocsUrl:PWideChar;dwFlags:Integer;var lpSTATURL:STATURL):HResult;stdcall;
      function   BindToObject(pocsUrl:PWideChar;var riid:TIID;out ppvOut:Pointer):HResult;stdcall;
      function   EnumUrls(out ppenum:IEnumSTATURL):HResult;stdcall;
  end;

  IUrlHistoryStg2   =   interface(IUrlHistoryStg)
  ['{AFA0DC11-C313-11d0-831A-00C04FD5AE38}']
      function   AddUrlAndNotify(pocsUrl:PWideChar;pocsTitle:PWideChar;dwFlags:Integer;fWriteHistory:Integer;var poctNotify:Pointer;
          const   punkISFolder:IUnknown):HResult;stdcall;
      function   ClearHistory:HResult;stdcall; 
  end;
  
  IUrlHistoryNotify   =   interface(IOleCommandTarget)
      ['{BC40BEC1-C493-11d0-831B-00C04FD5AE38}'] 
  end;

 

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var 
    UrlHistory:   IUrlHistoryStg2; 
    Enum:IEnumSTATURL; 
    urlSTATURL:TSTATURL; 
    fetched:Longint; 
    P:PWideChar; 
begin
//   初始化   STATURL   數據結構
  ZeroMemory(@urlSTATURL,SizeOf(TSTATURL));

  //   創建   IUrlHistoryStg2   實例
  if CoCreateInstance(CLSID_CUrlHistory,nil,CLSCTX_INPROC_SERVER,IID_IUrlHistoryStg2,UrlHistory)=1   then
  begin
    MessageBox(0,'IUrlHistoryStg2   沒有創建','',MB_OK);
    exit;
  end;
  
//獲得枚舉接口   ->   IEnumSTATURL
  if UrlHistory.EnumUrls(Enum)=1  then
    MessageBox(0,'IEnumSTATURL   接口沒有找到','',MB_OK);
  
//   找到一個,刪除一個 
  while   Enum.Next(1,urlSTATURL,@fetched)<>1   do
  begin
    P:=urlSTATURL.pwcsUrl;
    if Pos('http://',p)>0 then
    listbox1.Items.Add(p);
    {
    if   UrlHistory.DeleteUrl(P,0)=1   then
        begin
          MessageBox(0,'刪除出錯','',MB_OK);
          Break;
        end;
        }
  end;   
end;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
九九国产精品视频| 视频在线观看一区二区三区| 欧美成人国产一区二区| 欧美日韩中文字幕一区二区| 99视频超级精品| 色哟哟欧美精品| 色偷偷久久一区二区三区| av影院午夜一区| 91老师片黄在线观看| 欧美一区二区女人| 日韩精品一区二区三区在线 | 日韩电影在线免费观看| 亚洲国产精品传媒在线观看| 欧美日韩成人综合在线一区二区| 东方aⅴ免费观看久久av| 亚洲欧美在线视频观看| 欧美一区二区不卡视频| 色哟哟一区二区在线观看| 国产一区二区久久| 亚洲成av人片一区二区梦乃| 婷婷亚洲久悠悠色悠在线播放| 激情五月播播久久久精品| 2024国产精品| 精品91自产拍在线观看一区| 26uuu精品一区二区| 国产三级一区二区| 亚洲天堂网中文字| 亚洲福利一区二区三区| 婷婷六月综合亚洲| 韩国精品免费视频| 91色视频在线| 69堂精品视频| 国产欧美精品一区aⅴ影院| 亚洲日本一区二区| 天堂一区二区在线| 国产酒店精品激情| 91蝌蚪porny| 91精品国产入口在线| 国产视频一区在线观看| 一区二区三区在线观看欧美| 日韩国产精品91| 高潮精品一区videoshd| 欧美曰成人黄网| 精品国产乱码久久久久久1区2区 | 在线观看日韩一区| 欧美一区二区三区免费大片| 国产午夜亚洲精品羞羞网站| 亚洲人成影院在线观看| 久久精品国产亚洲一区二区三区 | 国产三级精品三级在线专区| 一区二区三区国产精品| 精品一区二区三区久久| 色老汉av一区二区三区| 精品免费国产二区三区| 亚洲自拍偷拍网站| 国产一区二区免费视频| 欧美性色黄大片手机版| 国产欧美日韩激情| 日韩va亚洲va欧美va久久| 波多野洁衣一区| 日韩一区二区麻豆国产| 国产精品成人一区二区三区夜夜夜 | 国产欧美日韩久久| 日日夜夜免费精品视频| a在线播放不卡| 欧美精品一区二区三区很污很色的| 国产一区二区剧情av在线| 欧美午夜一区二区三区| 国产精品另类一区| 久久www免费人成看片高清| 在线亚洲欧美专区二区| 欧美国产日韩亚洲一区| 奇米综合一区二区三区精品视频| 91视视频在线观看入口直接观看www| 日韩视频一区二区三区 | 91丨九色丨国产丨porny| 精品毛片乱码1区2区3区| 亚洲一区在线视频| 99热99精品| 国产亚洲精品免费| 蜜乳av一区二区| 欧美网站大全在线观看| 国产精品网站在线观看| 极品少妇一区二区三区精品视频| 7777精品伊人久久久大香线蕉经典版下载 | 天天综合色天天综合| 91色乱码一区二区三区| 国产日韩欧美a| 国产黄人亚洲片| 久久综合色鬼综合色| 久久激情五月婷婷| 欧美一区二区三级| 日韩精品国产欧美| 欧美另类久久久品| 日韩电影在线一区二区三区| 欧美男男青年gay1069videost| 亚洲人成精品久久久久久| 粉嫩在线一区二区三区视频| 成a人片国产精品| 日本一区二区成人| 国产麻豆午夜三级精品| 欧美一区二区视频在线观看2020| 亚洲一区二区精品3399| 91麻豆视频网站| 18成人在线观看| 国产成人在线免费观看| 337p日本欧洲亚洲大胆色噜噜| 日韩高清一级片| 欧美亚洲一区三区| 亚洲人成伊人成综合网小说| 成人免费黄色大片| 国产精品女上位| 成人午夜免费av| 日韩免费观看高清完整版| 日本中文字幕一区二区视频| 欧美人伦禁忌dvd放荡欲情| 亚洲一区二区精品视频| 欧美中文字幕一区二区三区| 亚洲精品国产无天堂网2021| 色综合久久天天综合网| 午夜精品一区二区三区三上悠亚| 一区视频在线播放| 不卡av电影在线播放| 国产日本欧美一区二区| 国产成人精品网址| 精品国产一区二区在线观看| 国产精品主播直播| 国产日韩欧美高清| 99国产精品久久久久久久久久| 自拍偷自拍亚洲精品播放| 97久久精品人人做人人爽| 亚洲日穴在线视频| 欧美日韩一区二区三区视频| 性欧美疯狂xxxxbbbb| 欧美一区二区视频在线观看2020 | 国产精品超碰97尤物18| 91香蕉视频黄| 亚洲美女一区二区三区| 97久久久精品综合88久久| 亚洲最快最全在线视频| 欧美性大战xxxxx久久久| 丝袜美腿亚洲色图| 精品入口麻豆88视频| 国产一区在线观看麻豆| 国产欧美一区二区精品久导航| 国产乱码字幕精品高清av | 国产精品久久久久永久免费观看 | 国产精品不卡视频| 在线中文字幕不卡| 一个色妞综合视频在线观看| 欧美大黄免费观看| 成人久久18免费网站麻豆| 亚洲卡通欧美制服中文| 欧美巨大另类极品videosbest| 奇米影视7777精品一区二区| 久久久99免费| 91啦中文在线观看| 另类小说一区二区三区| 国产精品人成在线观看免费| 欧美电影在线免费观看| 国产成人免费在线观看| 亚洲午夜羞羞片| 精品三级av在线| 91免费视频观看| 久久成人综合网| 亚洲欧洲99久久| 欧美日韩五月天| 麻豆成人av在线| 亚洲手机成人高清视频| 欧美婷婷六月丁香综合色| 国产成人欧美日韩在线电影| 亚洲一区二区欧美| 久久精品一区二区三区不卡| 91福利视频网站| 国产另类ts人妖一区二区| 亚洲一本大道在线| 国产日韩成人精品| 欧美一三区三区四区免费在线看| 国产真实乱偷精品视频免| 午夜国产精品影院在线观看| 国产精品免费aⅴ片在线观看| 日韩欧美一二三| 在线观看国产精品网站| 成人午夜电影网站| 亚洲成人av在线电影| 中文字幕不卡的av| 欧美成人精品福利| 欧美日韩免费视频| 国产精品免费免费| 欧美精品丝袜中出| 97久久久精品综合88久久| 狠狠色丁香婷婷综合| 日本va欧美va瓶| 亚洲午夜电影在线观看| 中文字幕精品—区二区四季| 日韩欧美区一区二| 欧美日韩一本到| 91九色最新地址| 不卡一卡二卡三乱码免费网站| 国产做a爰片久久毛片|