PowerShell打开或关闭光驱

1544 查看

机箱没有选好, 光盘的出仓/收仓键被挡住了, 用起来很别扭. 记得有一款小软件可以控制光驱的出仓与收仓. 搜索了一下使用的Windows API. 编写了下面的代码, 希望大家喜欢:

PS C:\Users\Eden> $a = Add-Type -memberDefinition @"
>> [DllImport("winmm.dll", CharSet = CharSet.Ansi)]
>> public static extern int mciSendStringA(
>> string lpstrCommand,
>> string lpstrReturnString,
>> int uReturnLength,
>> IntPtr hwndCallback);
>> "@ -passthru -name mciSendString
>>
PS C:\Users\Eden> $a::mciSendStringA('set cdaudio door open', $null, 0,0); # 打开光驱
0
PS C:\Users\Eden> $a::mciSendStringA('set cdaudio door closed', $null, 0,0); # 关闭光驱
0

最后给大家附上今天为大家总结的在控制台的所有快捷键, 方便大家使用PowerShell. 实际上Cmd.exe或任何控制台都支持这些快捷键的.

按键

功能

光标向左移动一个字符

Ctrl + 

光标向左移动一个单词

光标向右移动一个字符

Ctrl + 

光标向右移动一个单词

Home

光标移动到行首

End

光标移动到行尾

Delete

删除光标指向的字符

Backspace键或Ctrl + H

删除光标左边第一个字符

Ctrl + End

删除从光标到行尾的所有字符

Esc

清除当前输入的所有字符

Insert

插入与改写模式切换

Tab

Tab键自动完成命令,例如:自动完成命令的名称、cmdlet命令的参数、路径。如果第一个提示的对象不是您期望的结果,继续输入Tab键,将会自动显示下一个候选对象。

向上查询历史命令

向下查询历史命令

F7

显示命令历史记录,以图形列表窗的形式给出所有曾经输入的命令,并可用上下箭头键选择再次执行该命令。

F8

搜索命令对应的历史记录,在命令上输入命令的一部分内容后,按F8键,可以得到匹配该输入的历史命令。如果有多个匹配项,重复按F8,可以循环显示所有曾经输入的命令。如果命令行为空,则默认匹配所有历史输入的命令。

F9

按编号选择历史命令,以图形对话框方式要求您输入命令所对应的编号(从0开始),并将该命令显示在屏幕上。

Enter键或Ctrl + M

回车(Enter

Ctrl + C

终止当前执行的命令

Ctrl + Break

终止当前执行的命令

Alt + F7

清除所有曾经输入的命令历史记录