aboutsummaryrefslogtreecommitdiff
path: root/core/sys
diff options
context:
space:
mode:
authorThomas la Cour <tlc@hyrtwol.dk>2024-03-01 15:24:48 +0100
committerThomas la Cour <tlc@hyrtwol.dk>2024-03-03 19:53:33 +0100
commit28f05e8aaa8a4a48e8ca8e61f47c4ece05c36d62 (patch)
tree16d278a748287a15f6b69232c2638f5de6eb369c /core/sys
parent9eb1596939fc987010caf5f6e8930d329a5a3295 (diff)
SHChangeNotify + flags
https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shchangenotify
Diffstat (limited to 'core/sys')
-rw-r--r--core/sys/windows/shell32.odin51
1 files changed, 51 insertions, 0 deletions
diff --git a/core/sys/windows/shell32.odin b/core/sys/windows/shell32.odin
index 358b8482f..4108d54d8 100644
--- a/core/sys/windows/shell32.odin
+++ b/core/sys/windows/shell32.odin
@@ -25,6 +25,7 @@ foreign shell32 {
SHAppBarMessage :: proc(dwMessage: DWORD, pData: PAPPBARDATA) -> UINT_PTR ---
Shell_NotifyIconW :: proc(dwMessage: DWORD, lpData: ^NOTIFYICONDATAW) -> BOOL ---
+ SHChangeNotify :: proc(wEventId: LONG, uFlags: UINT, dwItem1: LPCVOID, dwItem2: LPCVOID) ---
SHGetKnownFolderIDList :: proc(rfid: REFKNOWNFOLDERID, dwFlags: /* KNOWN_FOLDER_FLAG */ DWORD, hToken: HANDLE, ppidl: rawptr) -> HRESULT ---
SHSetKnownFolderPath :: proc(rfid: REFKNOWNFOLDERID, dwFlags: /* KNOWN_FOLDER_FLAG */ DWORD, hToken: HANDLE, pszPath: PCWSTR ) -> HRESULT ---
@@ -91,3 +92,53 @@ KNOWN_FOLDER_FLAG :: enum u32 {
SIMPLE_IDLIST = 0x00000100,
ALIAS_ONLY = 0x80000000,
}
+
+SHCNRF_InterruptLevel :: 0x0001
+SHCNRF_ShellLevel :: 0x0002
+SHCNRF_RecursiveInterrupt :: 0x1000
+SHCNRF_NewDelivery :: 0x8000
+
+SHCNE_RENAMEITEM :: 0x00000001
+SHCNE_CREATE :: 0x00000002
+SHCNE_DELETE :: 0x00000004
+SHCNE_MKDIR :: 0x00000008
+SHCNE_RMDIR :: 0x00000010
+SHCNE_MEDIAINSERTED :: 0x00000020
+SHCNE_MEDIAREMOVED :: 0x00000040
+SHCNE_DRIVEREMOVED :: 0x00000080
+SHCNE_DRIVEADD :: 0x00000100
+SHCNE_NETSHARE :: 0x00000200
+SHCNE_NETUNSHARE :: 0x00000400
+SHCNE_ATTRIBUTES :: 0x00000800
+SHCNE_UPDATEDIR :: 0x00001000
+SHCNE_UPDATEITEM :: 0x00002000
+SHCNE_SERVERDISCONNECT :: 0x00004000
+SHCNE_UPDATEIMAGE :: 0x00008000
+SHCNE_DRIVEADDGUI :: 0x00010000
+SHCNE_RENAMEFOLDER :: 0x00020000
+SHCNE_FREESPACE :: 0x00040000
+
+SHCNE_EXTENDED_EVENT :: 0x04000000
+
+SHCNE_ASSOCCHANGED :: 0x08000000
+
+SHCNE_DISKEVENTS :: 0x0002381F
+SHCNE_GLOBALEVENTS :: 0x0C0581E0
+SHCNE_ALLEVENTS :: 0x7FFFFFFF
+SHCNE_INTERRUPT :: 0x80000000
+
+SHCNEE_ORDERCHANGED :: 2
+SHCNEE_MSI_CHANGE :: 4
+SHCNEE_MSI_UNINSTALL :: 5
+
+SHCNF_IDLIST :: 0x0000
+SHCNF_PATHA :: 0x0001
+SHCNF_PRINTERA :: 0x0002
+SHCNF_DWORD :: 0x0003
+SHCNF_PATHW :: 0x0005
+SHCNF_PRINTERW :: 0x0006
+SHCNF_TYPE :: 0x00FF
+SHCNF_FLUSH :: 0x1000
+SHCNF_FLUSHNOWAIT :: 0x3000
+
+SHCNF_NOTIFYRECURSIVE :: 0x10000