如何检查应用程序是否是从C#中的CD/DVD启动的?

如何检查应用程序是否是从C#中的CD/DVD启动的?,c#,C#,如何检查应用程序是否是从C#中的CD/DVD启动的?您需要检查可执行路径并查看它是否在CD/DVD驱动器上。您可以使用以下命令获取可执行路径: string path = Application.ExecutablePath; 您需要检查可执行路径,看看它是否在CD/DVD驱动器上。您可以使用以下命令获取可执行路径: string path = Application.ExecutablePath; 使用Application.StartupPath属性获取启动exe的路径。 然后使用新的D

如何检查应用程序是否是从C#中的CD/DVD启动的?

您需要检查可执行路径并查看它是否在CD/DVD驱动器上。您可以使用以下命令获取可执行路径:

string path = Application.ExecutablePath;

您需要检查可执行路径,看看它是否在CD/DVD驱动器上。您可以使用以下命令获取可执行路径:

string path = Application.ExecutablePath;

使用Application.StartupPath属性获取启动exe的路径。
然后使用新的DriveInfo(driveletter\u from\u path)。DriveType确定它是CD还是硬盘。

使用Application.StartupPath属性获取exe的启动路径。
然后使用新的DriveInfo(driveletter\u from\u path)。DriveType确定它是CD还是硬盘。

您可以执行以下操作:

        FileInfo file = new FileInfo(Process.GetCurrentProcess().MainModule.FileName);
        DriveInfo drive = new DriveInfo(file.Directory.Root.ToString());
        switch (drive.DriveType)
        {
            case DriveType.CDRom:
                MessageBox.Show("Started from CD/DVD");
                break;
            case DriveType.Network:
                MessageBox.Show("Started from network");
                break;
            case DriveType.Removable:
                MessageBox.Show("Started from removable drive");
                break;
            default:
                break;
        }

你可以这样做:

        FileInfo file = new FileInfo(Process.GetCurrentProcess().MainModule.FileName);
        DriveInfo drive = new DriveInfo(file.Directory.Root.ToString());
        switch (drive.DriveType)
        {
            case DriveType.CDRom:
                MessageBox.Show("Started from CD/DVD");
                break;
            case DriveType.Network:
                MessageBox.Show("Started from network");
                break;
            case DriveType.Removable:
                MessageBox.Show("Started from removable drive");
                break;
            default:
                break;
        }

扩展codemanix的答案:

string location = Assembly.GetExecutingAssembly().Location;
DriveInfo info = new DriveInfo(Path.GetPathRoot(location));
if (info.DriveType == DriveType.CDRom)
{
  Console.WriteLine("Started from CD-ROM");
}

扩展codemanix的答案:

string location = Assembly.GetExecutingAssembly().Location;
DriveInfo info = new DriveInfo(Path.GetPathRoot(location));
if (info.DriveType == DriveType.CDRom)
{
  Console.WriteLine("Started from CD-ROM");
}

我不完全确定你为什么要这么做,但为了以防万一,请记住MS-DOS中的古老(古老)版本


请记住,使用Application.ExecutablePath和DriveInfo是可以伪造的…

我不完全清楚您为什么要这么做,但为了以防万一,请记住MS-DOS中的旧版本(古老版本)


请记住,使用Application.ExecutablePath和DriveInfo是可以伪造的…

您可能需要的是可执行路径,而不是启动路径(可以是任何东西,无论程序在哪里)。DriveInfo类的详细信息。您可能需要的是可执行路径,而不是启动路径(它可以是任何东西,无论程序在哪里)。你怎么知道路径是否在CD/DVD驱动器上?你怎么知道路径是否在CD/DVD驱动器上?我很好奇你为什么想知道?此外,您还应该了解守护程序工具之类的东西,它们可以像安装驱动器一样安装CD或DVD映像。我不知道CD/DVD驱动器守护进程工具看起来有多像。我很好奇你为什么想知道?此外,您还应该了解守护程序工具之类的东西,它们可以像安装驱动器一样安装CD或DVD映像。我不知道有多像CD/DVD驱动器守护进程工具。