利用API函式獲取系統資訊

2021-05-21 13:31:55 字數 2264 閱讀 2797

我們所編寫的每乙個程式,都會有乙個執行環境的最低需求。如何獲取使用者機器的配置資訊呢?其實,我們可以利用api函式輕鬆實現。

我們利用visual c++嚮導生成乙個單文件介面的視窗程式框架。生成乙個新的對話方塊,這個對話方塊用於顯示我們所取得的機器的配置資訊。為這個對話方塊生成乙個新類,命名為csysteminfodialog類。修改這個類的主要**如下:

bool csysteminfodialog::oninitdialog() 

//對話方塊的初始化函式

} m_cputype.setwindowtext(displaystring);

//變數m_cputype是乙個cstatic框

//檢測記憶體狀態

memorystatus memorystatus; 

//記憶體的現行狀態結構

memorystatus.dwlength=sizeof(memorystatus); 

//填充結構的大小

::globalmemorystatus(&&memorystatus);

//取得記憶體的狀態

char buffer[20]; 

wsprintf(buffer,"%d bytes",memorystatus.dwtotalphys);

//dwtotalphys指示物理記憶體位元組

m_memory.setwindowtext(buffer); 

//變數m_memory是乙個cstatic框

//檢測作業系統版本

osversioninfo versioninfo;

//作業系統版本資訊結構

versioninfo.dwosversioninfosize = sizeof (osversioninfo);

::getversionex (&&versioninfo); 

//取得當前作業系統資訊

if (versioninfo.dwplatformid = =

ver_platform_win32_nt)

else if (versioninfo.dwplatformid = =

ver_platform_win32_windows) 

}m_system.setwindowtext(displaystring); 

//在對話方塊上顯示作業系統類

//檢測滑鼠

int mouseinstall=::getsystemmetrics(sm_mousepresent); 

if(mouseinstall!=0) 

m_mouse.setwindowtext("有");

int cx,cy; 

//取得當前顯示解析度

cx=::getsystemmetrics(sm_cxscreen); 

//水平解析度

cy=::getsystemmetrics(sm_cyscreen); 

//垂直解析度

char display[20];

wsprintf(display,"%d ? %d",cx,cy);

m_display.setwindowtext(display); 

//在對話方塊上顯示解析度資訊

//取得當前系統的顏色設定

cdc? dc=this->getdc(); 

int ncolors=dc->getdevicecaps(numcolors); 

if(ncolors!=-1) 

wsprintf(display,"%d 色",ncolors);

else wsprintf(display,"高彩或真彩");

m_colordeep.setwindowtext(display); 

//取得系統時間

systemtime systemtime;

::getsystemtime(&&systemtime);

wsprintf(display,"%d-%d-%d",systemtime.wmonth,systemtime.wday,systemtime.wyear);

m_systemdate.setwindowtext(display);

//取得windows系統的路徑

::getwindowsdirectory(display,20);

m_systempath.setwindowtext(display);

return true;

}當我們要顯示系統的配置情況,只需呼叫這個類的domodal()函式將對話方塊顯示出來就行了。

本程式在windows 98,visual c++ 6.0環境下編譯通過。

winform利用API函式獲取系統的資訊

api函式是構築windows應用程式的基石,是windows程式設計的必備利器。每一種windows應用程式開發工具都提供了間接或直接呼叫了windows api函式的方法,或者是呼叫windows api函式的介面,也就是說具備呼叫動態連線庫的能力。visual c 和其它開發工具一樣也能夠呼叫...

winform利用API函式獲取系統的資訊

api函式是構築windows應用程式的基石,是windows程式設計的必備利器。每一種windows應用程式開發工具都提供了間接或直接呼叫了windows api函式的方法,或者是呼叫windows api函式的介面,也就是說具備呼叫動態連線庫的能力。visual c 和其它開發工具一樣也能夠呼叫...

C 中運用API函式獲取系統資訊

api函式是構築windows應用程式的基石,是windows程式設計的必備利器。每一種windows應用程式開發工具都提供了間接或直接呼叫了windows api函式的方法,或者是呼叫windows api函式的介面,也就是說具備呼叫動態連線庫的能力。visual c 和其它開發工具一樣也能夠呼叫...