線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:993
推到 Plurk!
推到 Facebook!

在console下怎麼抓鍵盤訊息

答題得分者是:wu-eric
hdilwy
初階會員


發表:18
回覆:65
積分:41
註冊:2004-08-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-13 15:15:24 IP:140.128.xxx.xxx 未訂閱
 
int main()
{
    bool flag=true;
    while(flag)
    {
          if(使用者按下==ENTER)
          {
                  則作Enter_press();
                  flag=false;
          }
          if(使用者按下==ESC)
          {
                  則作ESC_press();
                  flag=false;
          }
    }
}
我看過站上很多文章,看到的是keybd_event 或是 PostMessage()... 由於是第一次接觸這方面的,看不太懂. 希望有人能替我解答 感恩!!!!!
wu-eric
中階會員


發表:14
回覆:82
積分:64
註冊:2004-03-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-13 17:21:52 IP:210.66.xxx.xxx 未訂閱
您可以試試下列程式是不是你所要的
int main()
{
    bool flag=true;
    char ch;
    while(flag)
    {
          ch=getch();
          if(ch==13) //使用者按下==ENTER
          {
                  則作Enter_press();
                  flag=false;
          }
          if(ch==27) //使用者按下==ESC)
          {
                  則作ESC_press();
                  flag=false;
          }
    }
}
發表人 - taishyang 於 2005/04/13 17:38:31
hdilwy
初階會員


發表:18
回覆:65
積分:41
註冊:2004-08-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-13 18:50:15 IP:140.128.xxx.xxx 未訂閱
引言: 您可以試試下列程式是不是你所要的
int main()
{
    bool flag=true;
    char ch;
    while(flag)
    {
          ch=getch();
          if(ch==13) //使用者按下==ENTER
          {
                  則作Enter_press();
                  flag=false;
          }
          if(ch==27) //使用者按下==ESC)
          {
                  則作ESC_press();
                  flag=false;
          }
    }
}
抱歉~~ 如果狀況是這樣呢? 使用者輸入的一串文字 Hi today is a good day. 然後按下enter 然後我的程式抓到他按下enter這個動作時才去讀那個字串 請問這樣能實作出來嗎?
blk5743
高階會員


發表:34
回覆:371
積分:236
註冊:2003-11-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-13 19:56:04 IP:61.66.xxx.xxx 未訂閱
hdilwy你好 getch();是讀字元 你可用gets讀取字串,用法如下 char bigstr[81]; printf("輸入字串:"); gets(bigstr);
hdilwy
初階會員


發表:18
回覆:65
積分:41
註冊:2004-08-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-13 20:27:10 IP:140.128.xxx.xxx 未訂閱
可能是我題目定的不好吧 我希望做的是使用者先不管他輸入了什麼 我只要抓到他是按下enter or ...時我才做對應動作 如使用者打了abcdefgh但是這些字都沒有對應動作 直到使用者按下如enter好了 此時對應動作是printf("ok\n"); 有什麼方法可以不用一個字一個字抓其key來判斷是不是enter 有點像是在UI下的 keydown,keypress這些動作 發表人 - hdilwy 於 2005/04/13 20:30:36
hdilwy
初階會員


發表:18
回覆:65
積分:41
註冊:2004-08-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-15 09:26:47 IP:140.128.xxx.xxx 未訂閱
看來只能用wu-eric大大的方法 ㄧ個一個字抓 抓到使用者輸入什麼就對應什麼 感謝!
系統時間:2024-05-19 14:42:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!