Відповіді:
Я не думаю, що ви можете відключити всі програми від створення ярликів, але я використовую Fences .
Він дозволяє групувати піктограми на робочому столі, але найголовніше, що при подвійному натисканні на робочий стіл він приховує весь предмет, який не знаходиться у парканах.
Немає налаштувань перезапису. Я знаю, що це зупиняє, однак у вас є три варіанти - один небезпечний, той, який обходить обхід і один безпечний!
Відредагуйте параметри безпеки в таких папках: (Перейдіть на одну папку вгору, клацніть правою кнопкою миші та виконайте властивості)
c:\users\<name>\Desktop
or
%userprofile%\Desktop
and
c:\users\default\Desktop
Далі, перейдіть на вкладку безпеки та натисніть «Змінити». Ви хочете поставити властивість Заборонити як "Змінити", так і "написати". Ви повинні зробити це лише для свого користувача, якщо інсталятор працює під вашим користувачем.
Це полягає в тому, що ви не можете створювати піктограми, але це має працювати.
Просто видаліть будь-який значок, що генерується при встановленні!
Клацніть правою кнопкою миші будь-де на робочому столі, де немає елементів. Розгорніть параметр перегляду та зніміть прапорець "Показати піктограми робочого столу" ... Це, звичайно, є недоліком того, що у вас не буде жодних піктограм - але якщо цього ви намагаєтеся досягти, це не має значення!
Ось простий спосіб використання запланованих завдань, і не потрібно писати спеціальні сценарії чи програми.
Я встановив планове завдання для видалення піктограм. Це дещо недосконало, оскільки він працює періодично (і після встановлення MSI завершено), але він працює (і після його використання протягом 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>
Я не знаю, чи є спосіб зробити це в Windows, але я знаю, що цей BASIC код буде працювати:
Kill("C:\Users\<name>\Desktop\*.lnk")
Це автоматично видаляє всі ярлики на робочому столі.
Інакше я не знаю жодного способу, крім видалення їх вручну
(що займає лише кілька секунд).
Якщо я дійсно не хотів цього робити, я б застосував "небезпечний спосіб", який пропонує @William
Змініть дозволи в папці Робочий стіл, щоб запобігти написанню на робочий стіл будь-кому, включаючи себе (і запущеним вами програмам, як інсталяторам) Питання спочатку згадувало "абсолютно безкоштовно" ярликів, тому кошик і Мій комп'ютер також слід приховувати.