CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他开发语言 >  Office开发/ VBA

请问怎样实现在屏幕输出时任按一键使其停止?

楼主pwb()2003-11-02 16:38:23 在 其他开发语言 / Office开发/ VBA 提问

请问怎样实现在屏幕输出时任按一键使其停止? 问题点数:0、回复次数:5Top

1 楼csdsjkk()回复于 2003-11-02 16:43:04 得分 0

不用编程,  
  试试按   <ctrl   s>Top

2 楼pwb()回复于 2003-11-02 16:46:30 得分 0

但这是题目的要求Top

3 楼bluedreammer(瀟瀟鳥)回复于 2003-11-03 09:17:54 得分 0

循環的時候不停詢問鍵盤緩衝區有沒有定義退出的某鍵摁下,就可以實現阿  
  不過cpu的效率很低.Top

4 楼rorot(rorot)回复于 2003-11-03 10:58:46 得分 0

;---------------------------------------------    
            .model   small  
              .data  
  msg       db           'This   is   a   example',13,10,'$'  
              .code  
  .386  
  a10main           proc     near  
              mov       ax,   @data  
              mov       ds,   ax  
               
              call     c10clear                             ;清屏  
              mov       dx,   080fh                           ;设置光标点  
              call     c20cursor                           ;请求光标  
               
              lea       dx,   msg                               ;给dx,msg的地址  
              call     d10display                         ;显示msg  
              call     a20auto                               ;检测键盘状态来显示  
               
  a40:     mov       ax,   4c00h                           ;结束程序运行  
              int       21h  
  a10main           endp  
  ;---------------------------------------------  
  a20auto           proc     near  
              pusha                                                   ;积存器压入堆栈  
  auto:  
              call     d10display  
              mov       ah,   0bh                                   ;调用int   21h的0Bh来检测键盘缓冲区按键  
              int       21h  
              cmp       al,   00h                                   ;AL的返回是00H,则表示没有按键  
              je         auto                                         ;继续执行循环操作  
  quit:  
              mov       ah,   0ch                                   ;调用int   21h的0Ch来清空键盘缓冲区  
              int       21h  
              popa                                                     ;积存器弹出堆栈  
              ret  
  a20auto           endp  
  ;---------------------------------------------  
  c10clear         proc     near  
              pusha                                             ;保存通用积存器  
              mov       ax,   0600h                         ;请求全屏滚屏  
              mov       bh,   30                               ;背景色  
              mov       cx,   0000h                         ;左上角  
              mov       dx,   184fh                         ;右下角  
              int       10h  
              popa                                               ;释放通用积存器  
              ret  
  c10clear         endp  
  ;---------------------------------------------  
  c20cursor       proc     near  
              push     ax  
              push     bx  
              mov       ah,   02h                               ;请求设置光标  
              mov       bh,   00h                               ;第0页  
              int       10h  
              pop       bx  
              pop       ax  
              ret  
  c20cursor       endp  
  ;---------------------------------------------  
  d10display     proc     near  
              push     ax  
              mov       ah,   09h                             ;请求显示  
              int       21h  
              pop       ax  
              ret  
  d10display     endp  
  ;---------------------------------------------  
              end       a10main  
  Top

5 楼phicy(小小)回复于 2003-11-03 11:09:34 得分 0

我觉得采用中断的方法不是很好,有点浪费内存。Top

相关问题

  • 获取屏幕输出??
  • 控制台分屏幕输出问题
  • 如何在屏幕上输出一个%
  • 在打印机的输出与屏幕的输出不一致。WHY????????????????????
  • 求写一程序,一键关闭显示器和屏幕保护
  • 怎样查看gcc输出到屏幕的完整信息(屏幕已滚动)?
  • 怎样将结果输出到屏幕上呀?
  • 如何控制屏幕输出,详见内容
  • Foxpro简单问题:不要屏幕输出。
  • 直接在屏幕上输出要怎么做?

关键词

  • 键盘
  • auto
  • proc near
  • dx
  • ax
  • mov
  • msg
  • call
  • int21

得分解答快速导航

  • 帖主:pwb

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo