是否可以将Win+L热键重新分配给其他可执行文件/快捷方式?
应用场景 - 当我的笔记本电脑锁定时,我想立即关闭显示器。我知道有一个可执行文件可以锁定并关闭显示器,但我不想改变系统锁定的方式(通过显式运行程序或其他快捷方式)。最好能将Win+L分配给这个可执行文件。
是否可以将Win+L热键重新分配给其他可执行文件/快捷方式?
应用场景 - 当我的笔记本电脑锁定时,我想立即关闭显示器。我知道有一个可执行文件可以锁定并关闭显示器,但我不想改变系统锁定的方式(通过显式运行程序或其他快捷方式)。最好能将Win+L分配给这个可执行文件。
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableLockWorkstation"=dword:00000001
然后重新启动计算机。
此方法适用于Win7、Win8和Win10。
该基于注册表的解决方案本身完全禁用了锁定系统(即使通过开始
菜单也无法锁定)。
下面是一种实际提供了一种在不使用Win-L组合键的情况下锁定计算机的方法。可以通过任务栏上的快捷方式或按顺序按下它们,然后再按Enter来锁定。
首先,创建一个批处理文件,可以切换系统锁定并触发锁定本身;此操作的说明取自论坛帖子:
创建可打开或关闭系统锁定的注册表编辑文件。这与Brent Foust的回答相同。
在DisableLockWorkstation.reg
中:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableLockWorkstation"=dword:00000001
在 EnableLockWorkstation.reg
文件中: Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableLockWorkstation"=-
运行注册表编辑器脚本来禁用系统锁定。
创建一个批处理文件,使用.reg
文件来切换该功能:
regedit /S EnableLockWorkstation.reg
rundll32.exe user32.dll,LockWorkStation
regedit /S DisableLockWorkstation.reg
���在,你可以创建一个快捷方式并将其固定到任务栏:
cmd.exe /C "<path>\lock.bat"
,其中<path>
是指向lock.bat
文件的完整路径。如上所述,完成上述过程后,您应该能够使用按键序列Win、L、Enter锁定计算机(注意:不要以和弦的形式按下)。这是因为这个序列会被解释为:
lock.bat
快捷方式将始终是第一个搜索结果。(在尝试这种方法锁定计算机之前,请验证此事项!)以下是我制作的任务栏快捷方式的图片(使用此图标):
在下方评论中,用户lub094建议一种将快捷方式分配给和弦Ctrl-Alt-L(或其他您喜欢的快捷方式)的方法。由于我已重新启用了系统快捷键,因此我没有时间测试它,但我认为它有效。
Win+L 是系统分配的热键,没有禁用选项。这意味着应用程序无法检测到它,除非您使用低级全局键盘钩子 (WH_KEYBOARD_LL)。在XP SP3中有效;尚未在Vista中测试:
LRESULT CALLBACK LowLevelKeyboardProc(int code, WPARAM wparam, LPARAM lparam) {
KBDLLHOOKSTRUCT& kllhs = *(KBDLLHOOKSTRUCT*)lparam;
if (code == HC_ACTION) {
// Test for an 'L' keypress with either Win key down.
if (wparam == WM_KEYDOWN && kllhs.vkCode == 'L' &&
(GetAsyncKeyState(VK_LWIN) < 0 || GetAsyncKeyState(VK_RWIN) < 0))
{
// Place some code here to do whatever you want.
// ...
// Return non-zero to halt message propagation
// and prevent the Win+L hotkey from getting activated.
return 1;
}
}
return CallNextHookEx(0, code, wparam, lparam);
}
WH_KEYBOARD
)无法捕获热键事件。看起来你不能这样做。
你可以通过对注册表进行以下更改来禁用所有内置的Windows热键除了Win+L和Win+U(这应该适用于所有操作系统,但可能需要重新启动):
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer NoWinKeys REG_DWORD 0x00000001 (1)
(http://www.autohotkey.com/docs/misc/Override.htm)
但你可以尝试使用Tweak UI。在资源管理器树视图项目下,取消选中“启用Windows+X”热键。Hoekey 也可能有效,但我还没有尝试过。来源。
@FrancoisB的方法适用于Win8和Win7。要自动化解决方案:
Create a text file with the .reg suffix (DisableWinL.reg, for example)
Paste the following content and save the file:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableLockWorkstation"=dword:00000001
Open that file with RegEdit (double-click should work) to execute the change.
This file can be copied to a new machine to repeat the process. And another one named something like "EnableWinL.reg" could be created that re-enables the Win+L key:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableLockWorkstation"=dword:00000000
使用Windows 10的Power Toys。 在那里您可以重新映射快捷键.. 下载Power Toys
win+l
,而且会完全禁用锁定功能。它将禁用“开始 > 关闭”中的锁定、恢复/唤醒时的锁定等。 - dhulihan