⑴ 用c語言寫一個控制滑鼠鍵盤自動點的程序復雜嗎
很簡單啊~
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>//重要!
intmain()
{
SetCursorPos(0,0);//設置滑鼠坐標
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//點擊左鍵
mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);//點擊右鍵
return0;
}
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>//重要!
intmain()
{
//字母
keybd_event('A',0,0,0);//按下
keybd_event('A',0,2,0);//松開
//回車
keybd_event(0x0d,0,0,0);
keybd_event(0x0d,0,2,0);
}
⑵ 怎麼讓電腦自動按一組按鍵,代替用戶操作,簡單一點,用c語言寫
用 習語言(中文c)寫的話,很簡單,寫個隱藏窗口的程序,開啟個定時器,每次定時到,發送一個按鍵。 很簡單
⑶ 怎麼用C語言寫出一個讓程序自動按鍵的,只要按兩個鍵就夠了
c語言完成這個有點難,用按鍵精靈吧,實現這個很簡單的。
退出程序的話,用編程來說,你可以先選定你程序的窗口句柄,然後直接關掉這個窗口,你要是想純模擬鍵盤操作的話,你還得考慮當前焦點在不在你的程序窗口上。
⑷ 如何C語言編一個可以設置電腦在1分鍾內自動重啟的exe文件
如果用C介面來操作windows內核實現這一功能,需要的代碼量及專業知識會很多,同時也不易理解。不過可以從另一個角度去解決這個問題,即通過系統調用windows命令來實現。
在C語言中,有一個函數system,其功能就是調用系統環境中的命令,對於windows來說,就是可以再ms-dos中執行的命令。
而windows是有shutdown命令的,使電腦一分鍾後重啟的系統命令為
shutdown /r /t 60
其中shutdown為命令主體,/r表示執行重啟操作(reboot),/t為等待的時間,單位為秒,這里用的是要求的60秒,即一分鍾。
知道了原理,就可以實現代碼了:
#include<stdlib.h>//system所在的頭文件
intmain()
{
system("shutdown/r/t60");
return0;
}
實際代碼就這樣一句話就可以了。
⑸ 電腦編程c語言
1:工欲善其事,必先利其器
這里介紹幾個學習C語言必備的東東:
一個研發環境,例如turbo C 2.0,這個曾占據了DOS時代研發程式的大半個江山。但是現在windows時代,用turbo C有感覺不方面,編輯程式起來很吃力,並且拖放,更沒有函數變數自動感應功能,查詢參考資料也不方便。建議使用Visual C ,這個東西雖然比較大塊頭,但是一旦安裝好了,用起來很方便。
一本學習教程,現在C語言教材多如牛毛,但推薦大家使用《C語言程式設計》譚浩強主編 第二版 清華大學出版社,此書編寫的很適合初學者,並且內容也很精到。
除此以外,現在有很多輔助學習的軟體,畢竟現在是Window時代了,學習軟體多如牛毛,不象我們當初學習,只有讀書做題這么老套。我向大家推薦一個「集成學習環境(C語言)」,里邊的知識點總結和常式講解都很好,更有題庫測試環境,據說有好幾千題,甚至更有一個windows下的trubo C,初學者甚至不用裝其他的編譯器,就能夠練習編程了,很適合初學者。更有一個「C語言學習系統」軟體,但是感覺只是個題庫系統,假如您覺得題做的不夠,不妨也能夠試試。
2:葵花寶典
學習電腦語言最好的方法是什麼?答曰:讀程式。 對真正的成功者來說,不論他的生存條件如何,都不會自我磨滅
沒錯,讀程式是學習C語言入門最快,也是最好的方法。如同我,現在學習新的J#,C#等其他語言,不再是抱著書本逐行啃,而是學習他們的常式。當然,對於沒有學過任何電腦語言的初學者,最好還是先閱讀教程,學習完每一章,都要認真體會這一章的任何概念,然後不放過這一章中提到的任何常式,然後仔細研讀程式,直到每一行都理解了,然後找幾個編程題目,最好是和常式類似的或相同的,自己試圖寫出這段已讀懂的程式,不要以為常式您已讀懂了,您就能夠寫出和他相同的程式,絕對不一定,不相信您就試一試吧,假如寫不出來,也不要著急,回過頭來再繼續研究常式,想想自己為什麼寫不出來,然後再去寫這段程式,反反復復,直到您手到擒來為止,祝賀您,您快入門了。
3:登峰造極
寫程式的最高境界其實就是掌控各種解決問題的手段(數據結構)和解決問題的方法(演算法)。
是不是寫出底層程式就是程式設計高手呢?非也,寫底層程式,無非是掌控了硬體的結構,況且硬體和硬體還不相同,要給一個晶元寫驅動程式,無非就是掌控這塊晶元的各種寄存器及其組合,然後寫值讀值,僅此而已。這但是是熟悉一些io函數罷了。
那麼怎樣才算精通程式設計呢?怎樣才能精通程式設計呢?舉個例子:您面前有10個人,找出一個叫「張三」的人,您該怎麼辦?第一種方法:直接對這10個人問:「誰叫張三」。第2種方法:您挨個去問「您是不是張三?」,直到問到的這個人就是張三。第三種方法:您去挨個問一個人「您認不認識張三,指給我看」。不要小看這個問題,您說當然會選第一種方法,沒錯恭喜您答對了,因為這個方法最快,效率最高,但是在程式設計中找到解決問題的最優方法和您用的手段卻是考驗一個程式員程式設計水平的重要標志,而且是不容易達到的。剛才這個問題類似於數據結構和演算法中的:Map數據結構,窮舉查找和折半查找。所以掌控好數據結構和一些常用演算法,是登峰造極的必然之路。最後給大家推薦嚴尉敏的《數據結構》清華大學出版社,希望每一個想成為程式設計高手的人研讀此書。
總結
1、先照書上的題目寫,題目的設計是有道理的鞏固基礎知識。
2、找數學題,寫個小程序解決,熟悉演算法和基礎函數。
3、自己出題目,小一點的,如自編資源管理器、自編寫字板之類,練習WINDOWS下的編程。
4、結合身邊的事,找個中等課題,或看別人的程序,自已想辦法實現。
5.把教材中的例子,自己仿照著寫一遍,上機運行,看結果.要知道,任何產品都是有例子的,有機結合或仿照。
6.從自己熟悉的事情入手,如成績統計,編制一段程序,完成一個功能.然後再完善。
7.要反復破壞代碼,從破壞中尋找代碼的規律。
8.必須經常反復上機練習。
⑹ C語言是如何控制硬體的
1.指針變數p分配在棧上,而字元串"abcdefg"分配在文字常量區。
2.是的。指針也是編譯器生成的數據類型,是個長整型。
3.內存地址分為5塊,堆區,棧區,全局(靜態)數據區(分為未初始化和初始化區),
文字常量區,代碼區。存儲在不同區域的數據釋放時間不同,存儲在堆區的數據必須由程序員負責釋放,用free或者是delete。而棧區的由系統自動釋放。全局和靜態的生存期就是整個程序運行期。
4.首先,概念性錯誤,編譯器並不執行程序,執行程序的是你的系統。編譯器只是實現了高級語言向機器語言的轉化而已。至於計算機的工作原理,這個概念也太泛了,有硬體層也有軟體層。硬體層基本也就是80x86的匯編和內存管理,軟體層也就是操作系統了,請問你想知道什麼?
5.a是數組名,最重要的是a是一個指針常量,你該了解了吧,常量是不能參與指針運算的,所以a++是錯的。關於calloc和malloc,釋放內存方面沒什麼區別(這個是個人觀點)。
關於指針變數沒有初始化的問題。其實指針本身也是個長整行的變數,他存放的地址完全可以理解為4*8的整數,那麼他的分配方式也跟普通的變數一樣了。如果你是全局指針,那麼編譯器會把它自動初始化為00000000(十六進制),如果是局部指針,那麼這個量就是未知的了,根據函數堆棧有不同的結果。null也就是內存被寫成了00000000(十六進制).這個空不是說不存在,而是內存被寫成了4*8=32位的全0.
⑺ 用C語言怎樣控制硬體
如果是電腦程序的話,譬如你在vc6.0裡面c語言裡面編寫一個程序,那麼vc6裡面的編譯器會把你的c語言語句按照對應的關系翻譯成你計算機能識別的計算機語句,然後你電腦cpu會按照這些指令來控制你的硬碟,內存讀寫之類的硬體操作。
如果是單片機之類的話,譬如你在keil裡面用c語言編寫了一個單片機程序,那麼keil的編譯器會把你的c語言程序編寫成匯編語言程序文件,然後把那個匯編程序文件燒到單片機晶元上就可以讓晶元按照指令工作了。
⑻ 如何用C語言對計算機的硬體進行控制
#include <windows.h>
#include <mmsystem.h>
#pragma comment(lib, "WINMM.LIB")
int main(int argc, char *argv[])
{
mciSendString("Set cdaudio door open wait", NULL, 0, NULL);
return 0;
}
學習一下 windows程序設計 你就知道了。就像樓上說的。windows提供了很多api函數,可以編寫諸如驅動程序、防火牆、游戲等等。
⑼ C語言高手。可以幫我製作一個在電腦上可以定時開關機子的C語言編程簡單點就好的,拜託了。
在Windows XP中,新增了一條命令行工具「shutdown」,其作用是「關閉或重新啟動本地或遠程計算機」。利用它,我們不但可以注銷用戶,關閉或重新啟動計算機,還可以實現定時關機、遠程關機。
該命令的語法格式如下:
shutdown [-i -l -s -r -a] [-f] [- m [\\ComputerName]] [-t xx] [-c "message"] [-d[u][p]:xx:yy] 其中,各參數的含義為:
-i 顯示圖形界面的對話框。
-l 注銷當前用戶,這是默認設置。-m ComputerName 優先。
-s 關閉計算機。
-r 關閉之後重新啟動。
-a 中止關閉。除了 -l 和 ComputerName 外,系統將忽略其它參數。在超時期間,您只可以使用 -a。
-f 強制運行要關閉的應用程序。
-m [\\ComputerName] 指定要關閉的計算機。
-t xx 將用於系統關閉的定時器設置為 xx 秒。默認值是 20 秒。
-c "message" 指定將在「系統關閉」窗口中的「消息」區域顯示的消息。最多可以使用 127 個字元。引號中必須包含消息。
-d [u][p]:xx:yy 列出系統關閉的原因代碼。
首先,我們來看一下該命令的一些基本用法:
1、注銷當前用戶
shutdown - l
該命令只能注銷本機用戶,對遠程計算機不適用。
2、關閉本地計算機 shutdown - s
3、重啟本地計算機
shutdown - r
4、定時關機
shutdown - s -t 30
指定在30秒之後自動關閉計算機。
5、中止計算機的關閉
有時我們設定了計算機定時關機後,如果出於某種原因又想取消這次關機操作,就可以用 shutdown - a 來中止。如:
shutdown -s C t 300 設定計算機在5分鍾後關閉。
Shutdown C a 取消上述關機操作。
以上是shutdown命令在本機中的一些基本應用。前面我們已經介紹過,該命令除了關閉、重啟本地計算機外,更重要的是它還能對遠程計算機進行操作,但是如何才能實現呢?
在該命令的格式中,有一個參數[-m [\\ComputerName],用它可以指定將要關閉或重啟的計算機名稱,省略的話則默認為對本機操作。於是,我用以下命令試了一下:
shutdown Cs Cm \\netproxy -t 30
(在30秒內關閉計算機名為netproxy的機器;註:netproxy為區域網內一台同樣裝有Windows XP的電腦)
但該命令執行後,計算機netproxy一點反應都沒有,我的屏幕上卻返回這樣一句話:Access is denied (拒絕訪問)。
為什麼會出現這種情況呢?我想了半天,四處查找有關的資料,終於發現,在Windows XP默認的安全策略中,只有管理員組的用戶才有權從遠端關閉計算機,而一般情況下我們從區域網內的其他電腦來訪問該計算機時,則只有guest用戶許可權,所以當我們執行上述命令時,便會出現「拒絕訪問」的情況。
找到問題的根源之後,解決的辦法也很簡單,只要在客戶計算機(能夠被遠程關閉的計算機,如上述的netproxy)中賦予guest用戶遠程關機的許可權即可。這可利用Windows XP的「組策略」或「管理工具」中的「本地安全策略」來實現。下面以「組策略」為例進行介紹:
1、單擊「開始」按鈕,選擇「運行」,在對話框中輸入「gpedit.msc」,然後單擊「確定」,打開「組策略編輯器」。
2、在「組策略」窗口的左窗格中打開「計算機配置」—「Windows 設置」—「安全設置」—「本地策略」—「用戶權利指派」。(如圖)
3、在「組策略」窗口的右窗格中選擇「Force shutdown from a remote system (從遠端系統強制關機)」,雙擊。
4、在彈出的對話框中顯示目前只有「Administrators」組的成員才有權從遠程關機;單擊對話框下方的「添加用戶或組」按鈕,然後在新彈出的對話框中輸入「guest」,再單擊「確定」。
5、這時在「從遠端系統強制關機」的屬性中便添加了一個「guest」用戶,單擊「確定」即可。
6、關閉「組策略」窗中。
通過上述操作後,我們便給計算機netproxy的guest用戶授予了遠程關機的許可權。以後,我們要遠程關閉計算機netproxy,只要在網路中其他裝有Windows XP 的電腦中輸入以下命令即可:
shutdown -s Cm \\netproxy -t 30 (其他參數用法同上)
這時,在netproxy計算機的屏幕上將顯示一個「系統關機」的對話框,提示「系統即將關機。請保存所有正在運行的工作,然後注銷。未保存的改動將會丟失。關機是由netproxy\guest初始的。」在對話框下方還有一個計時器,顯示離關機還有多少時間。在等待關機的時間里,用戶還可以執行其他的任務,如關閉程序、打開文件等,但無法關閉該對話框,除非你用shutdown Ca命令來中止關機任務。
最後,有一點要說明的是,shutdown命令不但可以遠程關閉裝有Windows XP系統的計算機,它還可以遠程關閉裝有 Windows 2000系統的計算機(對於Win9X嘛,好像不適用)。有關Windows 2000客戶計算機上的一些設置,操作方法同上,這里就不再多說了。
另外shutdown作為一個外部命令(其對應文件為\Windows\system32文件夾下的shutdown.exe),我們還可將它復制到Windows 2000的機器上,這樣,在裝有Windows 2000系統的機器之間便也能相互實現遠程關機。