找回密码
 加入
搜索
查看: 4122|回复: 10

[系统综合] [已解决]如何隐藏随机文件名的快捷方式?已知目标程序

  [复制链接]
发表于 2012-2-6 17:58:01 | 显示全部楼层 |阅读模式
本帖最后由 killmus 于 2012-2-10 16:00 编辑

因为目标程序每次执行时会在电脑桌面上创建以不同参数运行且文件名随机的快捷方式,所以有什么好的办法隐藏这些快捷方式!
发表于 2012-2-6 22:54:06 | 显示全部楼层
很简单吧?
遍历桌面所有的快捷方式, 如果目标符合则删除或'隐藏'该快捷方式不就是了吗?
发表于 2012-2-7 00:57:43 | 显示全部楼层
同意楼上,把桌面你需要的快捷方式名称放到一个ini文件里。遍历桌面所有快捷方式,如果在ini中不存在,就隐藏或者删除。
 楼主| 发表于 2012-2-7 11:51:51 | 显示全部楼层
回复 3# nmgwddj


    关键是我不会呀,所以请教代码,谢谢了!
发表于 2012-2-7 16:03:01 | 显示全部楼层
回复 4# killmus

先把桌面所有已经记录下的lnk格式文件写入到配置文件中。格式为
[lnk]
qq.lnk=1
菜单.lnk=1
音乐.lnk=1
Local $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)
发表于 2012-2-8 02:59:24 | 显示全部楼层
楼上的同志有些误解了楼主的问题了. 用不到 IniRead...
楼主要隐藏的是不确定名字的快捷方式, 但该快捷方式的目标路径则是已知的!
所以, 在用搜索遍历桌面的快捷方式时, 应该用 FileGetShortcut 获取其目标路径, 如果符合才隐藏.
还要注意的是, Windows'桌面' 一般有2个不同的路径,
一个是当前用户的: @DesktopDir , 一个是所有用户共用的: @DesktopCommonDir.
 楼主| 发表于 2012-2-8 10:06:58 | 显示全部楼层
回复 6# user3000


有道理,代码如何写呀?
发表于 2012-2-8 11:09:36 | 显示全部楼层
回复 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[0] = 'c:\windows\explorer.exe' Then FileSetAttrib(@DesktopCommonDir & '\' & $sFile, '+H')
WEnd
自行修改目标路径已经桌面路径,我这里用的是alluser的桌面路径。根据LZ的情况修改用户文件夹下的桌面路径
 楼主| 发表于 2012-2-10 15:59:34 | 显示全部楼层
回复 8# nmgwddj


    谢谢了!您的代码十分好用
发表于 2012-5-13 16:44:16 | 显示全部楼层
会出错哟!
发表于 2012-6-14 11:28:57 | 显示全部楼层
我直接不得用....不知道哪里有错...
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-24 01:52 , Processed in 0.112443 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表