① vc中一台電腦上產生的鍵盤事件有沒有辦法傳到另一台電腦上
必須用到socket,網路的事情歸網路管;
記錄鍵盤時間的事情:首先必須和對方電腦連接;然後截獲對方電腦的鍵盤消息,通過網路傳回本地;
如果實現了這些東西,一個基本的小型木馬也就完成了;不過只有鍵盤記錄功能而已;
這樣吧 你去網路一下socket網路編程和鍵盤消息截獲就可以了
② 如何調用windows鍵盤事件
windows平台是基於消息機制的,我們操作鍵盤的時候,實際上是向系統發送了WM_KEYBOARD的消息,然後windows內部的圖形模塊會處理的。
③ 電腦是如何將我們的鍵盤敲入的指令實現的,具體點:就是我敲入一句指令,比如打開一個文件夾,
這一切都是由電腦中的CPU控制的,CPU就相當於人腦,所以計算機也稱電腦。CPU速度不僅非常快,配合主板等硬體可以在極短的「同時」處理非常多的信息,其中有一個優先順序非常高的中斷就是實時監測硬碟按鍵,一旦發現有鍵被按下,會在第一時間處理這個按鍵事件,有如人被扎了一下(呵呵比喻有點不當)會有神經立即通知大腦去處理一樣,CPU會根據鍵盤上不同的按鍵處理,最終反應到屏幕、音響上。再細的,寫一本書也不一定能說清,這涉及到編程設計,哪天你學學編寫程序後就知道了,其實99%的程序軟體都是應用軟體,編輯時不用像你想像的那樣要考慮CPU怎麼去作,真正控制CPU等硬體如何如何去作那就是最低級的程序了,不是一般人能作得了的。。。。我不寫書,也沒法說的具體,哪天看看相關資料去吧
④ 如何在WORD中獲得對鍵盤事件的響應
Search MSDN
MouseProc Function
KeyboardProc Function
HOOK方式或者用循環
http://www.360doc.com/content/13/0615/20/2890868_293110527.shtml
⑤ 怎麼使不可見的窗體接受鍵盤事件
我覺得應該用代碼生成窗體,然後設置窗體的Visible屬性為false就可以了。把窗體賦給一個變數試試。
⑥ Qt如何捕獲鍵盤事件
您好,Qt鍵盤事件屬於Qt事件系統,所以事件系統中所有規則對按鍵事件都有效。下面關注點在按鍵特有的部分:
focus
一個擁有焦點(focus)的QWidget才可以接受鍵盤事件。有輸入焦點的窗口是活動窗口或活動窗口子窗口或子子窗口等。
焦點移動的方式有以下幾種:
按下Tab或Shift+Tab
注意:文本編譯器(一般需要插入Tab),或者WebView(需要Tab來移動超鏈接焦點) 等
Qt中,需要輸入Tab的地方可以用 Ctrl+Tab 或 Ctrl+Shift+Tab 替代。
點擊一個QWidget
建議:只對接受文本輸入的Widget啟用該功能
按下鍵盤的快捷鍵
QLabel::setBuddy(), QGroupBox,以及 QTabBar 支持
使用滑鼠滾輪
用戶移動焦點
程序將決定被設置focus的Widget的哪一個子Widget獲得焦點
注意:如果一個 Widget 已經 grabKeyboard,所有鍵盤事件將發送到該Widget而不是獲得焦點的Widget
focusPolicy
一個QWidget獲得焦點的方式受 focusPolicy 控制
Qt::TabFocus
通過Tab鍵獲得焦點
Qt::ClickFocus
通過被單擊獲得焦點
Qt::StrongFocus
可通過上面兩種方式獲得焦點
Qt::NoFocus
不能通過上兩種方式獲得焦點(默認值),setFocus仍可使其獲得焦點
keypress和keyrelease
首先,我們要是Widget獲得焦點,一般設置focusPolicy。
然後要對按鍵進行響應,我們只需要直接重載:
keyPressEvent
keyReleaseEvent
注意:
對我們不處理的事件,要調用父類的相應事件處理函數。
如果widget當前沒有焦點,考慮到事件轉發:如果其子widget有焦點,那麼該widget未處理的鍵盤事件將被轉發過來。
有時輸入焦點不在任何窗口中。這種情況發生在所有程序都是最小化的時候。這時,Windows將繼續向活動窗口發送鍵盤消息,但是這些消息與發送給非最小化的活動窗口的鍵盤消息有不同的形式。
QKeyEvent
在windows下,與鍵盤事件有關的有8個消息:
對產生可顯示字元的按鍵組合,Windows不僅給程序發送按鍵消息,而且還發送字元消息
有些鍵不產生字元,這些鍵包括shift鍵、功能鍵、游標移動鍵和特殊字元鍵如Insert和Delete。對於這些鍵,Windows只產生按鍵消息。
這些消息在Qt中只體現在QKeyEvent中。
對字元,可通過 QKeyEvent::text() 獲得
其他鍵,QKeyEvent::key() 獲得一個鍵值
event函數
由於 Tab 鍵被用來切換焦點,這使得它與眾不同。
這是qwidget.cpp的event函數中的代碼片段:
case QEvent::KeyPress:
{
QKeyEvent *k = (QKeyEvent *)event;
bool res = false;
if (!(k->modifiers() & (Qt::ControlModifier | Qt::AltModifier)))
{ //### Add MetaModifier?
if (k->key() == Qt::Key_Backtab || (k->key() == Qt::Key_Tab && (k->modifiers() & Qt::ShiftModifier)))
res = focusNextPrevChild(false);
else if (k->key() == Qt::Key_Tab)
res = focusNextPrevChild(true);
if (res)
break;
}
keyPressEvent(k);
}
如果我們需要處理Tab鍵,需要重載 event 函數。
⑦ C#中怎麼接受鍵盤事件
鉤子函數.
你按鍵盤事件後,比如你按ALT+F4,系統默認是關機的;
這時候你可以截斷鍵盤事件,就是在你按鍵盤,鍵盤向系統發送消息時候,把這個消息給截下來,然後告訴它,這個鍵盤動作要執行什麼事情。
所以你的游戲就可以這樣子,當你按上移,你就告訴鍵盤發送出去的消息,這個動作要執行你的往上跳(假設)。
原理出來了
樓上的那個有局限性,不能做游戲,那是基本的事件而已,如果你的游戲失去焦點的話,你的鍵盤動作就無效了。
樓上那個就是隨便在程序裡面的事件處理而已