下面的代码调用SHGetSetSettings函数来隐藏桌面图标 ,但它只是从视图菜单中取消选中“显示桌面图标”。如何让“显示/隐藏桌面图标”设置生效?
我打电话给SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_FLUSHNOWAIT, nil, nil);
来更新桌面,但不起作用?
var
lpss: SHELLSTATE;
begin
lpss.Data := High(cardinal);
lpss.Data2 := Low(cardinal);
SHGetSetSettings(lpss,SSF_HIDEICONS,true);
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_FLUSHNOWAIT, nil, nil);
end;
隐藏'Progman'将禁用右键单击桌面上。 发送f5到桌面不起作用。 – isa 2010-07-24 19:31:57
@isa,我已经尝试发送F5键,并为我工作。你用的是哪个版本的windows? – RRUZ 2010-07-24 19:38:27
SHGetSetSettings(lpss,SSF_HIDEICONS,true);发送F5键刷新桌面作品,我的意思是它不会隐藏图标后 SHGetSetSettings(lpss,SSF_HIDEICONS,true); – isa 2010-07-25 08:34:48