




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、C語言獲取系統(tǒng)信息光影【C語言】【控制臺】-系統(tǒng)信息獲取01.程序簡介程序名稱:系統(tǒng)信息編譯器:vs2010(其它也可以) 程序大?。?15K文件包括:系統(tǒng)信息.exe, skinh.she,SkinH.dll,msvcr100.dll程序界面:全屏模式/*/*/*/*/*/*02.相關(guān)技術(shù)01. 程序界面全屏模式:一開使用SetConsoleDisplayMode設(shè)置全屏模式,但是不成功。GetLastError得到的結(jié)果是系統(tǒng)不支持這個函數(shù)(我的WIN7 64位)。于是使用API函數(shù)對黑窗體進(jìn)行全屏顯示。/*/得到窗體的句柄HWND hwnd=GetForegroundWindow();/
2、設(shè)置標(biāo)題SetWindowTextA(hwnd,系統(tǒng)信息);/得到屏幕的長寬int x=GetSystemMetrics(SM_CXSCREEN)+300,y=GetSystemMetrics(SM_CYSCREEN)+300;/設(shè)置控制臺的寬度和高度char setting30;sprintf(setting,mode con:cols=%d lines=%d,x,y);system(setting);/置頂窗口 :SetWindowPos(hwnd, HWND_TOPMOST,0,0,x+300,y+300,NULL);/去掉標(biāo)題 SetWindowRgn(hwnd, CreateRect
3、Rgn(30,30,x+1300,y+1300),true);/移動窗體。實現(xiàn)全屏 MoveWindow(hwnd,-30,-40,x+300,y+300,true);/*02. 相關(guān)的自定義函數(shù)。得到操作系統(tǒng)版本信息:void GetVersionInfo();得到系統(tǒng)硬件信息:void SystemInfonation();得到電腦名和用戶名:void GetUser();得到鼠標(biāo)的速度void GetMouseMoveSpeed();得到當(dāng)前系統(tǒng)時間void GetSystemTimeInfo();得到攝像頭信息void GetCapInfo();得到磁盤信息:void GetDiskT
4、ypeInfo();得到當(dāng)前進(jìn)程:void GetProcessInf();主函數(shù)里面使用循環(huán),創(chuàng)建菜單(和那啥XX管理系統(tǒng)之類的一樣)。然后根據(jù)用戶輸入的數(shù)值調(diào)用以上不同的函數(shù)。、003. 獲取當(dāng)前系統(tǒng)版本獲取當(dāng)前系統(tǒng)版本函數(shù)BOOL GetVersionEx( LPOSVERSIONINFO lpVersionInformation );參數(shù)一:結(jié)構(gòu)體指針指向的結(jié)構(gòu)體typedef struct _OSVERSIONINFO DWORD dwOSVersionInfoSize; 本結(jié)構(gòu)體大小調(diào)用前必須設(shè)置 DWORD dwMajorVersion; 操作系統(tǒng)主版本號 5xp DWORD d
5、wMinorVersion; 操作系統(tǒng)次版本號 1 DWORD dwBuildNumber; 操作系統(tǒng)編譯版本號 DWORD dwPlatformId; 操作系統(tǒng)的平臺 TCHAR szCSDVersion 128 ; 指定安裝在系統(tǒng)上的服務(wù)包 OSVERSIONINFO;記得使用結(jié)構(gòu)體前需要初始化,即ZeroMemory。dwMajorVersion=5的系統(tǒng)就是XP以上(包括XP)的系統(tǒng)。然后打印本系統(tǒng)的主版本號,此版本號等信息即可。這個函數(shù)也是很常用的,用于檢測系統(tǒng)版本。根據(jù)系統(tǒng)版本判斷是否需要進(jìn)行提權(quán)。004. 系統(tǒng)硬件信息獲取系統(tǒng)硬件信息VOID GetSystemInfo( LPS
6、YSTEM_INFO lpSystemInfo / 參數(shù)指向SYSTEM_INFO結(jié)構(gòu));參數(shù)指向結(jié)構(gòu)SYSTEM_INFOtypedef struct _SYSTEM_INFO union DWORD dwOemId; struct WORD wProcessorArchitecture;/ 處理器架構(gòu) WORD wReserved; ; ; DWORD dwPageSize;/ 內(nèi)存分頁大小 LPVOID lpMinimumApplicationAddress;/ 可以用內(nèi)存起始 LPVOID lpMaximumApplicationAddress;/ 可用內(nèi)存 DWORD_PTR dwA
7、ctiveProcessorMask; DWORD dwNumberOfProcessors;/ 處理器個數(shù) DWORD dwProcessorType;/ 處理器類型 DWORD dwAllocationGranularity; WORD wProcessorLevel; WORD wProcessorRevision; SYSTEM_INFO;005. 獲取計算機(jī)名和用戶名獲取用戶名函數(shù)BOOL GetUserName( LPTSTR lpBuffer, /參數(shù),指向保存登錄用戶名的內(nèi)存緩沖區(qū)。其大小最好不小于(UNLEN+1) LPDWORD nSize / 輸入、輸出參數(shù),指向表示lp
8、Buffer的大?。ㄗ址麛?shù))的DWORD型變量);獲取計算機(jī)名BOOL GetComputerName( LPTSTR lpBuffer, /參數(shù),指向保存計算機(jī)名的內(nèi)存緩沖區(qū),其大小最好不小于(MAXCOMPUTERNAME一LENGTH+1) LPDWORD nSize /輸入、輸出參數(shù),指向表示lpBuffer的大?。ㄗ址麛?shù))的DWORD型變量);調(diào)用函數(shù),然后輸出結(jié)果即可。006. 獲取鼠標(biāo)速度獲取系統(tǒng)各種信息BOOL SystemParametersInfo( UINT uiAction, / 需要設(shè)置和獲取的系統(tǒng)參數(shù) UINT uiParam, / 指明設(shè)置的改變是否發(fā)送WM_SE
9、TTINGCHANGE消息給當(dāng)前系統(tǒng)中的窗口程序,以及是否 修改用戶剖面(profile)配置信息,參數(shù)可以是SPIF_ UPDATEINIFILE或 SPIF_SENDCHANGE或其組合。 PVOID pvParam, / 用于保存的地址 UINT fWinIni / 可以為0);于是我們直接調(diào)用:SystemParametersInfo(SPI_GETMOUSE,0,&mouse,0);得到鼠標(biāo)的速度mouse07. 時間獲取函數(shù)VOID GetLocalTime( LPSYSTEMTIME lpSystemTime / 地址的系統(tǒng)時間結(jié)構(gòu)參數(shù)為空);結(jié)構(gòu)體typedef struct
10、_SYSTEMTIME / st WORD wYear;/年 WORD wMonth; /月份 WORD wDayOfWeek; /星期 WORD wDay; /日期 WORD wHour; /小時 WORD wMinute; /分鐘 WORD wSecond; /秒WORD wMilliseconds; /毫秒 SYSTEMTIME; 可以直接調(diào)用得到系統(tǒng)時間,至于設(shè)置系統(tǒng)時間那是需要提權(quán)的(或者以管理員身份運行)。很多年前就出現(xiàn)了篡改系統(tǒng)時間的病毒。殺毒軟件得到被篡改系統(tǒng)時間于是會顯示殺毒軟件08.攝像頭信息capGetDriverDescription(nIndex,(LPSTR)strDeviceAndVersion,sizeof(strDeviceAndVersion),(LPSTR)strDeviceVersion,sizeof(strDeviceVersion);參數(shù)一:ID。參數(shù)二:設(shè)備名和版本信息參數(shù)三:參數(shù)二緩沖區(qū)的大小參數(shù)四;: 設(shè)備版本信息參數(shù)五:參數(shù)四緩沖區(qū)的大小char strDeviceVersion80; /設(shè)備版本信息
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- (2025年)遼寧省本溪市注冊會計財務(wù)成本管理預(yù)測試題含答案
- (2025年)河北省保定市中級會計職稱經(jīng)濟(jì)法預(yù)測試題含答案
- 技術(shù)賦能醫(yī)療教育混學(xué)模式的應(yīng)用與發(fā)展
- 數(shù)字化教育創(chuàng)新營銷模式與策略
- 心理輔導(dǎo)在改善學(xué)生行為中的作用
- 商業(yè)領(lǐng)域中人工智能技術(shù)的倫理邊界與挑戰(zhàn)
- 關(guān)愛健康遠(yuǎn)離垃圾食品
- 職工降薪預(yù)警措施方案
- 智慧辦公樓宇的綠色融資模式探討
- 紗窗緊急維修措施方案
- 生活垃圾滲濾液處理工藝及運行成本分析
- 機(jī)電設(shè)備技術(shù)服務(wù)合同
- 超聲科崗前培訓(xùn)課件
- 服務(wù)員培訓(xùn)流程及內(nèi)容
- 車間主任考核表 -
- 金融昌典當(dāng)有限責(zé)任公司財務(wù)會計制度
- 教師交流工作總結(jié)
- 籃球比賽組織章程范本
- 新課改背景下高中英語有效教學(xué)策略研究
- 國土空間規(guī)劃概述課件
- 環(huán)境工程原理第13章-均相化學(xué)反應(yīng)器課件
評論
0/150
提交評論