使用してシステムを。 使用してSystem.Collections.Genericを。 使用してSystem.ComponentModelを。 使用してSystem.Dataを。 使用System.Drawingを。 使用してSystem.Linqのを。 使用してSystem.Textのを。 使用してのSystem.Windows.Formsを。 使用してMicrosoft.Win32を。 名前空間HSDesktopIcon { パブリック 部分 クラスFrm_Main:フォーム { パブリックFrm_Main() { のInitializeComponent(); } プライベート 無効のbutton1_Click(オブジェクトSENDER、EventArgsのE) { // 位置レジストリエントリ のRegistryKey RKEY = Registry.CurrentUser.CreateSubKey(" ソフトウェアのMicrosoft \\ \\ \\ CurrentVersionのWindowsエクスプローラ\\ \\ \\ NewStartPanel HideDesktopIcons " ); IF (checkBox1.Checked) RKey.SetValue(" {20D04FE0-3AEA-1069-A2D8-08002B30309D} "、1); // 私のコンピュータを隠す IF (checkBox2.Checked) RKey.SetValue(" {} 59031a47-3f72-44a7-89c5-5595fe6b30ee "、1); //は、マイドキュメントを非表示にし た場合(checkBox3.Checked) RKey.SetValue(" {} F02C1A0D-BE21-4350-88B0-7367FC96EF3C "、1); //は、ネットワークコンピュータ隠し IF (checkBox4.Checked) RKey.SetValue(「{645FF040-5081-101B-9F08を} -00AA002F954E " 1); //は、ゴミを隠し IF (checkBox5.Checked) RKey.SetValue(" {} 5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0 " 1); //はコントロールパネル隠し MessageBox.Showを(" 成功を変更する-デスクトップを更新してください!"); } プライベート 無効 button2_Click(オブジェクト送信者、EventArgsの電子) { // 定位注册表项 のRegistryKey RKEY = Registry.CurrentUser.CreateSubKey(" ソフトウェア\\のMicrosoft \\ Windowsの\\ CurrentVersionの\\ \\エクスプローラHideDesktopIcons \\ NewStartPanel " ); もし(checkBox1.Checked) RKey.SetValue(" {20D04FE0-3AEA-1069-A2D8-08002B30309D} "、0); // 显示我的电脑 場合(checkBox2.Checked) RKey.SetValue(" {59031a47-3f72-44a7-89c5-5595fe6b30ee} "、0); // マイドキュメントを表示 IF (checkBox3.Checked) RKey.SetValue(" {F02C1A0D-BE21-4350-88B0-7367FC96EF3C} "、0); // ネットワークコンピュータ表示 IF (checkBox4.Checked) RKey.SetValueを(" {} 645FF040-5081-101B-9F08-00AA002F954E "、0); // 表示ゴミ IF (checkBox5.Checked) RKey.SetValue(" {} 5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0 "、0); / / ディスプレイコントロールパネル MessageBox.Show("成功を変更-あなたのデスクトップを更新してください!" ); } } }
デスクトップをリフレッシュするためのC#
パブリック クラスDesktopRefurbish { [DLLIMPORT(" SHELL32.DLL " )] パブリック 静的 にextern ボイドSHChangeNotify(HChangeNotifyEventID wEventId、HChangeNotifyFlags uFlags、のIntPtr dwItem1、のIntPtr dwItem2)。
/// <要約> /// 桌面刷新 /// </要約> パブリック 静的 ボイドDeskRefresh() { SHChangeNotify(HChangeNotifyEventID.SHCNE_ASSOCCHANGED、HChangeNotifyFlags.SHCNF_IDLIST、IntPtr.Zero、IntPtr.Zero)。 } } #regionパブリック列挙HChangeNotifyFlags [フラグ] パブリック 列挙HChangeNotifyFlags { SHCNF_DWORD = 0x0003 、 SHCNF_IDLIST = 0000 、 SHCNF_PATHA = 0x0001の、 SHCNF_PATHW = 0x0005 、 SHCNF_PRINTERA = 0×0002 、 SHCNF_PRINTERW = 0x0006 、 SHCNF_FLUSH = 0x1000番地、 SHCNF_FLUSHNOWAIT = 0x2000で } #endregion // 列挙HChangeNotifyFlags #region列挙HChangeNotifyEventID 【フラグ】 パブリック 列挙HChangeNotifyEventID { SHCNE_ALLEVENTS = 0x7FFFFFFFで、 SHCNE_ASSOCCHANGED = 0x08000000 、 SHCNE_ATTRIBUTES = 0x00000800 、 SHCNE_CREATE = 0x00000002 、 SHCNE_DELETE = 0x00000004 、 SHCNE_DRIVEADD = 0x00000100 、 SHCNE_DRIVEADDGUI = 0x00010000 、 SHCNE_DRIVEREMOVED = 0x00000080 、 SHCNE_EXTENDED_EVENT =0x04000000 、 SHCNE_FREESPACE = 0x00040000 、 SHCNE_MEDIAINSERTED = 0x00000020 、 SHCNE_MEDIAREMOVED = 0x00000040 、 SHCNE_MKDIR = 0x00000008 、 SHCNE_NETSHARE = 0x00000200 、 SHCNE_NETUNSHARE = 0x00000400 、 SHCNE_RENAMEFOLDER = 0x00020000 、 SHCNE_RENAMEITEM = 0x00000001の、 SHCNE_RMDIR = 0x00000010 、 SHCNE_SERVERDISCONNECT= 0x00004000 、 SHCNE_UPDATEDIR = 0x00001000 、 SHCNE_UPDATEIMAGE = 0x00008000 、 } #endregion
引用文