BExplorer.Shell.ShellNotificationListener.NotificationWindow.WndProc C# (CSharp) Method

WndProc() protected method

protected WndProc ( Message &m ) : void
m System.Windows.Forms.Message
return void
			protected override void WndProc(ref Message m) {
				if (m.Msg == WM_SHNOTIFY) {
					SHNOTIFYSTRUCT notify = (SHNOTIFYSTRUCT)
						Marshal.PtrToStructure(m.WParam,
							typeof(SHNOTIFYSTRUCT));

					switch ((SHCNE)m.LParam) {
						case SHCNE.CREATE:
							if (m_Parent.ItemCreated != null) {
								ShellItem item = new ShellItem(notify.dwItem1);
								m_Parent.ItemCreated(m_Parent, new ShellItemEventArgs(new ShellItem(notify.dwItem1)));
							}
							break;

						case SHCNE.DELETE:
							if (m_Parent.ItemDeleted != null)
								m_Parent.ItemDeleted(m_Parent, new ShellItemEventArgs(new ShellItem(notify.dwItem1)));

							break;
						case SHCNE.DRIVEADD:
							if (m_Parent.DriveAdded != null)
								m_Parent.DriveAdded(m_Parent, new ShellItemEventArgs(new ShellItem(notify.dwItem1)));

							break;
						case SHCNE.DRIVEREMOVED:
							if (m_Parent.DriveRemoved != null)
								m_Parent.DriveRemoved(m_Parent, new ShellItemEventArgs(new ShellItem(notify.dwItem1)));

							break;
						case SHCNE.MKDIR:
							if (m_Parent.FolderCreated != null)
								m_Parent.FolderCreated(m_Parent, new ShellItemEventArgs(new ShellItem(notify.dwItem1)));

							break;
						case SHCNE.RMDIR:
							if (m_Parent.FolderDeleted != null)
								m_Parent.FolderDeleted(m_Parent, new ShellItemEventArgs(new ShellItem(notify.dwItem1)));

							break;
						case SHCNE.UPDATEDIR:
							if (m_Parent.FolderUpdated != null)
								m_Parent.FolderUpdated(m_Parent, new ShellItemEventArgs(new ShellItem(notify.dwItem1)));

							break;
						case SHCNE.UPDATEITEM:
							if (m_Parent.ItemUpdated != null)
								m_Parent.ItemUpdated(m_Parent, new ShellItemEventArgs(new ShellItem(notify.dwItem1)));

							break;
						case SHCNE.RENAMEFOLDER:
							if (m_Parent.FolderRenamed != null)
								m_Parent.FolderRenamed(m_Parent, new ShellItemChangeEventArgs(new ShellItem(notify.dwItem1), new ShellItem(notify.dwItem2)));

							break;
						case SHCNE.RENAMEITEM:
							if (m_Parent.ItemRenamed != null)
								m_Parent.ItemRenamed(m_Parent, new ShellItemChangeEventArgs(new ShellItem(notify.dwItem1), new ShellItem(notify.dwItem2)));


							break;
						case SHCNE.NETSHARE:
						case SHCNE.NETUNSHARE:
							if (m_Parent.SharingChanged != null)
								m_Parent.SharingChanged(m_Parent, new ShellItemEventArgs(new ShellItem(notify.dwItem1)));

							break;
					}
				}
				else {
					base.WndProc(ref m);
				}
			}
ShellNotificationListener.NotificationWindow