C#如何使应用程序即使在删除应用程序文件后仍继续运行

Pleasega

是否有可能做到这一点,即使在删除应用程序文件后,该应用程序一旦执行,仍将继续运行直至结束?

我有一个可移动的控制台应用程序,它在可移动驱动器上运行,并且即使驱动器被意外删除,也希望它继续运行,这可能吗?

我看到了http://www.codeproject.com/Articles/13897/Load-an-EXE-File-and-Run-It-from-Memory,但它似乎不起作用。

Pleasega

ElmoDev001的评论使我获得了想要的结果。

有错误,但是这里是基本思路:

Program.cs(主类)

class Program    {
    static void Main(string[] args)
    {
        String Temp = System.IO.Path.GetTempPath();
        String tmpDir = Temp + @"tmp\";

        String fileName = String.Concat(Process.GetCurrentProcess().ProcessName, ".exe");
        String filePath = Path.Combine(Extension.AssemblyDirectory, fileName);
        String tempFilePath = Path.Combine(tmpDir, fileName);

        if (!Directory.Exists(tmpDir)) { Directory.CreateDirectory(tmpDir); }

        if (!(string.Equals(filePath, tempFilePath))) // if the application is not running at temp folder
        {
            if (!(File.Exists(tempFilePath))) // if the application does not exist at temp folder
            {
                ext.initFile();
            }
            else if (File.Exists(tempFilePath)) // if the application already exists at temp folder
            {
                File.Delete(tempFilePath);
                ext.initFile();
            }
        }
        else if (string.Equals(filePath, tempFilePath)) // if the application is running at temp folder
        {
                //main code
        }
    }
}

Extension.cs

class Extension
{

    String Temp = System.IO.Path.GetTempPath();
    String tmpDir = Temp + @"tmp\";

    String fileName = String.Concat(Process.GetCurrentProcess().ProcessName, ".exe");
    String filePath = Path.Combine(Extension.AssemblyDirectory, fileName);
    String tempFilePath = Path.Combine(tmpDir, fileName);

    public static string AssemblyDirectory
    {
        get
        {
            string codeBase = Assembly.GetExecutingAssembly().CodeBase;
            UriBuilder uri = new UriBuilder(codeBase);
            string path = Uri.UnescapeDataString(uri.Path);
            return Path.GetDirectoryName(path);
        }
    }

    public static void initFile()
    {
            File.Copy(filePath, tempFilePath);
            Process.Start(tempFilePath);
            System.Environment.Exit(0);
    }
 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从应用程序视图中删除空的应用程序文件夹

来自分类Dev

Phonegap 3.5.0 Cordova构建应用程序后访问应用程序文件夹

来自分类Dev

应用程序逻辑删除后如何运行秒表?

来自分类Dev

Android应用程序文件路径

来自分类Dev

如何下载应用程序文件夹内的文件?[打包后]

来自分类Dev

迅速。关闭应用程序后,使NSTimer继续运行

来自分类Dev

如何指向应用程序文件夹?

来自分类Dev

斯威夫特:如何确定应用程序文件夹?

来自分类Dev

如何调试ios应用程序文件(.ipa)?

来自分类Dev

如何搜索Viber应用程序文件

来自分类Dev

斯威夫特:如何确定应用程序文件夹?

来自分类Dev

ASP C#中来自fileUpload的应用程序文件夹中的SaveAs()文件

来自分类Dev

Java应用程序用户如何修改/更新Web上的应用程序文件?

来自分类Dev

如何在GNOME应用程序菜单中创建应用程序文件夹?

来自分类Dev

如何在GNOME应用程序菜单中创建应用程序文件夹?

来自分类Dev

如何删除其他应用程序文件?(根电话)

来自分类Dev

创建和使用c#应用程序文件夹

来自分类Dev

如何从C#中的控制台应用程序运行Web应用程序

来自分类Dev

即使删除后仍显示大量的vlc应用程序

来自分类Dev

C#如何更快地运行应用程序

来自分类Dev

C#如何更快地运行应用程序

来自分类Dev

应用扩展程序如何访问包含应用程序文档/文件夹中的文件

来自分类Dev

如何在C#中删除正在运行的应用程序?

来自分类Dev

C#如何继续搜索列表中的项目而不是仅在一次搜索后关闭的应用程序

来自分类Dev

新应用启动后,fflapp是否清除文件,写入应用程序文档目录的数据

来自分类Dev

更新程序文件中的应用程序

来自分类Dev

如何以编程方式删除已启用沙盒的应用程序中应用程序文件夹内的文件

来自分类Dev

通过 BAT 文件运行应用程序时,如何更新 C# 类中的参数?

来自分类Dev

即使关闭应用程序,如何保持IntentService运行?

Related 相关文章

  1. 1

    如何从应用程序视图中删除空的应用程序文件夹

  2. 2

    Phonegap 3.5.0 Cordova构建应用程序后访问应用程序文件夹

  3. 3

    应用程序逻辑删除后如何运行秒表?

  4. 4

    Android应用程序文件路径

  5. 5

    如何下载应用程序文件夹内的文件?[打包后]

  6. 6

    迅速。关闭应用程序后,使NSTimer继续运行

  7. 7

    如何指向应用程序文件夹?

  8. 8

    斯威夫特:如何确定应用程序文件夹?

  9. 9

    如何调试ios应用程序文件(.ipa)?

  10. 10

    如何搜索Viber应用程序文件

  11. 11

    斯威夫特:如何确定应用程序文件夹?

  12. 12

    ASP C#中来自fileUpload的应用程序文件夹中的SaveAs()文件

  13. 13

    Java应用程序用户如何修改/更新Web上的应用程序文件?

  14. 14

    如何在GNOME应用程序菜单中创建应用程序文件夹?

  15. 15

    如何在GNOME应用程序菜单中创建应用程序文件夹?

  16. 16

    如何删除其他应用程序文件?(根电话)

  17. 17

    创建和使用c#应用程序文件夹

  18. 18

    如何从C#中的控制台应用程序运行Web应用程序

  19. 19

    即使删除后仍显示大量的vlc应用程序

  20. 20

    C#如何更快地运行应用程序

  21. 21

    C#如何更快地运行应用程序

  22. 22

    应用扩展程序如何访问包含应用程序文档/文件夹中的文件

  23. 23

    如何在C#中删除正在运行的应用程序?

  24. 24

    C#如何继续搜索列表中的项目而不是仅在一次搜索后关闭的应用程序

  25. 25

    新应用启动后,fflapp是否清除文件,写入应用程序文档目录的数据

  26. 26

    更新程序文件中的应用程序

  27. 27

    如何以编程方式删除已启用沙盒的应用程序中应用程序文件夹内的文件

  28. 28

    通过 BAT 文件运行应用程序时,如何更新 C# 类中的参数?

  29. 29

    即使关闭应用程序,如何保持IntentService运行?

热门标签

归档