清理回收站右键菜单

本程序会清理回收站右键菜单

删除安装WPS之后的那个 找回清空的文件

本程序运行10秒后将自动退出

[file]

程序源代码:

  1. unit man;  
  2.   
  3. interface  
  4.   
  5. uses  
  6.   Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,  
  7.   Vcl.Controls, Vcl.Forms, Vcl.Dialogs, registry, Vcl.ExtCtrls,  
  8.   Vcl.Imaging.pngimage, Vcl.StdCtrls, Vcl.Imaging.jpeg, GetSid;  
  9.   
  10. type  
  11.   TForm1 = class(TForm)  
  12.     Image1: TImage;  
  13.     Image2: TImage;  
  14.     Memo1: TMemo;  
  15.     Timer1: TTimer;  
  16.     procedure FormCreate(Sender: TObject);  
  17.     procedure Image2Click(Sender: TObject);  
  18.     procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;  
  19.       Shift: TShiftState; X, Y: Integer);  
  20.     procedure Timer1Timer(Sender: TObject);  
  21.   private  
  22.     { Private declarations }  
  23.   public  
  24.     { Public declarations }  
  25.   end;  
  26.   
  27. var  
  28.   Form1: TForm1;  
  29.   
  30. implementation  
  31.   
  32. {$R *.dfm}  
  33.   
  34. procedure TForm1.FormCreate(Sender: TObject);  
  35. var  
  36.   reg:TRegistry;  
  37.   sid:string;  
  38.   pa:string;  
  39. begin  
  40.   Memo1.Clear;  
  41.   Memo1.Lines.Add('1.清理WPS安装的回收站右键菜单');  
  42.   Memo1.Lines.Add('2.清理腾讯电脑管家的回收站右键菜单');  
  43.   
  44.   
  45.   reg:=TRegistry.Create;  
  46.   //删除金山的右键回收  
  47.   sid := GetCurrentUserSid;  
  48.   Memo1.Lines.Add('');  
  49.   Memo1.Lines.Add('当前用户SID:' + sid);  
  50.   pa:= '\' + sid + '\Software\Classes\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\shellex\ContextMenuHandlers\datamastershellext';  
  51.   //Memo1.Lines.Add(pa);  
  52.   reg.RootKey:=HKEY_USERS;  
  53.   if not reg.openkey(pa,falsethen  
  54.   try  
  55.   reg.DeleteKey(pa);  
  56.   finally  
  57.   
  58.   end;  
  59.   //删除腾讯的回收站右键  
  60.   pa:= '\SOFTWARE\Classes\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\shellex\ContextMenuHandlers\datamastershellext';  
  61.   reg.RootKey:=HKEY_LOCAL_MACHINE;  
  62.   if not reg.openkey(pa,falsethen  
  63.   try  
  64.   reg.DeleteKey(pa);  
  65.   finally  
  66.   
  67.   end;  
  68.   reg.CloseKey;  
  69.   reg.Free;  
  70.   
  71.   
  72.   //定时退出  
  73.   
  74. end;  
  75.   
  76. procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;  
  77.   Shift: TShiftState; X, Y: Integer);  
  78. begin  
  79.   If Button = mbleft Then begin ReleaseCapture; SendMessage(Form1.Handle,WM_NCLBUTTONDOWN,HTCAPTION,0); end;  
  80. end;  
  81.   
  82. procedure TForm1.Image2Click(Sender: TObject);  
  83. begin  
  84.   Application.Terminate;  
  85. end;  
  86.   
  87. procedure TForm1.Timer1Timer(Sender: TObject);  
  88. begin  
  89.   Application.Terminate;  
  90. end;  
  91.   
  92. end.  

GetCurrentUserSid 参照 http://www.280i.com/tech/4163.html

发表回复

登录... 后才能评论

评论(4)

  • 艾克杨鹏 2017-02-27 20:21

    以后凡是小东西都会公布源代码

  • 艾克杨鹏 2017-02-27 20:22

    代码比较粗糙,强迫症的好友可以提取代码自己编译。发布的EXE文件经过加壳所以缩小了,只有不到1M默认的Release 32位的2M,64位的4M

  • 艾克杨鹏 2017-03-05 07:28

    程序修改为清理当前用户目录,将适用于所有用户。老版本是仅清理280i-封装系统的。

  • 艾克杨鹏 2017-03-15 09:13

    经反馈,部分机器的腾讯电脑管家无法清除,熟悉注册表的朋友可以提供注册表位置,我来将这个也写入注册表