怎么样在PowerShell中打开或关闭光驱?
怎么样在PowerShell中打开或关闭光驱?
机箱没有选好, 光盘的出仓/收仓键被挡住了, 用起来很别扭. 记得有一款小软件可以控制光驱的出仓与收仓. 搜索了一下使用的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键 | 清除所有曾经输入的命令历史记录 |