打印本文 打印本文 关闭窗口 关闭窗口
利用未公开函数实现Shell操作监视
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1764  更新时间:2009/4/23 18:26:02  文章录入:mintao  责任编辑:mintao
ect; var Action: TCloseAction);
begin
  file://在程序退出的同时删除监视
  if Boolean(m_pidlDesktop) then
    SHNotify_Unregister;
end;

procedure TForm1.Button1Click(Sender: TObject); file://Button1的Click消息
begin
  m_hSHNotify:=0;
  if SHNotify_Register(Form1.Handle) then begin file://注册Shell监视
    ShowMessage(''''Shell监视程序成功注册'''');
    Button1.Enabled := False;
  end
  else
    ShowMessage(''''Shell监视程序注册失败'''');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Button1.Caption := ''''打开监视'''';
end;

end.

    运行程序,点击“打开监视”按钮,如果出现一个显示“Shell监视程序成功注册”的对话框,说明Form1已经加入到系统操作监视链中了,
你可以试着在资源管理器中建立、删除文件夹,移动文件等操作,你可以发现这些操作都被纪录下来并显示在文本框中。
    在上面的程序中多次使用到了一个PItemIDList的结构,这个数据结构指定Windows下得一个“项目”,在Windows下资源实现统一管理
一个“项目”可以是一个文件或者一个文件夹,也可以是一个打印机等资源。另外一些API函数也涉及到了Shell(Windows外壳)操作,各位
读者可以参考相应的参考资料。
   

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口