用 electron
開發(fā)自己的接口測試工具(Post Tools),在設(shè)置了 globalShortcut
快捷鍵后,發(fā)現(xiàn)應(yīng)用中的快捷鍵與系統(tǒng)全局快捷鍵沖突了,導(dǎo)致系統(tǒng)快捷鍵不可正常使用。
快捷鍵配置
export function initGlobalShortcut(mainWindow) {
globalShortcut.register('CommandOrControl+shift+r', () => {
app.relaunch()
app.exit()
})
globalShortcut.register('CommandOrControl+shift+delete', () => {
resetLocalData()
})
globalShortcut.register('F1', () => {
shell.openExternal('https://tiven.cn/p/4dc21784/')
})
globalShortcut.register('F2', () => {
shell.openExternal('https://tiven.cn/service/tools/post-tool')
})
globalShortcut.register('F5', () => {
mainWindow?.reload()
})
globalShortcut.register('CommandOrControl+r', () => {
mainWindow?.reload()
})
globalShortcut.register('CommandOrControl+q', () => {
app.exit()
})
globalShortcut.register('CommandOrControl+w', () => {
mainWindow?.hide()
mainWindow?.setSkipTaskbar(true)
})
globalShortcut.register('F11', () => {
// 是否全屏
if (mainWindow?.isFullScreen()) {
// mainWindow?.minimize();
mainWindow?.setFullScreen(false)
mainWindow?.setMenuBarVisibility(true)
} else {
mainWindow?.setFullScreen(true)
mainWindow?.setMenuBarVisibility(false)
}
})
globalShortcut.register('Esc', () => {
// 是否全屏
if (mainWindow?.isFullScreen()) {
// mainWindow?.minimize();
mainWindow?.setFullScreen(false)
mainWindow?.setMenuBarVisibility(true)
}
})
globalShortcut.register('CommandOrControl+F12', () => {
mainWindow?.webContents.openDevTools({ mode: 'detach' })
})
}
解決沖突
一般來說會在 mainWindow ready-to-show
的時候初始化快捷鍵,當(dāng)然也可以在應(yīng)用失去焦點(blur
)的時候主動應(yīng)用的注銷快捷鍵,以避免和系統(tǒng)快捷鍵沖突。文章來源:http://www.zghlxwxcb.cn/news/detail-596791.html
mainWindow.on('ready-to-show', () => {
mainWindow.show()
// 注冊全局快捷鍵
initGlobalShortcut(mainWindow)
})
mainWindow.on('blur', () => {
// 失去焦點,注銷快捷鍵
globalShortcut.unregisterAll()
})
歡迎訪問:天問博客文章來源地址http://www.zghlxwxcb.cn/news/detail-596791.html
到了這里,關(guān)于electron globalShortcut 快捷鍵與系統(tǒng)全局快捷鍵沖突的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!