जवाबों:
मुझे नहीं लगता कि आप शॉर्टकट बनाने से सभी कार्यक्रमों को अक्षम कर सकते हैं, लेकिन मैं बाड़ का उपयोग करता हूं ।
यह आपको डेस्कटॉप पर समूह चिह्न देता है, लेकिन सबसे महत्वपूर्ण बात यह है कि जब आप डेस्कटॉप पर डबल क्लिक करते हैं तो यह उन सभी वस्तुओं को छिपा देता है जो बाड़ में नहीं होती हैं।
कोई ओवरराइटिंग सेटिंग नहीं है जो मुझे पता है कि इसे रोकता है, हालांकि आपके पास तीन विकल्प हैं - एक खतरनाक, एक प्रकार का बाईपास और एक सुरक्षित!
निम्न फ़ोल्डरों पर सुरक्षा सेटिंग्स संपादित करें: (एक फ़ोल्डर ऊपर जाएं, उस पर राइट क्लिक करें, और गुण करें)
c:\users\<name>\Desktop
or
%userprofile%\Desktop
and
c:\users\default\Desktop
इसके बाद, सिक्योरिटी टैब पर जाएं और एडिट पर क्लिक करें। आप Deny प्रॉपर्टी को संशोधित और लिखना दोनों पर रखना चाहते हैं। आपको यह केवल अपने उपयोगकर्ता के लिए करना चाहिए यदि इंस्टॉलर आपके उपयोगकर्ता के अंतर्गत चलता है।
इसका नकारात्मक पक्ष यह है कि आप आइकन नहीं बना सकते हैं, लेकिन यह काम करना चाहिए।
बस किसी भी आइकॉन को डिलीट करें जो कि एक इंस्टाल के द्वारा उत्पन्न होता है!
डेस्कटॉप पर कहीं भी राइट क्लिक करें जहां कोई आइटम नहीं हैं। दृश्य विकल्प का विस्तार करें और "डेस्कटॉप आइकन दिखाएं" पर क्लिक करें ... यह निश्चित रूप से नकारात्मक पक्ष है कि आपके पास कोई आइकन नहीं होगा - लेकिन अगर यह वही है जिसे आप प्राप्त करने की कोशिश कर रहे हैं, तो इससे कोई फर्क नहीं पड़ता!
यहां अनुसूचित कार्य का उपयोग करने का एक सरल तरीका है, और कस्टम स्क्रिप्ट या प्रोग्राम लिखने की आवश्यकता नहीं है।
मैंने आइकन हटाने के लिए एक निर्धारित कार्य निर्धारित किया है। यह कुछ हद तक अपूर्ण है, क्योंकि यह समय-समय पर चलता है (और एमएसआई पूरा होने के बाद) लेकिन यह काम करता है (और इसे 6 महीने तक उपयोग करने के बाद: यह काफी अच्छी तरह से काम करता है)। यह वर्तमान उपयोगकर्ता और "सार्वजनिक" उपयोगकर्ता के प्रोफ़ाइल दोनों के डेस्कटॉप पर सीधे लिंक को हटा देता है, हालांकि यह निश्चित रूप से ऐसा करने की अनुमति पर निर्भर है।
कार्य निम्नानुसार बनाया गया है:
Application
MsiInstaller
1042
cmd
/c for %f in (%userprofile%\Desktop\*.lnk %userprofile%\..\Public\Desktop\*.lnk) do del "%f"
यहाँ कार्य है, जिसे आप एक .xml फ़ाइल के रूप में सहेज सकते हैं और फिर Windows टास्क शेड्यूलर में आयात कर सकते हैं:
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2012-11-02T00:46:01.691625</Date>
<Author>Gregmac</Author>
</RegistrationInfo>
<Triggers>
<EventTrigger>
<Enabled>true</Enabled>
<Subscription><QueryList><Query Id="0" Path="Application"><Select Path="Application">*[System[Provider[@Name='MsiInstaller'] and EventID=1042]]</Select></Query></QueryList></Subscription>
</EventTrigger>
<CalendarTrigger>
<StartBoundary>2012-11-02T05:00:00</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>Greg</UserId>
<LogonType>InteractiveToken</LogonType>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>P3D</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>cmd</Command>
<Arguments>/c for %f in (%userprofile%\Desktop\*.lnk %userprofile%\..\Public\Desktop\*.lnk) do del "%f"</Arguments>
</Exec>
</Actions>
</Task>
मुझे नहीं पता कि विंडोज के भीतर ऐसा करने का कोई तरीका है लेकिन मुझे पता है कि यह बुनियादी कोड काम करेगा:
Kill("C:\Users\<name>\Desktop\*.lnk")
यह डेस्कटॉप पर मौजूद सभी शॉर्टकट को स्वचालित रूप से हटा देता है।
अन्यथा, मुझे मैन्युअल रूप से हटाने के अलावा किसी भी तरीके का पता नहीं है
(जो केवल कुछ ही सेकंड लेता है)
अगर मैं वास्तव में ऐसा नहीं करना चाहता था, तो मैं "खतरनाक तरीके" का उपयोग करूंगा जो कि @William से पता चलता है
डेस्कटॉप फ़ोल्डर पर अनुमतियाँ बदलें, किसी को भी अपने आप को रोकने के लिए (और आपके द्वारा शुरू किए गए प्रोग्राम, इंस्टालर की तरह) डेस्कटॉप पर लिखने से। प्रश्न मूल रूप से शॉर्टकट के "पूरी तरह से मुक्त" का उल्लेख किया गया है, इसलिए रीसायकल बिन और मेरा कंप्यूटर भी छिपा होना चाहिए।