register ytdl protocol with file associations
This commit is contained in:
@@ -81,17 +81,19 @@ namespace mpvnet
|
|||||||
if (perceivedType != "unreg")
|
if (perceivedType != "unreg")
|
||||||
{
|
{
|
||||||
RegistryHelp.SetValue(@"HKCU\Software\Microsoft\Windows\CurrentVersion\App Paths\" + ExeFilename, null, ExePath);
|
RegistryHelp.SetValue(@"HKCU\Software\Microsoft\Windows\CurrentVersion\App Paths\" + ExeFilename, null, ExePath);
|
||||||
|
RegistryHelp.SetValue(@"HKCR\ytdl", "URL Protocol", "");
|
||||||
|
RegistryHelp.SetValue(@"HKCR\ytdl\shell\open\command", null, $"\"{ExePath}\" \"%1\"");
|
||||||
RegistryHelp.SetValue(@"HKCR\Applications\" + ExeFilename, "FriendlyAppName", "mpv.net media player");
|
RegistryHelp.SetValue(@"HKCR\Applications\" + ExeFilename, "FriendlyAppName", "mpv.net media player");
|
||||||
RegistryHelp.SetValue($@"HKCR\Applications\{ExeFilename}\shell\open\command", null, $"\"{ExePath}\" \"%1\"");
|
RegistryHelp.SetValue(@"HKCR\Applications\" + ExeFilename + @"\shell\open\command", null, $"\"{ExePath}\" \"%1\"");
|
||||||
RegistryHelp.SetValue(@"HKLM\SOFTWARE\Clients\Media\mpv.net\Capabilities", "ApplicationDescription", "mpv.net media player");
|
|
||||||
RegistryHelp.SetValue(@"HKLM\SOFTWARE\Clients\Media\mpv.net\Capabilities", "ApplicationName", "mpv.net");
|
|
||||||
RegistryHelp.SetValue(@"HKCR\SystemFileAssociations\video\OpenWithList\" + ExeFilename, null, "");
|
RegistryHelp.SetValue(@"HKCR\SystemFileAssociations\video\OpenWithList\" + ExeFilename, null, "");
|
||||||
RegistryHelp.SetValue(@"HKCR\SystemFileAssociations\audio\OpenWithList\" + ExeFilename, null, "");
|
RegistryHelp.SetValue(@"HKCR\SystemFileAssociations\audio\OpenWithList\" + ExeFilename, null, "");
|
||||||
RegistryHelp.SetValue(@"HKLM\SOFTWARE\RegisteredApplications", "mpv.net", @"SOFTWARE\Clients\Media\mpv.net\Capabilities");
|
RegistryHelp.SetValue(@"HKLM\SOFTWARE\RegisteredApplications", "mpv.net", @"SOFTWARE\Clients\Media\mpv.net\Capabilities");
|
||||||
|
RegistryHelp.SetValue(@"HKLM\SOFTWARE\Clients\Media\mpv.net\Capabilities", "ApplicationDescription", "mpv.net media player");
|
||||||
|
RegistryHelp.SetValue(@"HKLM\SOFTWARE\Clients\Media\mpv.net\Capabilities", "ApplicationName", "mpv.net");
|
||||||
|
|
||||||
foreach (string ext in extensions)
|
foreach (string ext in extensions)
|
||||||
{
|
{
|
||||||
RegistryHelp.SetValue($@"HKCR\Applications\{ExeFilename}\SupportedTypes", "." + ext, "");
|
RegistryHelp.SetValue(@"HKCR\Applications\" + ExeFilename + @"\SupportedTypes", "." + ext, "");
|
||||||
RegistryHelp.SetValue(@"HKCR\" + "." + ext, null, ExeFilenameNoExt + "." + ext);
|
RegistryHelp.SetValue(@"HKCR\" + "." + ext, null, ExeFilenameNoExt + "." + ext);
|
||||||
RegistryHelp.SetValue(@"HKCR\" + "." + ext + @"\OpenWithProgIDs", ExeFilenameNoExt + "." + ext, "");
|
RegistryHelp.SetValue(@"HKCR\" + "." + ext + @"\OpenWithProgIDs", ExeFilenameNoExt + "." + ext, "");
|
||||||
RegistryHelp.SetValue(@"HKCR\" + "." + ext, "PerceivedType", perceivedType);
|
RegistryHelp.SetValue(@"HKCR\" + "." + ext, "PerceivedType", perceivedType);
|
||||||
@@ -101,11 +103,13 @@ namespace mpvnet
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
RegistryHelp.RemoveKey(@"HKCR\ytdl");
|
||||||
RegistryHelp.RemoveKey(@"HKCU\Software\Microsoft\Windows\CurrentVersion\App Paths\" + ExeFilename);
|
RegistryHelp.RemoveKey(@"HKCU\Software\Microsoft\Windows\CurrentVersion\App Paths\" + ExeFilename);
|
||||||
RegistryHelp.RemoveKey(@"HKCR\Applications\" + ExeFilename);
|
RegistryHelp.RemoveKey(@"HKCR\Applications\" + ExeFilename);
|
||||||
RegistryHelp.RemoveKey(@"HKLM\SOFTWARE\Clients\Media\mpv.net");
|
RegistryHelp.RemoveKey(@"HKLM\SOFTWARE\Clients\Media\mpv.net");
|
||||||
RegistryHelp.RemoveKey(@"HKCR\SystemFileAssociations\video\OpenWithList\" + ExeFilename);
|
RegistryHelp.RemoveKey(@"HKCR\SystemFileAssociations\video\OpenWithList\" + ExeFilename);
|
||||||
RegistryHelp.RemoveKey(@"HKCR\SystemFileAssociations\audio\OpenWithList\" + ExeFilename);
|
RegistryHelp.RemoveKey(@"HKCR\SystemFileAssociations\audio\OpenWithList\" + ExeFilename);
|
||||||
|
|
||||||
RegistryHelp.RemoveValue(@"HKLM\SOFTWARE\RegisteredApplications", "mpv.net");
|
RegistryHelp.RemoveValue(@"HKLM\SOFTWARE\RegisteredApplications", "mpv.net");
|
||||||
|
|
||||||
foreach (string id in Registry.ClassesRoot.GetSubKeyNames())
|
foreach (string id in Registry.ClassesRoot.GetSubKeyNames())
|
||||||
|
|||||||
@@ -3,29 +3,22 @@ using System;
|
|||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
|
|
||||||
|
using WinForms = System.Windows.Forms;
|
||||||
|
|
||||||
using MsgBoxEx;
|
using MsgBoxEx;
|
||||||
|
|
||||||
public class Msg
|
public class Msg
|
||||||
{
|
{
|
||||||
public static void ShowInfo(object title)
|
public static void ShowInfo(object msg) => Show(msg, MessageBoxImage.Information);
|
||||||
{
|
|
||||||
Show(title, MessageBoxImage.Information);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void ShowError(object title)
|
public static void ShowError(object msg) => Show(msg, MessageBoxImage.Error);
|
||||||
{
|
|
||||||
Show(title, MessageBoxImage.Error);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void ShowWarning(object title)
|
public static void ShowWarning(object msg) => Show(msg, MessageBoxImage.Warning);
|
||||||
{
|
|
||||||
Show(title, MessageBoxImage.Warning);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static MessageBoxResult ShowQuestion(object title,
|
public static MessageBoxResult ShowQuestion(object msg,
|
||||||
MessageBoxButton buttons = MessageBoxButton.OKCancel)
|
MessageBoxButton buttons = MessageBoxButton.OKCancel)
|
||||||
{
|
{
|
||||||
return Show(title, MessageBoxImage.Question, buttons);
|
return Show(msg, MessageBoxImage.Question, buttons);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void ShowException(Exception exception)
|
public static void ShowException(Exception exception)
|
||||||
@@ -34,17 +27,16 @@ public class Msg
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static MessageBoxResult Show(
|
public static MessageBoxResult Show(
|
||||||
object title,
|
object msg,
|
||||||
MessageBoxImage img,
|
MessageBoxImage img,
|
||||||
MessageBoxButton buttons = MessageBoxButton.OK,
|
MessageBoxButton buttons = MessageBoxButton.OK,
|
||||||
string details = null)
|
string details = null)
|
||||||
{
|
{
|
||||||
MessageBoxResult fn()
|
MessageBoxResult fn()
|
||||||
{
|
{
|
||||||
string msg = title?.ToString().TrimEx();
|
|
||||||
MessageBoxEx.DetailsText = details;
|
MessageBoxEx.DetailsText = details;
|
||||||
string windowTitle = System.Windows.Forms.Application.ProductName;
|
return MessageBoxEx.OpenMessageBox((msg ?? "").ToString().Trim(),
|
||||||
return MessageBoxEx.OpenMessageBox(msg, windowTitle, buttons, img);
|
WinForms.Application.ProductName, buttons, img);
|
||||||
}
|
}
|
||||||
|
|
||||||
ApartmentState state = Thread.CurrentThread.GetApartmentState();
|
ApartmentState state = Thread.CurrentThread.GetApartmentState();
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
|
|
||||||
using mpvnet;
|
|
||||||
using System;
|
using System;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
@@ -14,6 +13,8 @@ using System.Windows.Interop;
|
|||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
using System.Windows.Media.Imaging;
|
using System.Windows.Media.Imaging;
|
||||||
|
|
||||||
|
using mpvnet;
|
||||||
|
|
||||||
namespace MsgBoxEx
|
namespace MsgBoxEx
|
||||||
{
|
{
|
||||||
public partial class MessageBoxEx : Window, INotifyPropertyChanged
|
public partial class MessageBoxEx : Window, INotifyPropertyChanged
|
||||||
@@ -377,7 +378,7 @@ namespace MsgBoxEx
|
|||||||
|
|
||||||
if (DelegateObj != null)
|
if (DelegateObj != null)
|
||||||
{
|
{
|
||||||
Style style = (Style)(this.FindResource("ImageOpacityChanger"));
|
Style style = (Style)(FindResource("ImageOpacityChanger"));
|
||||||
|
|
||||||
if (style != null)
|
if (style != null)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user