请问Win32::Console如何获取键盘的输入字符并显示
时间:2010-08-26
来源:互联网
本帖最后由 aef25u 于 2010-08-26 00:31 编辑
非使用Term::ReadKey获取键盘输入,请问Win32::Console如何获取键盘的输入字符并显示?
只是显示的话可以用(my $OUT = new Win32::Console(STD_OUTPUT_HANDLE) || die;$OUT->Write();)实现,看了cpan文档后仍不知如何从键盘获取输入字符,请知道的告知一下,谢谢!
非使用Term::ReadKey获取键盘输入,请问Win32::Console如何获取键盘的输入字符并显示?
只是显示的话可以用(my $OUT = new Win32::Console(STD_OUTPUT_HANDLE) || die;$OUT->Write();)实现,看了cpan文档后仍不知如何从键盘获取输入字符,请知道的告知一下,谢谢!
作者: aef25u 发布时间: 2010-08-26
copy了一点之前的代码,大概流程如下,主要是 input event的获取,因为console模块还可以获取 mouse 的event,所以有好些参数你都要去查一下怎么用,MS 和 CPAN 都应该有文档的。
my $In = new Win32::Console(STD_INPUT_HANDLE) || die;
my @event=$In->Input();
# keyboard event type = 1 key down=1 repeat count =1
if(($event[0] == 1) && ($event[1] == 1) && ($event[2] == 1)) {
return \@event;
}
return 0;
利用返回的 \@event,可以获取:
my ($virtualKey, $asciiKey) = @$keyDownEvent[3, 5];
my $In = new Win32::Console(STD_INPUT_HANDLE) || die;
my @event=$In->Input();
# keyboard event type = 1 key down=1 repeat count =1
if(($event[0] == 1) && ($event[1] == 1) && ($event[2] == 1)) {
return \@event;
}
return 0;
利用返回的 \@event,可以获取:
my ($virtualKey, $asciiKey) = @$keyDownEvent[3, 5];
作者: dugu072_cu 发布时间: 2010-08-26
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28