-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpreload.js
More file actions
38 lines (31 loc) · 1.93 KB
/
Copy pathpreload.js
File metadata and controls
38 lines (31 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
const { contextBridge, ipcRenderer } = require('electron');
contextBridge.exposeInMainWorld('electronAPI', {
// System / BitLocker
getOS: () => ipcRenderer.invoke('get-os'),
checkAdmin: () => ipcRenderer.invoke('check-admin'),
getDrives: () => ipcRenderer.invoke('get-drives'),
unlockDrive: (params) => ipcRenderer.invoke('unlock-drive', params),
lockDrive: (params) => ipcRenderer.invoke('lock-drive', params),
enableBitLocker: (params) => ipcRenderer.invoke('enable-bitlocker', params),
disableBitLocker: (params) => ipcRenderer.invoke('disable-bitlocker', params),
getBackupKey: (params) => ipcRenderer.invoke('get-backup-key', params),
// Sterowanie oknem (custom titlebar)
windowMinimize: () => ipcRenderer.send('window-minimize'),
windowMaximize: () => ipcRenderer.send('window-maximize'),
windowClose: () => ipcRenderer.send('window-close'),
windowIsMaximized: () => ipcRenderer.invoke('window-is-maximized'),
onWindowMaximized: (cb) => ipcRenderer.on('window-maximized', (_e, val) => cb(val)),
// Ochrona przed zabiciem podczas operacji — zgłaszanie stanu do main/tray
setBusy: (busy, label) => ipcRenderer.send('set-busy', { busy, label }),
// Język procesu głównego (tray, dialogi)
setLang: (lang) => ipcRenderer.send('app:set-lang', lang),
// Recovery Lab (eksperymentalne odzyskiwanie klucza metodą siłową)
recoveryStart: (params) => ipcRenderer.send('recovery:start', params),
recoveryStop: () => ipcRenderer.send('recovery:stop'),
recoveryGetSession: () => ipcRenderer.invoke('recovery:get-session'),
recoveryClearSession: () => ipcRenderer.invoke('recovery:clear-session'),
onRecoveryProgress: (cb) => ipcRenderer.on('recovery:progress', (_e, d) => cb(d)),
onRecoveryDone: (cb) => ipcRenderer.on('recovery:done', (_e, d) => cb(d)),
openExternal: (url) => ipcRenderer.send('open-external', url),
verifyGumroadLicense: (licenseKey) => ipcRenderer.invoke('verify-gumroad-license', licenseKey)
});