簡體   English   中英

從C#上的Windows shell上下文菜單中獲取多個文件(參數)

[英]Taking multiple files (arguments) from Windows shell context menu on C#

我正在編寫一個C#應用程序,它將文件作為參數,我將它添加到shell上下文菜單中,代碼如下所示;

if (((CheckBox)sender).CheckState == CheckState.Checked)
            {
                RegistryKey key = Registry.CurrentUser.OpenSubKey("Software\\Classes\\*\\shell\\" + KEY_NAME + "\\command");

                if (key == null)
                {
                    key = Registry.CurrentUser.CreateSubKey("Software\\Classes\\*\\shell\\" + KEY_NAME + "\\command");
                    key.SetValue("", Application.ExecutablePath + " \"%1\"");
                }
            }
            else if (((CheckBox)sender).CheckState == CheckState.Unchecked)
            {
                RegistryKey key = Registry.CurrentUser.OpenSubKey("Software\\Classes\\*\\shell\\" + KEY_NAME);

                if (key != null)
                {
                    Registry.CurrentUser.DeleteSubKeyTree("Software\\Classes\\*\\shell\\" + KEY_NAME);
                }

它運行良好,但如果我選擇多個文件,則運行多個應用程序實例。 例如,如果我選擇5個文件5應用程序正在打開,我該如何解決這個問題?

檢測應用程序實例是否已在啟動時運行。

如果是, 請將命令行參數發送到正在運行的實例並退出新實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM