このスクリプトを使用して、Windowsデスクトップアイコン「マイコンピュータ」を削除しましたが、アイコンは引き続き表示されます。手動で非表示にしても問題ありません。
require 'win32/registry'
keyname= 'Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu'
access = Win32::Registry::KEY_ALL_ACCESS
Win32::Registry::HKEY_CURRENT_USER.open(keyname, access) do |reg|
reg.each{|k, v|
puts k, v
reg[k, Win32::Registry::REG_DWORD] = 1
puts k, v
}
end
これでデスクトップをリフレッシュしてみました
SPI_SETDESKWALLPAPER = 20
SPIF_UPDATEINIFILE = 0x01
SPIF_SENDWININICHANGE = 0x02
systemParametersInfo.call(SPI_SETDESKWALLPAPER, 0, "", SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE)
これで壁紙はすぐに削除されますが、アイコンは削除されません