Jawaban:
Saya tidak berpikir Anda dapat menonaktifkan semua program dari membuat pintasan, tapi saya menggunakan Pagar .
Ini memungkinkan Anda mengelompokkan ikon di desktop, tetapi yang paling penting, ketika Anda mengklik dua kali pada desktop itu menyembunyikan semua item yang tidak ada di pagar.
Tidak ada pengaturan penulisan ulang yang saya tahu akan menghentikannya, namun Anda memiliki tiga opsi - satu berbahaya, satu jenis bypass dan satu lagi aman!
Edit pengaturan keamanan pada folder berikut: (Buka satu folder, klik kanan padanya, dan lakukan properti)
c:\users\<name>\Desktop
or
%userprofile%\Desktop
and
c:\users\default\Desktop
Selanjutnya, buka tab keamanan dan klik edit. Anda ingin menempatkan properti Tolak pada Ubah dan Tulis. Anda harus melakukan ini hanya untuk pengguna Anda jika installer berjalan di bawah pengguna Anda.
Ini memiliki kelemahan yang tidak dapat Anda buat ikon, tetapi harus berfungsi.
Hapus saja ikon apa pun yang dihasilkan oleh pemasangan!
Klik kanan di mana saja di desktop di mana tidak ada item. Perluas opsi tampilan dan hapus centang "Tampilkan Ikon Desktop" ... Ini tentu saja memiliki kelemahan yang Anda tidak akan memiliki ikon - tetapi jika ini yang ingin Anda capai, itu tidak masalah!
Berikut cara sederhana menggunakan Tugas Terjadwal, dan tidak perlu menulis skrip atau program khusus.
Saya mengatur tugas yang dijadwalkan untuk menghapus ikon. Ini agak tidak sempurna, karena berjalan secara berkala (dan setelah MSI menginstal lengkap) tetapi berfungsi (dan setelah menggunakannya selama 6 bulan: ia bekerja dengan cukup baik). Ini menghapus tautan langsung di desktop baik pengguna saat ini dan profil pengguna "Publik", meskipun ini tentu saja tergantung pada memiliki izin untuk melakukannya.
Tugas dibuat sebagai berikut:
Application
MsiInstaller
1042
cmd
/c for %f in (%userprofile%\Desktop\*.lnk %userprofile%\..\Public\Desktop\*.lnk) do del "%f"
Inilah tugasnya, yang dapat Anda simpan sebagai file .xml dan kemudian impor ke Penjadwal Tugas 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>
Saya tidak tahu apakah ada cara untuk melakukannya di Windows tetapi saya tahu bahwa kode BASIC ini akan berfungsi:
Kill("C:\Users\<name>\Desktop\*.lnk")
Ini secara otomatis menghapus semua pintasan di desktop.
Kalau tidak, saya tidak tahu cara apa pun kecuali menghapusnya secara manual
(yang hanya butuh beberapa detik saja).
Jika saya benar - benar tidak ingin melakukan itu, saya akan menggunakan "Cara berbahaya" yang disarankan oleh @William.
Ubah izin pada folder Desktop untuk mencegah siapa pun, termasuk Anda (dan program yang dimulai oleh Anda, seperti pemasang) dari menulis ke desktop. Pertanyaan awalnya menyebutkan "benar-benar bebas" dari pintasan, sehingga Keranjang Sampah dan Komputer Saya juga harus disembunyikan.