黑马程序员技术交流社区

标题: 关于用程序隐藏桌面图标 [打印本页]

作者: 林枢    时间: 2011-7-22 15:27
标题: 关于用程序隐藏桌面图标
我这样只能把大部分隐藏,但是我的电脑和网上邻居以及IE还是没有隐藏掉
谁有办法
import java.io.File;
import java.io.IOException;

import javax.swing.filechooser.FileSystemView;

public class HiddenIcon {
        public static void main(String[] args) {
                FileSystemView fsv = FileSystemView.getFileSystemView();
                File fileDir = fsv.getHomeDirectory();
                File[] files = fileDir.listFiles();
                for (int i = 0; i < files.length; i++) {
                        String sets = "attrib -H \"" + files.getAbsolutePath() + "\"";
                        try {
                                Runtime.getRuntime().exec(sets);
                        } catch (IOException e) {
                                e.printStackTrace();
                        }
                }
        }
}
作者: 匿名    时间: 2011-7-22 16:33
顺便说一句,贴代码就贴正确的代码,不要搞有错的代码害人
作者: 匿名    时间: 2011-7-22 16:36
程序应该是这样吧
import java.io.File;
import java.io.IOException;

import javax.swing.filechooser.FileSystemView;

public class HiddenIcon {
        public static void main(String[] args) {
                FileSystemView fsv = FileSystemView.getFileSystemView();
                File fileDir = fsv.getHomeDirectory();
                File[] files = fileDir.listFiles();
                for (int i = 0; i < files.length; i++) {
                        String sets = "attrib +H \"" + files[i].getAbsolutePath() + "\"";
                        try {
                                Runtime.getRuntime().exec(sets);
                        } catch (IOException e) {
                                e.printStackTrace();
                        }
                }
        }
}
作者: 匿名    时间: 2011-7-22 16:36
[code]import java.io.File;
import java.io.IOException;

import javax.swing.filechooser.FileSystemView;

public class HiddenIcon {
        public static void main(String[] args) {
                FileSystemView fsv = FileSystemView.getFileSystemView();
                File fileDir = fsv.getHomeDirectory();
                File[] files = fileDir.listFiles();
                for (int i = 0; i < files.length; i++) {
                        String sets = "attrib -H \"" + files[i].getAbsolutePath() + "\"";
                        try {
                                Runtime.getRuntime().exec(sets);
                        } catch (IOException e) {
                                e.printStackTrace();
                        }
                }
        }
} [/code]
作者: 匿名    时间: 2011-7-22 16:46
抱歉 那个
  String sets = "attrib -H \"" + files.getAbsolutePath() + "\"";
应该是 "attrib +H" 的 我忘记改回来了
作者: 匿名    时间: 2011-7-22 16:55
标题: 回复 沙发 的帖子
:lol  不小心忘了改回来
作者: 匿名    时间: 2011-7-22 16:57
标题: 回复 藤椅 的帖子
对,我写的那个是清除隐藏属性
作者: 匿名    时间: 2011-7-22 23:24
测试了一下 File fileDir = fsv.getHomeDirectory(); 得到的文件是当前用户的桌面文件,其他没有隐藏的桌面图标比如我的电脑,回收站等公用图标不存放在当前用户的桌面,所以无法隐藏,你需要取得他们所在文件目录,然后再调用属性隐藏就可以了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2