好文档 - 专业文书写作范文服务资料分享网站

DELPHI编程清除Windows Media Player的播放记录-文档资料

天下 分享 时间: 加入收藏 我要投稿 点赞

DELPHI编程清除Windows Media Player的播放记录

1 引言

Windows Media Player是一款流行的媒体播放器,为了使

它更容易为您找到经常播放的内容,Windows媒体播放器的“文件”菜单保存了最近访问的文件和网址列表。它可能会严重危及您的隐私,任何人都可以看到你看过什么电影,听什么歌等。那么如何将它们清除呢?一般的方法是通过操作注册表来完成。对于一般用户来说,操作注册表不但麻烦,而且还容易出错。现在已有很多程序可以清除,比如360安全卫士等。本文介绍利用DELPHI7编程,来清除Windows Media Player的播放记录。 2 基本原理

图1 注册表中保存的Windows Media Player 的播放记录 其中的file1-file7即为注册表中保存的Windows Media Player的播放记录信息,只要删除相应的键即可清除相应的播放记录。

Delphi提供了TRegistry类,可以对Windows的注册表进行相关操作[2,3]。 3 界面设计

在默认窗体Form1上添加如下组件:一个checklistbox组件,三个speedbutton组件,一个EDIT组件,设计完成后运行的界面如图2所示。

图2 运行界面 4 程序源代码

由于要操作注册表,因此要特别注意在USES单元中引用Registry。主要功能代码如下:

//程序启动时将播放记录加到列表中

procedure TForm1.FormCreate(Sender: TObject); var

i:integer;

myreg:tregistry;//引用注册表类 regkeys:tstringlist; value:string; begin

myreg:=tregistry.Create ;//创建注册表对象 myreg.RootKey :=hkey_current_user;

if myreg.OpenKey('software\microsoft\MediaPlayer\Player\RecentFileList',false) then //打开注册表主键 begin

regkeys:=tstringlist.Create ;

myreg.GetValueNames(regkeys);//获取键名 for i:=0 to regkeys.Count -1 do

if (myreg. GetDataType(regkeys. Strings[i])

=rdstring) or (myreg. GetDataType(regkeys. Strings[i])=rdexpandstring) then begin

value:=myreg.ReadString (regkeys.Strings[i]);//循环读取注册表键值,并将其添加到列表框中 checklistbox1.Items.Add

(regkeys.Strings[i]+'='+value); end; end; end;

//删除列表中选中的条目

procedure TForm1.SpeedButton1Click(Sender: TObject); var

i:integer; begin

for i:=checkListBox1.Items.Count-1 downTo 0 do begin

if checklistbox1.Checked[i] then checklistbox1.Items.Delete(i); checklistbox1.Refresh ;

SpeedButton3Click(Sender)//删除注册表中相关项

end; end; //全选操作

procedure TForm1.SpeedButton2Click(Sender: TObject); var

i:integer; begin

for i:=0 to checklistbox1.Count -1 do checklistbox1.Checked[i]:=true; end; end;

//将改动保存到注册表中

procedure TForm1.SpeedButton3Click(Sender:TObject); var

myreg:tregistry; k:integer; n:integer; begin

myreg:=tregistry.Create ;

myreg.RootKey := hkey_current_user;

begin if myreg.OpenKey('software\microsoft\mediaplayer\player',false) then begin

myreg.DeleteKey('recentfilelist');//删除主键 myreg.CreateKey('recentfilelist');//创建主键 myreg.CloseKey ; end;

if myreg.OpenKey('software\microsoft\mediaplayer\player\recentfilelist',false) then for k:=0 to checklistbox1.Count -1 do begin

n:=pos('=',checklistbox1.Items[k]); myreg.WriteString('file'+inttostr(k),copy(checklistbox1.Items[k],n+1,length(checklistbox1.Items[k])-n )); end;

myreg.CloseKey ; myreg.Free ; end;

//在EDIT1中显示选中的项目

procedure TForm1.CheckListBox1Click(Sender: TObject);

var

k,n:integer; begin

k:=checklistbox1.ItemIndex ;

n:=pos('=',checklistbox1.Items[k]);

edit1.Text :=copy(checklistbox1.Items[k],n+1,length(checklistbox1.Items[k])-n ); end; end. 5 结语

本文介绍了基于DELPHI编程,通过修改WINDOWS注册表,实现清除Windows Media Player的播放列表。以上程序稍加修改,即可实现诸如调整IE地址栏中的网址、清除realplayer的播放记录等功能。本程序在DELPHI7.0,WINDOWS XP中运行通过。

DELPHI编程清除Windows Media Player的播放记录-文档资料

DELPHI编程清除WindowsMediaPlayer的播放记录1引言WindowsMediaPlayer是一款流行的媒体播放器,为了使它更容易为您找到经常播放的内容,Windows媒体播放器的“文件”菜单保存了最近访问的文件和网址列表。它可能会严重危及您的隐私,任何人都可以看到你看过什么电影,听什么歌等。那么
推荐度:
点击下载文档文档为doc格式
811zl3z9j47g2499ip734mu7526k9200fr7
领取福利

微信扫码领取福利

微信扫码分享