コード例 #1
0
        static void Main()
        {
            HighDPIHandler.EnableHighDPISupport();

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new NewProject());
        }
コード例 #2
0
        static void Main(string[] args)
        {
            HighDPIHandler.EnableHighDPISupport();

            Console.Title = "FindLargestFolder v1.0";

            Console.WriteLine("FindLargestFolder v1.0");

            OpenFileDialog folderBrowser = new OpenFileDialog();

            // Set validate names and check file exists to false otherwise windows will
            // not let you select "Folder Selection."
            folderBrowser.ValidateNames   = false;
            folderBrowser.CheckFileExists = false;
            folderBrowser.CheckPathExists = true;
            // Always default to Folder Selection.
            folderBrowser.FileName = "Folder Selection.";
            if (folderBrowser.ShowDialog() == DialogResult.OK)
            {
                string   folderPath          = Path.GetDirectoryName(folderBrowser.FileName);
                string[] subDirectoryEntries = Directory.GetDirectories(folderPath);
                int      fileIndex           = 1;
                if (subDirectoryEntries.Length == 0)
                {
                    MessageBox.Show("Cannot find any folders in this directory");
                    Application.Exit();
                    Environment.Exit(0);
                }
                Console.WriteLine("Checking your folders...");
                foreach (string subDirectory in subDirectoryEntries)
                {
                    fileNames.Add(subDirectory);
                    fileSizes.Add(DirSize(new DirectoryInfo(subDirectory)));
                    drawTextProgressBar(fileIndex, subDirectoryEntries.Length);
                    TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.Normal);
                    TaskbarManager.Instance.SetProgressValue(fileIndex, subDirectoryEntries.Length);
                    fileIndex++;
                }
                TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.NoProgress);
                Console.WriteLine("\n");
                if (fileNames.Count == fileSizes.Count)
                {
                    for (int i = 0; i < fileNames.Count; i++)
                    {
                        var fileSize = ByteSize.FromBytes(fileSizes[i]);
                        Console.WriteLine(fileNames[i] + " " + fileSize.MegaBytes.ToString() + "MB");
                    }
                }
                Console.WriteLine("\n");
                int index = 0;
                Console.WriteLine("Scanning your folders...");
                for (int i = 0; i < fileSizes.Count; i++)
                {
                    if (fileSizes.Max() == fileSizes[i])
                    {
                        index = i;
                    }
                    drawTextProgressBar(i + 1, subDirectoryEntries.Length);
                    TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.Normal);
                    TaskbarManager.Instance.SetProgressValue(i + 1, subDirectoryEntries.Length);
                }
                TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.NoProgress);
                Console.WriteLine("\n");
                Console.WriteLine("The biggest folder in the directory is:");
                Console.WriteLine(fileNames[index] + " " + ByteSize.FromBytes(fileSizes[index]).MegaBytes + "MB");

                Console.WriteLine("restart - restart the application");
                Console.WriteLine("navigate - open the folder in explorer.exe");
                Console.Write("Insert Command: ");

                string command = Console.ReadLine();

                switch (command)
                {
                case "restart":
                    Application.Restart();
                    break;

                case "navigate":
                    // opens the folder in explorer
                    Process.Start(fileNames[index]);
                    break;

                default:
                    MessageBox.Show("Unknown Command");
                    Application.Exit();
                    Environment.Exit(0);
                    break;
                }
            }
            else
            {
                Application.Exit();
                Environment.Exit(0);
            }
        }