aboutsummaryrefslogtreecommitdiff
path: root/TimeHACK.Engine/FileAssociation.cs
diff options
context:
space:
mode:
Diffstat (limited to 'TimeHACK.Engine/FileAssociation.cs')
-rw-r--r--TimeHACK.Engine/FileAssociation.cs50
1 files changed, 0 insertions, 50 deletions
diff --git a/TimeHACK.Engine/FileAssociation.cs b/TimeHACK.Engine/FileAssociation.cs
deleted file mode 100644
index 25fe895..0000000
--- a/TimeHACK.Engine/FileAssociation.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Runtime.InteropServices;
-using Microsoft.Win32;
-
-namespace TimeHACK.Engine
-{
- public class FileAssociation
- {
- // Associate file extension with progID, description, icon and application
- public static void Associate(string extension,
- string progID, string description, string icon, string application)
- {
- Registry.ClassesRoot.CreateSubKey(extension).SetValue("", progID);
- if (progID != null && progID.Length > 0)
- using (RegistryKey key = Registry.ClassesRoot.CreateSubKey(progID))
- {
- if (description != null)
- key.SetValue("", description);
- if (icon != null)
- key.CreateSubKey("DefaultIcon").SetValue("", ToShortPathName(icon));
- if (application != null)
- key.CreateSubKey(@"Shell\Open\Command").SetValue("",
- ToShortPathName(application) + " \"%1\"");
- }
- }
-
- // Return true if extension already associated in registry
- public static bool IsAssociated(string extension)
- {
- return (Registry.ClassesRoot.OpenSubKey(extension, false) != null);
- }
-
- [DllImport("Kernel32.dll")]
- private static extern uint GetShortPathName(string lpszLongPath,
- [Out] StringBuilder lpszShortPath, uint cchBuffer);
-
- // Return short path format of a file name
- private static string ToShortPathName(string longName)
- {
- StringBuilder s = new StringBuilder(1000);
- uint iSize = (uint)s.Capacity;
- uint iRet = GetShortPathName(longName, s, iSize);
- return s.ToString();
- }
- }
-}