在好例子网,分享、交流、成长!
您当前所在位置:首页C# 开发实例C#语言基础 → 模拟Windows搜索工具

模拟Windows搜索工具

C#语言基础

下载此实例
  • 开发语言:C#
  • 实例大小:0.17M
  • 下载次数:10
  • 浏览次数:72
  • 发布时间:2021-04-11
  • 实例类别:C#语言基础
  • 发 布 人:我最牛来也
  • 所需积分:2
 相关标签: windows window ws 搜索 工具

实例介绍

【实例简介】

【实例截图】

from clipboard

【核心代码】

   public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void label3_Click(object sender, EventArgs e)
        {

        }
        string FileName = "";
        string Content = "";
        private void button1_Click(object sender, EventArgs e)
        {
            listView1.Items.Clear();
         string[] Disk= Directory.GetLogicalDrives();
         string path = textBox3.Text;
         FileName = "";
         Content = "";
         if (textBox1.Text != "")
         {
             FileName = textBox1.Text;
         }
         if (textBox2.Text != "")
         {
             Content = textBox2.Text;
         }
         if (textBox1.Text == "" && textBox2.Text == "")
         {
             return;
         }
         if (path != "")
         {
             Disk = Directory.GetDirectories(path "\\");
         }
         DirList.Clear();
         foreach (string ddd in Disk)
         {
             GetAllDir(ddd);
         }
        }
        List<string> DirList = new List<string>();
        private int DirInt = 0;
        private void GetAllDir(string b)
        {
            try
            {
                string[] c = Directory.GetDirectories(b);
                //////
                
                foreach (string fi in Directory.GetFiles(b))
                {
                    if (Directory.GetDirectoryRoot(b) != b) { break;     }
                    FileInfo f = new FileInfo(fi);
                    if ((f.Name f.Extension).Contains(FileName) && FileName != "")
                    {
                        ListViewItem li = new ListViewItem();
                        li.Text = f.Name;
                        li.SubItems.Add(b);
                        li.SubItems.Add(Directory.GetLastWriteTime(f.FullName).ToString("yyyy-MM-dd HH:mm:ss"));
                        li.SubItems.Add((f.Length / 1024).ToString() "kb");
                        listView1.Items.Add(li);
                    }
                    if (f.Extension.ToLower() == ".cs" || f.Extension.ToLower() == ".txt" || f.Extension.ToLower() == ".ini" || f.Extension.ToLower() == ".config")
                    {
                        if (Content !="" && File.ReadAllText(f.FullName).ToLower().Contains(Content.ToLower()))
                        {
                            ListViewItem li = new ListViewItem();
                            li.Text = f.Name;
                            li.SubItems.Add(b);
                            li.SubItems.Add(Directory.GetLastWriteTime(f.FullName).ToString("yyyy-MM-dd HH:mm:ss"));
                            li.SubItems.Add((f.Length / 1024).ToString() "kb");
                            listView1.Items.Add(li);
                        }
                    }
                }
                //////
                foreach (string d in c)
                { 
                    DirList.Add(d);
                    string e = Directory.GetParent(d).FullName "\\";
                    string x = d.Replace(e, "");
                    if (x.Contains(FileName) && FileName != "")
                    {
                        ListViewItem li = new ListViewItem();
                        li.Text = x;
                        li.SubItems.Add(d);
                        li.SubItems.Add(Directory.GetLastWriteTime(d).ToString("yyyy-MM-dd HH:mm:ss"));
                        li.SubItems.Add("");
                        listView1.Items.Add(li);
                    }
                    try
                    {
                        foreach (string fi in Directory.GetFiles(d))
                        {
                            FileInfo f = new FileInfo(fi);
                            if ((f.Name f.Extension).Contains(FileName) &&FileName !="")
                            {
                                ListViewItem li = new ListViewItem();
                                li.Text = f.Name;
                                li.SubItems.Add(d);
                                li.SubItems.Add(Directory.GetLastWriteTime(f.FullName).ToString("yyyy-MM-dd HH:mm:ss"));
                                li.SubItems.Add((f.Length/1024).ToString() "kb");
                                listView1.Items.Add(li);
                            }
                            if (f.Extension.ToLower() == ".cs" || f.Extension.ToLower() == ".txt" || f.Extension.ToLower() == ".ini" || f.Extension.ToLower() == ".config")
                            {
                                if ( Content !="" && File.ReadAllText(f.FullName).ToLower().Contains(Content.ToLower()))
                                {
                                    ListViewItem li = new ListViewItem();
                                    li.Text = f.Name;
                                    li.SubItems.Add(d);
                                    li.SubItems.Add(Directory.GetLastWriteTime(f.FullName).ToString("yyyy-MM-dd HH:mm:ss"));
                                    li.SubItems.Add((f.Length / 1024).ToString() "kb");
                                    listView1.Items.Add(li);   
                                }
                            }
                        }
                    }
                    catch
                    { }
                    label4.Text =  DirList.Count.ToString();
                    Application.DoEvents();
                    GetAllDir(d);
                    
                }
            }
            catch
            { }
        }

        private void listView1_MouseClick(object sender, MouseEventArgs e)
        {
            int i = listView1.SelectedIndices[0];
            if (e.Button == System.Windows.Forms.MouseButtons.Right)
            {
               string b= listView1.Items[i].SubItems[1].Text.ToString();
               RunCmd2("explorer.exe", b);
            }
        }
        static bool RunCmd2(string cmdExe, string cmdStr)
        {
            bool result = false;
            try
            {
                using (Process myPro = new Process())
                {
                    myPro.StartInfo.FileName = "cmd.exe";
                    myPro.StartInfo.UseShellExecute = false;
                    myPro.StartInfo.RedirectStandardInput = true;
                    myPro.StartInfo.RedirectStandardOutput = true;
                    myPro.StartInfo.RedirectStandardError = true;
                    myPro.StartInfo.CreateNoWindow = true;
                    myPro.Start();
                    //如果调用程序路径中有空格时,cmd命令执行失败,可以用双引号括起来 ,在这里两个引号表示一个引号(转义)
                    string str = string.Format(@"""{0}"" {1} {2}", cmdExe, cmdStr, "&exit");

                    myPro.StandardInput.WriteLine(str);
                    myPro.StandardInput.AutoFlush = true;
                    myPro.WaitForExit();

                    result = true;
                }
            }
            catch
            {

            }
            return result;
        }
    }

实例下载地址

模拟Windows搜索工具

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
;
报警