@bun-win32/shell32 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -0
- package/index.ts +6 -0
- package/package.json +52 -0
- package/runtime/extensions.ts +210 -0
- package/structs/Shell32.ts +1717 -0
- package/types/Shell32.ts +500 -0
package/types/Shell32.ts
ADDED
|
@@ -0,0 +1,500 @@
|
|
|
1
|
+
import type { Pointer } from 'bun:ffi';
|
|
2
|
+
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Win32 type aliases
|
|
5
|
+
//
|
|
6
|
+
// These map Win32 C types to their Bun FFI equivalents:
|
|
7
|
+
// - Handles (HANDLE, HWND, HICON, HDROP, etc.) → bigint (FFIType.u64)
|
|
8
|
+
// - Booleans (BOOL) → number (FFIType.i32)
|
|
9
|
+
// - Unsigned 32-bit (DWORD, UINT) → number (FFIType.u32)
|
|
10
|
+
// - Signed 32-bit (HRESULT, INT, LONG) → number (FFIType.i32)
|
|
11
|
+
// - 64-bit integers (SIZE_T, DWORD_PTR, UINT_PTR) → bigint (FFIType.u64)
|
|
12
|
+
// - Signed 64-bit (INT_PTR, LPARAM, LRESULT) → bigint (FFIType.i64)
|
|
13
|
+
// - Pointers (LP*, P*, PCIDLIST_*, PIDLIST_*) → Pointer (FFIType.ptr)
|
|
14
|
+
//
|
|
15
|
+
// Add types here in alphabetical order as needed by structs/Shell32.ts.
|
|
16
|
+
// Export enums for flag/constant groups used by callers.
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
|
|
19
|
+
export enum AppBarEdge {
|
|
20
|
+
ABE_BOTTOM = 3,
|
|
21
|
+
ABE_LEFT = 0,
|
|
22
|
+
ABE_RIGHT = 2,
|
|
23
|
+
ABE_TOP = 1,
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export enum AppBarMessage {
|
|
27
|
+
ABM_ACTIVATE = 0x0000_0006,
|
|
28
|
+
ABM_GETAUTOHIDEBAR = 0x0000_0007,
|
|
29
|
+
ABM_GETAUTOHIDEBAREX = 0x0000_000B,
|
|
30
|
+
ABM_GETSTATE = 0x0000_0004,
|
|
31
|
+
ABM_GETTASKBARPOS = 0x0000_0005,
|
|
32
|
+
ABM_NEW = 0x0000_0000,
|
|
33
|
+
ABM_QUERYPOS = 0x0000_0002,
|
|
34
|
+
ABM_REMOVE = 0x0000_0001,
|
|
35
|
+
ABM_SETAUTOHIDEBAR = 0x0000_0008,
|
|
36
|
+
ABM_SETAUTOHIDEBAREX = 0x0000_000C,
|
|
37
|
+
ABM_SETPOS = 0x0000_0003,
|
|
38
|
+
ABM_WINDOWPOSCHANGED = 0x0000_0009,
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export enum ChangeNotifyEvents {
|
|
42
|
+
SHCNE_ALLEVENTS = 0x7FFF_FFFF,
|
|
43
|
+
SHCNE_ASSOCCHANGED = 0x0800_0000,
|
|
44
|
+
SHCNE_ATTRIBUTES = 0x0000_0800,
|
|
45
|
+
SHCNE_CREATE = 0x0000_0002,
|
|
46
|
+
SHCNE_DELETE = 0x0000_0004,
|
|
47
|
+
SHCNE_DRIVEADD = 0x0000_0100,
|
|
48
|
+
SHCNE_DRIVEADDGUI = 0x0001_0000,
|
|
49
|
+
SHCNE_DRIVEREMOVED = 0x0000_0080,
|
|
50
|
+
SHCNE_EXTENDED_EVENT = 0x0400_0000,
|
|
51
|
+
SHCNE_FREESPACE = 0x0004_0000,
|
|
52
|
+
SHCNE_MEDIAINSERTED = 0x0000_0020,
|
|
53
|
+
SHCNE_MEDIAREMOVED = 0x0000_0040,
|
|
54
|
+
SHCNE_MKDIR = 0x0000_0008,
|
|
55
|
+
SHCNE_NETSHARE = 0x0000_0200,
|
|
56
|
+
SHCNE_NETUNSHARE = 0x0000_0400,
|
|
57
|
+
SHCNE_RENAMEFOLDER = 0x0002_0000,
|
|
58
|
+
SHCNE_RENAMEITEM = 0x0000_0001,
|
|
59
|
+
SHCNE_RMDIR = 0x0000_0010,
|
|
60
|
+
SHCNE_SERVERDISCONNECT = 0x0000_4000,
|
|
61
|
+
SHCNE_UPDATEDIR = 0x0000_1000,
|
|
62
|
+
SHCNE_UPDATEIMAGE = 0x0000_8000,
|
|
63
|
+
SHCNE_UPDATEITEM = 0x0000_2000,
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export enum ChangeNotifyFlags {
|
|
67
|
+
SHCNF_DWORD = 0x0000_0003,
|
|
68
|
+
SHCNF_FLUSH = 0x0000_1000,
|
|
69
|
+
SHCNF_FLUSHNOWAIT = 0x0000_3000,
|
|
70
|
+
SHCNF_IDLIST = 0x0000_0000,
|
|
71
|
+
SHCNF_PATHA = 0x0000_0001,
|
|
72
|
+
SHCNF_PATHW = 0x0000_0005,
|
|
73
|
+
SHCNF_PRINTERA = 0x0000_0002,
|
|
74
|
+
SHCNF_PRINTERW = 0x0000_0006,
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export enum ChangeNotifyRegisterFlags {
|
|
78
|
+
SHCNRF_INTERRUPTLEVEL = 0x0001,
|
|
79
|
+
SHCNRF_NEWDELIVERY = 0x8000,
|
|
80
|
+
SHCNRF_RECURSIVEINTERRUPT = 0x1000,
|
|
81
|
+
SHCNRF_SHELLLEVEL = 0x0002,
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export enum CSIDL {
|
|
85
|
+
CSIDL_ADMINTOOLS = 0x0030,
|
|
86
|
+
CSIDL_APPDATA = 0x001A,
|
|
87
|
+
CSIDL_BITBUCKET = 0x000A,
|
|
88
|
+
CSIDL_CDBURN_AREA = 0x003B,
|
|
89
|
+
CSIDL_COMMON_ADMINTOOLS = 0x002F,
|
|
90
|
+
CSIDL_COMMON_APPDATA = 0x0023,
|
|
91
|
+
CSIDL_COMMON_DESKTOPDIRECTORY = 0x0019,
|
|
92
|
+
CSIDL_COMMON_DOCUMENTS = 0x002E,
|
|
93
|
+
CSIDL_COMMON_FAVORITES = 0x001F,
|
|
94
|
+
CSIDL_COMMON_MUSIC = 0x0035,
|
|
95
|
+
CSIDL_COMMON_OEM_LINKS = 0x003A,
|
|
96
|
+
CSIDL_COMMON_PICTURES = 0x0036,
|
|
97
|
+
CSIDL_COMMON_PROGRAMS = 0x0017,
|
|
98
|
+
CSIDL_COMMON_STARTMENU = 0x0016,
|
|
99
|
+
CSIDL_COMMON_STARTUP = 0x0018,
|
|
100
|
+
CSIDL_COMMON_TEMPLATES = 0x002D,
|
|
101
|
+
CSIDL_COMMON_VIDEO = 0x0037,
|
|
102
|
+
CSIDL_COMPUTERSNEARME = 0x003D,
|
|
103
|
+
CSIDL_CONNECTIONS = 0x0031,
|
|
104
|
+
CSIDL_CONTROLS = 0x0003,
|
|
105
|
+
CSIDL_COOKIES = 0x0021,
|
|
106
|
+
CSIDL_DESKTOP = 0x0000,
|
|
107
|
+
CSIDL_DESKTOPDIRECTORY = 0x0010,
|
|
108
|
+
CSIDL_DRIVES = 0x0011,
|
|
109
|
+
CSIDL_FAVORITES = 0x0006,
|
|
110
|
+
CSIDL_FLAG_CREATE = 0x8000,
|
|
111
|
+
CSIDL_FLAG_DONT_UNEXPAND = 0x2000,
|
|
112
|
+
CSIDL_FLAG_DONT_VERIFY = 0x4000,
|
|
113
|
+
CSIDL_FLAG_NO_ALIAS = 0x1000,
|
|
114
|
+
CSIDL_FLAG_PER_USER_INIT = 0x0800,
|
|
115
|
+
CSIDL_FONTS = 0x0014,
|
|
116
|
+
CSIDL_HISTORY = 0x0022,
|
|
117
|
+
CSIDL_INTERNET = 0x0001,
|
|
118
|
+
CSIDL_INTERNET_CACHE = 0x0020,
|
|
119
|
+
CSIDL_LOCAL_APPDATA = 0x001C,
|
|
120
|
+
CSIDL_MYDOCUMENTS = 0x000C,
|
|
121
|
+
CSIDL_MYMUSIC = 0x000D,
|
|
122
|
+
CSIDL_MYPICTURES = 0x0027,
|
|
123
|
+
CSIDL_MYVIDEO = 0x000E,
|
|
124
|
+
CSIDL_NETHOOD = 0x0013,
|
|
125
|
+
CSIDL_NETWORK = 0x0012,
|
|
126
|
+
CSIDL_PERSONAL = 0x0005,
|
|
127
|
+
CSIDL_PRINTERS = 0x0004,
|
|
128
|
+
CSIDL_PRINTHOOD = 0x001B,
|
|
129
|
+
CSIDL_PROFILE = 0x0028,
|
|
130
|
+
CSIDL_PROGRAMS = 0x0002,
|
|
131
|
+
CSIDL_PROGRAM_FILES = 0x0026,
|
|
132
|
+
CSIDL_PROGRAM_FILES_COMMON = 0x002B,
|
|
133
|
+
CSIDL_PROGRAM_FILESX86 = 0x002A,
|
|
134
|
+
CSIDL_PROGRAM_FILES_COMMONX86 = 0x002C,
|
|
135
|
+
CSIDL_RECENT = 0x0008,
|
|
136
|
+
CSIDL_RESOURCES = 0x0038,
|
|
137
|
+
CSIDL_RESOURCES_LOCALIZED = 0x0039,
|
|
138
|
+
CSIDL_SENDTO = 0x0009,
|
|
139
|
+
CSIDL_STARTMENU = 0x000B,
|
|
140
|
+
CSIDL_STARTUP = 0x0007,
|
|
141
|
+
CSIDL_SYSTEM = 0x0025,
|
|
142
|
+
CSIDL_SYSTEMX86 = 0x0029,
|
|
143
|
+
CSIDL_TEMPLATES = 0x0015,
|
|
144
|
+
CSIDL_WINDOWS = 0x0024,
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
export enum FileOperationFlags {
|
|
148
|
+
FOF_ALLOWUNDO = 0x0040,
|
|
149
|
+
FOF_CONFIRMMOUSE = 0x0002,
|
|
150
|
+
FOF_FILESONLY = 0x0080,
|
|
151
|
+
FOF_MULTIDESTFILES = 0x0001,
|
|
152
|
+
FOF_NOCONFIRMATION = 0x0010,
|
|
153
|
+
FOF_NOCONFIRMMKDIR = 0x0200,
|
|
154
|
+
FOF_NOCOPYSECURITYATTRIBS = 0x0800,
|
|
155
|
+
FOF_NOERRORUI = 0x0400,
|
|
156
|
+
FOF_NORECURSEREPARSE = 0x8000,
|
|
157
|
+
FOF_NORECURSION = 0x1000,
|
|
158
|
+
FOF_NO_CONNECTED_ELEMENTS = 0x2000,
|
|
159
|
+
FOF_NO_UI = 0x0614,
|
|
160
|
+
FOF_RENAMEONCOLLISION = 0x0008,
|
|
161
|
+
FOF_SILENT = 0x0004,
|
|
162
|
+
FOF_SIMPLEPROGRESS = 0x0100,
|
|
163
|
+
FOF_WANTMAPPINGHANDLE = 0x0020,
|
|
164
|
+
FOF_WANTNUKEWARNING = 0x4000,
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export enum FileOperationType {
|
|
168
|
+
FO_COPY = 0x0002,
|
|
169
|
+
FO_DELETE = 0x0003,
|
|
170
|
+
FO_MOVE = 0x0001,
|
|
171
|
+
FO_RENAME = 0x0004,
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
export enum KnownFolderFlag {
|
|
175
|
+
KF_FLAG_ALIAS_ONLY = 0x8000_0000,
|
|
176
|
+
KF_FLAG_CREATE = 0x0000_8000,
|
|
177
|
+
KF_FLAG_DEFAULT = 0x0000_0000,
|
|
178
|
+
KF_FLAG_DEFAULT_PATH = 0x0000_0400,
|
|
179
|
+
KF_FLAG_DONT_UNEXPAND = 0x0000_2000,
|
|
180
|
+
KF_FLAG_DONT_VERIFY = 0x0000_4000,
|
|
181
|
+
KF_FLAG_FORCE_APPCONTAINER_REDIRECTION = 0x0002_0000,
|
|
182
|
+
KF_FLAG_FORCE_APP_DATA_REDIRECTION = 0x0008_0000,
|
|
183
|
+
KF_FLAG_FORCE_PACKAGE_REDIRECTION = 0x0004_0000,
|
|
184
|
+
KF_FLAG_INIT = 0x0000_0800,
|
|
185
|
+
KF_FLAG_NOT_PARENT_RELATIVE = 0x0000_0200,
|
|
186
|
+
KF_FLAG_NO_ALIAS = 0x0000_1000,
|
|
187
|
+
KF_FLAG_NO_APPCONTAINER_REDIRECTION = 0x0001_0000,
|
|
188
|
+
KF_FLAG_NO_PACKAGE_REDIRECTION = 0x0001_0000,
|
|
189
|
+
KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET = 0x0004_0000,
|
|
190
|
+
KF_FLAG_SIMPLE_IDLIST = 0x0000_0100,
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
export enum NotifyIconFlags {
|
|
194
|
+
NIF_GUID = 0x0000_0020,
|
|
195
|
+
NIF_ICON = 0x0000_0002,
|
|
196
|
+
NIF_INFO = 0x0000_0010,
|
|
197
|
+
NIF_MESSAGE = 0x0000_0001,
|
|
198
|
+
NIF_REALTIME = 0x0000_0040,
|
|
199
|
+
NIF_SHOWTIP = 0x0000_0080,
|
|
200
|
+
NIF_STATE = 0x0000_0008,
|
|
201
|
+
NIF_TIP = 0x0000_0004,
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
export enum NotifyIconMessage {
|
|
205
|
+
NIM_ADD = 0x0000_0000,
|
|
206
|
+
NIM_DELETE = 0x0000_0002,
|
|
207
|
+
NIM_MODIFY = 0x0000_0001,
|
|
208
|
+
NIM_SETFOCUS = 0x0000_0003,
|
|
209
|
+
NIM_SETVERSION = 0x0000_0004,
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
export enum QueryUserNotificationState {
|
|
213
|
+
QUNS_ACCEPTS_NOTIFICATIONS = 5,
|
|
214
|
+
QUNS_APP = 7,
|
|
215
|
+
QUNS_BUSY = 2,
|
|
216
|
+
QUNS_NOT_PRESENT = 1,
|
|
217
|
+
QUNS_PRESENTATION_MODE = 4,
|
|
218
|
+
QUNS_QUIET_TIME = 6,
|
|
219
|
+
QUNS_RUNNING_D3D_FULL_SCREEN = 3,
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
export enum SEE_MASK {
|
|
223
|
+
SEE_MASK_ASYNCOK = 0x0010_0000,
|
|
224
|
+
SEE_MASK_CLASSKEY = 0x0000_0003,
|
|
225
|
+
SEE_MASK_CLASSNAME = 0x0000_0001,
|
|
226
|
+
SEE_MASK_CONNECTNETDRV = 0x0000_0080,
|
|
227
|
+
SEE_MASK_DEFAULT = 0x0000_0000,
|
|
228
|
+
SEE_MASK_DOENVSUBST = 0x0000_0200,
|
|
229
|
+
SEE_MASK_FLAG_DDEWAIT = 0x0000_0100,
|
|
230
|
+
SEE_MASK_FLAG_HINST_IS_SITE = 0x0800_0000,
|
|
231
|
+
SEE_MASK_FLAG_LOG_USAGE = 0x0400_0000,
|
|
232
|
+
SEE_MASK_FLAG_NO_UI = 0x0000_0400,
|
|
233
|
+
SEE_MASK_HMONITOR = 0x0020_0000,
|
|
234
|
+
SEE_MASK_HOTKEY = 0x0000_0020,
|
|
235
|
+
SEE_MASK_ICON = 0x0000_0010,
|
|
236
|
+
SEE_MASK_IDLIST = 0x0000_0004,
|
|
237
|
+
SEE_MASK_INVOKEIDLIST = 0x0000_000C,
|
|
238
|
+
SEE_MASK_NOASYNC = 0x0000_0100,
|
|
239
|
+
SEE_MASK_NOCLOSEPROCESS = 0x0000_0040,
|
|
240
|
+
SEE_MASK_NOQUERYCLASSSTORE = 0x0100_0000,
|
|
241
|
+
SEE_MASK_NOZONECHECKS = 0x0080_0000,
|
|
242
|
+
SEE_MASK_NO_CONSOLE = 0x0000_8000,
|
|
243
|
+
SEE_MASK_UNICODE = 0x0000_4000,
|
|
244
|
+
SEE_MASK_WAITFORINPUTIDLE = 0x0200_0000,
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
export enum SHAddToRecentDocsFlags {
|
|
248
|
+
SHARD_APPIDINFO = 0x0000_0004,
|
|
249
|
+
SHARD_APPIDINFOIDLIST = 0x0000_0005,
|
|
250
|
+
SHARD_APPIDINFOLINK = 0x0000_0007,
|
|
251
|
+
SHARD_LINK = 0x0000_0006,
|
|
252
|
+
SHARD_PATHA = 0x0000_0002,
|
|
253
|
+
SHARD_PATHW = 0x0000_0003,
|
|
254
|
+
SHARD_PIDL = 0x0000_0001,
|
|
255
|
+
SHARD_SHELLITEM = 0x0000_0008,
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
export enum SHGetFileInfoFlags {
|
|
259
|
+
SHGFI_ADDOVERLAYS = 0x0000_0020,
|
|
260
|
+
SHGFI_ATTR_SPECIFIED = 0x0002_0000,
|
|
261
|
+
SHGFI_ATTRIBUTES = 0x0000_0800,
|
|
262
|
+
SHGFI_DISPLAYNAME = 0x0000_0200,
|
|
263
|
+
SHGFI_EXETYPE = 0x0000_2000,
|
|
264
|
+
SHGFI_ICON = 0x0000_0100,
|
|
265
|
+
SHGFI_ICONLOCATION = 0x0000_1000,
|
|
266
|
+
SHGFI_LARGEICON = 0x0000_0000,
|
|
267
|
+
SHGFI_LINKOVERLAY = 0x0000_8000,
|
|
268
|
+
SHGFI_OPENICON = 0x0000_0002,
|
|
269
|
+
SHGFI_OVERLAYINDEX = 0x0000_0040,
|
|
270
|
+
SHGFI_PIDL = 0x0000_0008,
|
|
271
|
+
SHGFI_SELECTED = 0x0001_0000,
|
|
272
|
+
SHGFI_SHELLICONSIZE = 0x0000_0004,
|
|
273
|
+
SHGFI_SMALLICON = 0x0000_0001,
|
|
274
|
+
SHGFI_SYSICONINDEX = 0x0000_4000,
|
|
275
|
+
SHGFI_TYPENAME = 0x0000_0400,
|
|
276
|
+
SHGFI_USEFILEATTRIBUTES = 0x0000_0010,
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
export enum ShowWindowCommand {
|
|
280
|
+
SW_FORCEMINIMIZE = 11,
|
|
281
|
+
SW_HIDE = 0,
|
|
282
|
+
SW_MAXIMIZE = 3,
|
|
283
|
+
SW_MINIMIZE = 6,
|
|
284
|
+
SW_NORMAL = 1,
|
|
285
|
+
SW_RESTORE = 9,
|
|
286
|
+
SW_SHOW = 5,
|
|
287
|
+
SW_SHOWDEFAULT = 10,
|
|
288
|
+
SW_SHOWMAXIMIZED = 3,
|
|
289
|
+
SW_SHOWMINIMIZED = 2,
|
|
290
|
+
SW_SHOWMINNOACTIVE = 7,
|
|
291
|
+
SW_SHOWNA = 8,
|
|
292
|
+
SW_SHOWNOACTIVATE = 4,
|
|
293
|
+
SW_SHOWNORMAL = 1,
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
export enum StockIconFlags {
|
|
297
|
+
SHGSI_ICON = 0x0000_0100,
|
|
298
|
+
SHGSI_ICONLOCATION = 0x0000_0000,
|
|
299
|
+
SHGSI_LARGEICON = 0x0000_0000,
|
|
300
|
+
SHGSI_LINKOVERLAY = 0x0000_8000,
|
|
301
|
+
SHGSI_SELECTED = 0x0001_0000,
|
|
302
|
+
SHGSI_SHELLICONSIZE = 0x0000_0004,
|
|
303
|
+
SHGSI_SMALLICON = 0x0000_0001,
|
|
304
|
+
SHGSI_SYSICONINDEX = 0x0000_4000,
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
export enum StockIconId {
|
|
308
|
+
SIID_APPLICATION = 2,
|
|
309
|
+
SIID_AUDIOFILES = 116,
|
|
310
|
+
SIID_AUTOLIST = 49,
|
|
311
|
+
SIID_CLUSTEREDDRIVE = 140,
|
|
312
|
+
SIID_COMPRESSED = 56,
|
|
313
|
+
SIID_DELETE = 84,
|
|
314
|
+
SIID_DESKTOPPC = 94,
|
|
315
|
+
SIID_DEVICEAUDIOPLAYER = 102,
|
|
316
|
+
SIID_DEVICECAMERA = 100,
|
|
317
|
+
SIID_DEVICECELLPHONE = 99,
|
|
318
|
+
SIID_DEVICEVIDEOCAMERA = 101,
|
|
319
|
+
SIID_DOCASSOC = 1,
|
|
320
|
+
SIID_DOCNOASSOC = 0,
|
|
321
|
+
SIID_DRIVE35 = 6,
|
|
322
|
+
SIID_DRIVE525 = 5,
|
|
323
|
+
SIID_DRIVECDROM = 11,
|
|
324
|
+
SIID_DRIVEDVD = 59,
|
|
325
|
+
SIID_DRIVEFIXED = 8,
|
|
326
|
+
SIID_DRIVENET = 9,
|
|
327
|
+
SIID_DRIVENETDISABLED = 10,
|
|
328
|
+
SIID_DRIVERAM = 12,
|
|
329
|
+
SIID_DRIVEREMOVE = 7,
|
|
330
|
+
SIID_DRIVEUNKNOWN = 58,
|
|
331
|
+
SIID_ENCRYPTED = 57,
|
|
332
|
+
SIID_ERROR = 80,
|
|
333
|
+
SIID_FIND = 22,
|
|
334
|
+
SIID_FOLDER = 3,
|
|
335
|
+
SIID_FOLDERBACK = 75,
|
|
336
|
+
SIID_FOLDERFRONT = 76,
|
|
337
|
+
SIID_FOLDEROPEN = 4,
|
|
338
|
+
SIID_HELP = 23,
|
|
339
|
+
SIID_IMAGEFILES = 117,
|
|
340
|
+
SIID_INFO = 79,
|
|
341
|
+
SIID_INTERNET = 13,
|
|
342
|
+
SIID_KEY = 77,
|
|
343
|
+
SIID_LINK = 29,
|
|
344
|
+
SIID_LOCK = 47,
|
|
345
|
+
SIID_MAX_ICONS = 181,
|
|
346
|
+
SIID_MEDIAAUDIODVD = 61,
|
|
347
|
+
SIID_MEDIABDR = 66,
|
|
348
|
+
SIID_MEDIABDRE = 68,
|
|
349
|
+
SIID_MEDIABDROM = 67,
|
|
350
|
+
SIID_MEDIABLANKCD = 65,
|
|
351
|
+
SIID_MEDIACDAUDIO = 40,
|
|
352
|
+
SIID_MEDIACDAUDIOPLUS = 62,
|
|
353
|
+
SIID_MEDIACDBURN = 42,
|
|
354
|
+
SIID_MEDIACDR = 64,
|
|
355
|
+
SIID_MEDIACDROM = 41,
|
|
356
|
+
SIID_MEDIACDRW = 43,
|
|
357
|
+
SIID_MEDIACOMPACTFLASH = 103,
|
|
358
|
+
SIID_MEDIADVD = 51,
|
|
359
|
+
SIID_MEDIADVDPLUSR = 55,
|
|
360
|
+
SIID_MEDIADVDPLUSRW = 54,
|
|
361
|
+
SIID_MEDIADVDR = 53,
|
|
362
|
+
SIID_MEDIADVDRAM = 52,
|
|
363
|
+
SIID_MEDIADVDROM = 60,
|
|
364
|
+
SIID_MEDIADVDRW = 44,
|
|
365
|
+
SIID_MEDIAENHANCEDCD = 63,
|
|
366
|
+
SIID_MEDIAENHANCEDDVD = 50,
|
|
367
|
+
SIID_MEDIAHDDVD = 69,
|
|
368
|
+
SIID_MEDIAHDDVDR = 71,
|
|
369
|
+
SIID_MEDIAHDDVDRAM = 72,
|
|
370
|
+
SIID_MEDIAHDDVDROM = 70,
|
|
371
|
+
SIID_MEDIAMOVIEDVD = 48,
|
|
372
|
+
SIID_MEDIASMARTMEDIA = 105,
|
|
373
|
+
SIID_MEDIAVCD = 73,
|
|
374
|
+
SIID_MOBILEPC = 95,
|
|
375
|
+
SIID_MYNETWORK = 17,
|
|
376
|
+
SIID_NETWORKCONNECT = 106,
|
|
377
|
+
SIID_PRINTER = 16,
|
|
378
|
+
SIID_PRINTERFAX = 20,
|
|
379
|
+
SIID_PRINTERFAXNET = 21,
|
|
380
|
+
SIID_PRINTERNET = 18,
|
|
381
|
+
SIID_RECYCLER = 31,
|
|
382
|
+
SIID_RECYCLERFULL = 32,
|
|
383
|
+
SIID_RENAME = 83,
|
|
384
|
+
SIID_SERVER = 15,
|
|
385
|
+
SIID_SERVERSHARE = 51,
|
|
386
|
+
SIID_SETTINGS = 106,
|
|
387
|
+
SIID_SHARE = 28,
|
|
388
|
+
SIID_SHIELD = 78,
|
|
389
|
+
SIID_SLOWFILE = 48,
|
|
390
|
+
SIID_SOFTWARE = 74,
|
|
391
|
+
SIID_STACK = 114,
|
|
392
|
+
SIID_STUFFEDFOLDER = 115,
|
|
393
|
+
SIID_USERS = 96,
|
|
394
|
+
SIID_VIDEOFILES = 118,
|
|
395
|
+
SIID_WARNING = 81,
|
|
396
|
+
SIID_WORLD = 13,
|
|
397
|
+
SIID_ZIPFILE = 105,
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
export type ASSOC_FILTER = number;
|
|
401
|
+
export type BOOL = number;
|
|
402
|
+
export type DWORD = number;
|
|
403
|
+
export type DWORD_PTR = bigint;
|
|
404
|
+
export type GETPROPERTYSTOREFLAGS = number;
|
|
405
|
+
export type HANDLE = bigint;
|
|
406
|
+
export type HDROP = bigint;
|
|
407
|
+
export type HICON = bigint;
|
|
408
|
+
export type HIMAGELIST = bigint;
|
|
409
|
+
export type HINSTANCE = bigint;
|
|
410
|
+
export type HKEY = bigint;
|
|
411
|
+
export type HMENU = bigint;
|
|
412
|
+
export type HPSXA = bigint;
|
|
413
|
+
export type HRESULT = number;
|
|
414
|
+
export type HWND = bigint;
|
|
415
|
+
export type INT = number;
|
|
416
|
+
export type INT_PTR = bigint;
|
|
417
|
+
export type LONG = number;
|
|
418
|
+
export type LPARAM = bigint;
|
|
419
|
+
export type LPAUTO_SCROLL_DATA = Pointer;
|
|
420
|
+
export type LPBROWSEINFOA = Pointer;
|
|
421
|
+
export type LPBROWSEINFOW = Pointer;
|
|
422
|
+
export type LPCITEMIDLIST = Pointer;
|
|
423
|
+
export type LPCSFV = Pointer;
|
|
424
|
+
export type LPCSHITEMID = Pointer;
|
|
425
|
+
export type LPCSTR = Pointer;
|
|
426
|
+
export type LPCVOID = Pointer;
|
|
427
|
+
export type LPCWSTR = Pointer;
|
|
428
|
+
export type LPDWORD = Pointer;
|
|
429
|
+
export type LPFNADDPROPSHEETPAGE = Pointer;
|
|
430
|
+
export type LPFNDFMCALLBACK = Pointer;
|
|
431
|
+
export type LPITEMIDLIST = Pointer;
|
|
432
|
+
export type LPPOINT = Pointer;
|
|
433
|
+
export type LPRECT = Pointer;
|
|
434
|
+
export type LPSECURITY_ATTRIBUTES = Pointer;
|
|
435
|
+
export type LPSHCREATEPROCESSINFOW = Pointer;
|
|
436
|
+
export type LPSHELLEXECUTEINFOA = Pointer;
|
|
437
|
+
export type LPSHELLEXECUTEINFOW = Pointer;
|
|
438
|
+
export type LPSHELLSTATE = Pointer;
|
|
439
|
+
export type LPSHFOLDERCUSTOMSETTINGS = Pointer;
|
|
440
|
+
export type LPSHFILEINFOA = Pointer;
|
|
441
|
+
export type LPSHFILEINFOW = Pointer;
|
|
442
|
+
export type LPSHFILEOPSTRUCTA = Pointer;
|
|
443
|
+
export type LPSHFILEOPSTRUCTW = Pointer;
|
|
444
|
+
export type LPSHELLFLAGSTATE = Pointer;
|
|
445
|
+
export type LPSHSTOCKICONINFO = Pointer;
|
|
446
|
+
export type LPSTR = Pointer;
|
|
447
|
+
export type LPVOID = Pointer;
|
|
448
|
+
export type LPWORD = Pointer;
|
|
449
|
+
export type LPWSTR = Pointer;
|
|
450
|
+
export type LRESULT = bigint;
|
|
451
|
+
export type PAPPBARDATA = Pointer;
|
|
452
|
+
export type PCABINETSTATE = Pointer;
|
|
453
|
+
export type PCDEFCONTEXTMENU = Pointer;
|
|
454
|
+
export type PCIDLIST_ABSOLUTE = Pointer;
|
|
455
|
+
export type PCIDLIST_RELATIVE = Pointer;
|
|
456
|
+
export type PCUITEMID_CHILD = Pointer;
|
|
457
|
+
export type PCUITEMID_CHILD_ARRAY = Pointer;
|
|
458
|
+
export type PCUIDLIST_RELATIVE = Pointer;
|
|
459
|
+
export type PCUIDLIST_RELATIVE_ARRAY = Pointer;
|
|
460
|
+
export type PDLLVERSIONINFO = Pointer;
|
|
461
|
+
export type PIDLIST_ABSOLUTE = Pointer;
|
|
462
|
+
export type PIDLIST_RELATIVE = Pointer;
|
|
463
|
+
export type PNOTIFYICONIDENTIFIER = Pointer;
|
|
464
|
+
export type PNOTIFYICONDATAA = Pointer;
|
|
465
|
+
export type PNOTIFYICONDATAW = Pointer;
|
|
466
|
+
export type POPENASINFO = Pointer;
|
|
467
|
+
export type PSFV_CREATE = Pointer;
|
|
468
|
+
export type PSHCHANGENOTIFYENTRY = Pointer;
|
|
469
|
+
export type PSHQUERYRBINFO = Pointer;
|
|
470
|
+
export type PUIDLIST_RELATIVE = Pointer;
|
|
471
|
+
export type PUITEMID_CHILD = Pointer;
|
|
472
|
+
export type PWSTR = Pointer;
|
|
473
|
+
export type SFGAOF = number;
|
|
474
|
+
export type SIGDN = number;
|
|
475
|
+
export type SIZE_T = bigint;
|
|
476
|
+
export type UINT = number;
|
|
477
|
+
export type UINT_PTR = bigint;
|
|
478
|
+
export type ULONG = number;
|
|
479
|
+
export type VOID = void;
|
|
480
|
+
export type WCHAR = number;
|
|
481
|
+
export type WORD = number;
|
|
482
|
+
|
|
483
|
+
export type NULL = null;
|
|
484
|
+
|
|
485
|
+
/**
|
|
486
|
+
* A POINT struct packed into a 64-bit integer for by-value passing in the x64 ABI.
|
|
487
|
+
*
|
|
488
|
+
* On x64, `POINT` (8 bytes: two `LONG`s) is passed in a single register.
|
|
489
|
+
* Use `packPOINT(x, y)` to create one.
|
|
490
|
+
*/
|
|
491
|
+
export type PACKED_POINT = bigint;
|
|
492
|
+
|
|
493
|
+
const _packBuf = Buffer.alloc(8);
|
|
494
|
+
|
|
495
|
+
/** Pack two `LONG` values into a `PACKED_POINT` for Win32 functions that take `POINT` by value. */
|
|
496
|
+
export function packPOINT(x: number, y: number): PACKED_POINT {
|
|
497
|
+
_packBuf.writeInt32LE(x, 0);
|
|
498
|
+
_packBuf.writeInt32LE(y, 4);
|
|
499
|
+
return _packBuf.readBigUInt64LE(0);
|
|
500
|
+
}
|