Heim > Backend-Entwicklung > C#.Net-Tutorial > C# Verknüpfung erstellen/Verknüpfungsziel abrufen

C# Verknüpfung erstellen/Verknüpfungsziel abrufen

大家讲道理
Freigeben: 2016-11-10 14:49:41
Original
1975 Leute haben es durchsucht

Verknüpfungen werden unter Win32 häufig verwendet. Nach der Installation einer bestimmten Software werden beispielsweise einige Verknüpfungen

in einem bestimmten Verzeichnis erstellt, sodass ich keine verwalteten Klassen in .NET Shortcuts gefunden habe operiert werden, dann

using System;  
using System.IO;  
using System.Runtime.InteropServices;  
class Program  
{  
    static void Main(string[] args)  
    {  
        CreateShortCut( // 创建快捷方式  
                @"C:\Users\windo\Desktop\ican.lnk",  
                @"%HOMEDRIVE%/Program Files\Internet Explorer\IEXPLORE.EXE",  
               
               
               AppDomain.CurrentDomain.BaseDirectory,  
               @"%HOMEDRIVE%/Program Files\Internet Explorer\IEXPLORE.EXE, 0",  
               "CTRL+ALT+Z" 
            );  
   
    }  
   
    public static readonly Guid CLSID_WshShell = new Guid("72C24DD5-D70A-438B-8A42-98424B88AFB8");  
    public static string GetShortCutTarget(string lnk) // 取快捷方式目标  
    {  
        if (lnk != null && File.Exists(lnk))  
        {  
            dynamic objWshShell = null, objShortcut = null;  
            try 
            {  
                objWshShell = Activator.CreateInstance(Type.GetTypeFromCLSID(CLSID_WshShell));  
                objShortcut = objWshShell.CreateShortcut(lnk);  
                return objShortcut.TargetPath;  
            }  
            finally 
            {  
                Marshal.ReleaseComObject(objShortcut);  
                Marshal.ReleaseComObject(objWshShell);  
            }  
        }  
        return string.Empty;  
    }  
   
    public static bool CreateShortCut(string lnkFileName,  
            string targetPath,  
            string arguments,  
            string remark,  
            string workingDirectory,  
            string iconLocation,  
            string hotKey  
        )  
    {  
        if (lnkFileName != null && lnkFileName.Length > 0)  
        {  
            dynamic objWshShell = null, objShortcut = null;  
            try 
            {  
                objWshShell = Activator.CreateInstance(Type.GetTypeFromCLSID(CLSID_WshShell));  
                objShortcut = objWshShell.CreateShortcut(lnkFileName);  
   
                objShortcut.WindowStyle = 1;  
   
                objShortcut.Hotkey = hotKey; // 热键  
                objShortcut.TargetPath = targetPath; // 目标文件  
                objShortcut.Arguments = arguments; // 参数  
                objShortcut.Description = remark; // 备注  
                objShortcut.WorkingDirectory = workingDirectory; // 起始位置  
                objShortcut.IconLocation = iconLocation; // 图标位置  
   
                objShortcut.Save();  
   
                return true;  
            }  
            finally 
            {  
                Marshal.ReleaseComObject(objShortcut);  
                Marshal.ReleaseComObject(objWshShell);  
            }  
        }  
        return false;  
    }  
}
Nach dem Login kopieren


Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage