मैं प्रोग्रामेटिक रूप से निर्देशिका में शॉर्टकट बनाने की कोशिश कर रहा हूं। मुझे कई उदाहरण मिल गए हैं, लेकिन कोई भी वास्तविक रूप से काम नहीं कर रहा है।सी # प्रोग्रामेटिक रूप से निर्देशिका में शॉर्टकट बनाना हमेशा काम नहीं करता
मैं निरीक्षण उत्पादित शॉर्टकट के गुणों में तीन अलग-अलग परिणाम:
फ़ाइल का शॉर्टकट प्रकार के रूप में "शॉर्टकट (.lnk)" जो पॉप अप करने के मेरे लिए पूछ कारण संवाद बॉक्स के साथ खोलें असाइन किया गया है इसे एक विस्तार संलग्न करें।
फ़ाइल प्रॉपर्टी का शॉर्टकट प्रकार "फ़ाइल" के रूप में असाइन किया गया है जो डबल क्लिक होने पर बिल्कुल कुछ भी नहीं करता है।
या आखिरकार जो मेरा पसंदीदा है ... फ़ाइल प्रॉपर्टी का शॉर्टकट प्रकार इस प्रकार है: "फ़ाइल फ़ोल्डर" जो इस तरह काम करता है।
यहां कोड है जिसका मैं वर्तमान में उपयोग कर रहा हूं ... मैंने इसके कुछ बदलाव किए हैं।
bool IsExists = false;
string icon = appPath + "Welcome.ico";
// Their is a difference to local and ClickOnce App locations... this compensates for it
IsExists = System.IO.File.Exists(icon);
if (!IsExists)
{
icon = appPath + @"bin\Debug\Welcome.ico";
}
var desktop = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
var target = (Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\Artronix\Welcome To FreightWare Online\").Replace(@"\","/");
IWshShortcut shortcut;
var wshShell = new WshShellClass();
shortcut = (IWshShortcut)wshShell.CreateShortcut(Path.Combine(desktop, @"FreightWare Resources.lnk"));
shortcut.IconLocation = icon;
shortcut.TargetPath = Path.GetFullPath(target);
shortcut.Save();
मुझे संदेह है कि ऐपपैथ इस जानकारी के साथ अपराधी है। अपने कोड के दूसरे भाग (और अपनी खुद की सेट .ico फ़ाइल का उपयोग करके) का उपयोग करके, मुझे हमेशा तीसरा परिणाम मिलता है। जब लक्ष्य पथ मौजूद नहीं था तब मैंने केवल पहला परिणाम प्राप्त किया था। यदि आप परिणामों को अलग-अलग स्थितियों के तहत संकुचित कर सकते हैं, तो – panhandel
सहायता कर सकते हैं यहां ऐपपैथ है: निजी स्ट्रिंग ऐपपाथ = System.AppDomain.CurrentDomain.BaseDirectory; अंतर इस तथ्य में निहित है कि अगर मैं स्थानीय रूप से इंस्टॉलशील्ड या वीएस के माध्यम से इस ऐप को इंस्टॉल करता हूं तो यह ऐपपैथ के समान डोमेन फ़ाइल आइकन इंस्टॉल करता है ... लेकिन जब मैं किसी कारण के लिए केवल एक क्लिकऑन वेब चलाता हूं तो यह एक और बिन और डीबग फ़ोल्डर जोड़ता है ऐपपैथ निर्देशिका के भीतर ... यदि एपपैथ में नहीं मिला तो अगर कथन कथन है तो विस्तारित निर्देशिका के अंदर देखें। यह भी ध्यान रखें कि आइकन हमेशा शॉर्टकट के भीतर प्रदर्शित होता है, इसलिए मुझे पता है कि यह सही पथ ढूंढ रहा है। –
मैं डाउनवोट करने के लिए बहुत मोहक हूं, सिर्फ इसलिए कि आप अपवॉट्स के लिए पूछ रहे हैं। मुझे यकीन है कि कहीं भी इसके खिलाफ एक नियम है, इसके अलावा यह एक स्पष्ट इंटरनेट अशुद्ध-पैस है। – Mels