1樓:自我程式設計
你這個程式是捕捉0到9的按鍵狀態,按下再鬆開時才會記錄,想要識別所有按鍵,把for迴圈範圍擴大。
比如for(charch=32;ch<=127;ch++)這樣就包含了特殊符號及大小寫字母還有數字。
但是,這個**是有問題的!
一、你這個**需在鍵位已經按下後啟動才能識別,否則啟動時沒有按下對應鍵位,程式就結束了。要巢狀死迴圈,讓其一直檢測。
二、直接擴大ascii區間,像上面的那樣32~127,識別字母區間會被防毒軟體直接判斷為病毒!!。
三、getasynckeystate不是c語言庫函式,是window的函式,換其它作業系統就失效。
getasynckeystate返回值最高位為1則說明對應ch的鍵被按下,所以這裡用&0x8000來判斷最高位。
四、想要捕獲其它軟體介面內容還有很多方法,比如:
1、通過windowapi函式findwindow來獲取視窗控制代碼。
2、遍歷視窗下控制元件控制代碼,找到輸入框控制代碼。
3、通過視窗控制代碼找到程序id(getwindowthreadprocessid函式),再通過id獲取程序控制代碼(openprocess函式)。
4、向目標程序申請記憶體(virtualallocex),再通過postmessage函式非同步傳送訊息獲取目標控制元件內的內容(具體訊息要結合控制元件型別,另外注意postmessage是非同步執行)。
具體自行查閱資料,一言兩語說不清,上面步驟需先搞懂window訊息機制。
注意:以上方法依然只限window系統,且有資料保護的控制元件無法獲取。
五、或簡單暴力的方法,直接寫個定時截圖,只要硬碟夠不停桌面截圖。
但不論寫什麼程式,和裝攝像頭一樣,終究都會被發現。!!!!!!!!!!!!!
2樓:匿名使用者
char c;
while(1)
//您試試
3樓:
我去我這小學畢業的竟然點進來了,c語言並不難,但是你得有一定的英語基礎,要不你都看不懂單詞啥意思,慢慢來吧,年輕人,一點一點的,好好的,多從網上學一點高階的程式設計技能,越來越好,越來越快的程式設計師屬於你!
c語言問題。
4樓:暢景彰
void main()
這個程式應該滿足你的要求了,而且我已經通過除錯了。
c語言問題?
5樓:匿名使用者
第一個for迴圈的
來作用是:找陣列a中第一自個比input大的元素,找到就跳出for(此時i儲存了這個元素的下標),未找到的話i最後等於9。
j=i;就是將上面找到的那個元素的下標或9儲存到j。
第二個for迴圈的作用是:把陣列a的下標為j至8的所有元素都後移一個位置,騰出下標為j的位置。
a[j]=input;就是將input插入到陣列a中第一個比它大的元素的前面(如果找到了這樣一個元素的話),否則(即陣列a的所有元素都比input小),則將input儲存到a[9](就是追加到陣列a的後面)。
6樓:匿名使用者
這句迴圈的bai意義是從索引9開始du
向左遍歷元素,直到i=j結束。zhi
整段代dao碼是接收鍵盤輸版入一個值,按大小順序插權入到陣列。
第一個迴圈是從陣列中查詢比輸入值大的位置,如果找到,則i就是命中的索引,如果找不到則迴圈到底,此時i為9(此種情況說明輸入值比陣列中的元素都大,後面輸入值存在尾部),無論是否找到最終將i賦值給j。
第二個迴圈就是從右側開始迴圈逐個將前一個資料往右移,最終將j索引指定的位置騰出空間
最終將輸入值賦值給j指定的位置。
因此整體功能就是按大小順序插入。
7樓:匿名使用者
先令i=9,再在i>j的情況下進行迴圈,每次迴圈結束後i-1
c語言問題?
8樓:田小米
if判斷句中,(x=1)是真命題,所以x被賦值為1,y=x,所以y被賦值為1。下一條語句,y=y+1,所以y=2。
所以x=1,y=2
c語言問題,求助
9樓:北京最遊科技****
這題是迷惑人用的……
因為迴圈內部沒有break,所以for會一直執行下去,直到a=11,。這時a大於10,迴圈結束。
最終a的值為11
10樓:岔路程式緣
for(a=0;a<=10;a++)
直到a=11時,迴圈結束。迴圈體對a的值沒有影響,包括continue對迴圈沒有影響。
所以,最後列印a的值是11,選項b。
C語言的問題C語言問題C語言問題
若有說明語句double p,a 則能通過scanf語句正確給輸入項讀入資料的程式段是 解 p a 將a的地址賦值給p,scanf lf p 從鍵盤獲取一個數值賦值給地址p指向的變數 所以選d 有函式fun的定義形式如下。int fun float f 則以下對函式fun的呼叫語句中,不正確的是 a...
C語言問題,c語言問題?
一 c語言規定總是從main 開始執行的 這個函式也叫 主函式 因此,你發來的題目中的 1 6 8 敘述都是錯誤的,都應該選擇f。二 第2題中,c語言對其資料在記憶體中所佔用的實際位元組數,隨著程式中宣告的資料型別以及資料的多少而變化,c語言本身並沒有明確規定。這題應該選f。三 第3題,c語言中強制...
c語言問題,C語言問題
for k 1 k 1 k 中,k 1是設循bai環du的初值,zhik 1是執行循dao環的條件,k 是迴圈的增量回。k 1時,k 1 2,為非0,c語言中,0代表答假,非0代表真。所以,k 1時往下執行迴圈,滿足k 4 列印k的值,即1。break 退出for 迴圈,下面的printf d k ...