[已解决]如何隐藏随机文件名的快捷方式?已知目标程序
本帖最后由 killmus 于 2012-2-10 16:00 编辑因为目标程序每次执行时会在电脑桌面上创建以不同参数运行且文件名随机的快捷方式,所以有什么好的办法隐藏这些快捷方式! 很简单吧?
遍历桌面所有的快捷方式, 如果目标符合则删除或'隐藏'该快捷方式不就是了吗? 同意楼上,把桌面你需要的快捷方式名称放到一个ini文件里。遍历桌面所有快捷方式,如果在ini中不存在,就隐藏或者删除。 回复 3# nmgwddj
关键是我不会呀,所以请教代码,谢谢了! 回复 4# killmus
先把桌面所有已经记录下的lnk格式文件写入到配置文件中。格式为
qq.lnk=1
菜单.lnk=1
音乐.lnk=1Local $hSearch = FileFindFirstFile(@DesktopCommonDir & "\*.lnk")
If $hSearch = -1 Then
MsgBox(0, "错误", "没有文件/目录 匹配搜索")
Exit
EndIf
While 1
Local $sFile = FileFindNextFile($hSearch)
If @error Then ExitLoop
$RDini = IniRead('DeskTopLnk.ini', 'lnk', $sFile, 0)
If $RDini = 0 Then FileSetAttrib(@DesktopCommonDir & '\' & $sFile, '+H')
WEnd
FileClose($hSearch)
楼上的同志有些误解了楼主的问题了. 用不到 IniRead...
楼主要隐藏的是不确定名字的快捷方式, 但该快捷方式的目标路径则是已知的!
所以, 在用搜索遍历桌面的快捷方式时, 应该用 FileGetShortcut 获取其目标路径, 如果符合才隐藏.
还要注意的是, Windows'桌面' 一般有2个不同的路径,
一个是当前用户的: @DesktopDir , 一个是所有用户共用的: @DesktopCommonDir. 回复 6# user3000
有道理,代码如何写呀? 回复 6# user3000
的确的确,看来我方法笨拙了,从新写了一段。Local $hSearch = FileFindFirstFile(@DesktopCommonDir & "\*.lnk")
If $hSearch = -1 Then
MsgBox(0, "错误", "没有文件/目录 匹配搜索")
Exit
EndIf
While 1
Local $sFile = FileFindNextFile($hSearch)
If @error Then ExitLoop
$FilePath = FileGetShortcut(@DesktopCommonDir & '\' & $sFile)
If $FilePath = 'c:\windows\explorer.exe' Then FileSetAttrib(@DesktopCommonDir & '\' & $sFile, '+H')
WEnd自行修改目标路径已经桌面路径,我这里用的是alluser的桌面路径。根据LZ的情况修改用户文件夹下的桌面路径 回复 8# nmgwddj
谢谢了!您的代码十分好用{:face (88):} 会出错哟! 我直接不得用....不知道哪里有错...
页:
[1]