資源簡介
linux下讀取/proc獲得系統(tǒng)信息
監(jiān)控系統(tǒng)狀態(tài),顯示系統(tǒng)中若干部件的使用情況。
用GTK庫實(shí)現(xiàn)圖形界面顯示系統(tǒng)監(jiān)控狀態(tài)
代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#define?MAX??1024
#include?“searchInfor.h“
#include?“cpu.h“
#include?“memory.h“
#include?“module.h“
#include?“process.h“
#include?“menuBar.h“
#include?“progressBar.h“
#include?“showAbout.h“
#include?“refresh.h“
#include?“showImage.h“
int?main(int?argc?char?**?argv)
{
GtkWidget?*?window;
GtkWidget?*?main_vbox;
GtkWidget?*tooltip;
gtk_init(&argc?&argv);
/*?主窗口?*/
window?=?gtk_window_new(GTK_WINDOW_TOPLEVEL);
tooltip?=?gtk_tooltips_new();
gtk_tooltips_set_tip(tooltip?window?“系統(tǒng)監(jiān)視器\n此軟件歸華中科技大學(xué)所有\(zhòng)n未經(jīng)授權(quán)不可擅自更改“
NULL);
gtk_window_set_title(GTK_WINDOW(window)?“System?Moniter“);
gtk_window_set_opacity(GTK_WINDOW(window)?0.95);?//?設(shè)置透明度函數(shù)
//update_widget_bg(window?BACK_IMAGE);
/*?默認(rèn)窗口大小?*/
gtk_window_set_default_size(GTK_WINDOW(window)?800?600);
/*?窗口初始位置在屏幕最中央?*/
gtk_window_set_position(GTK_WINDOW(window)?GTK_WIN_POS_CENTER);
/*?顯示窗口?*/
gtk_widget_show(window);
/*?創(chuàng)建一個(gè)縱向盒?*/
main_vbox?=?gtk_vbox_new(FALSE?10);
/*?設(shè)定這個(gè)容器和周圍的間距?*/
gtk_container_set_border_width(GTK_CONTAINER(main_vbox)?5);
/*?將這個(gè)布局容器添加到整個(gè)視窗的容器中?*/
gtk_container_add(GTK_CONTAINER(window)?main_vbox);
/*?顯示該盒?*/
gtk_widget_show(main_vbox);
createMenuBar(main_vbox);
/*?建立多標(biāo)簽頁notebook?*/
GtkWidget?*notebook?=?gtk_notebook_new();
gtk_notebook_set_tab_pos((GtkNotebook?*)?notebook?GTK_POS_BOTTOM);
gtk_notebook_set_show_border((GtkNotebook?*)?notebook?FALSE);
/*?在縱向盒頂部添加該筆記本?*/
gtk_box_pack_end(GTK_BOX(main_vbox)?notebook?TRUE?TRUE?0);
/*?顯示該筆記本?*/
gtk_widget_show(notebook);
/*?新建第一個(gè)標(biāo)簽頁到notebook,用的是frame框架?*/
createCPUPage(notebook);
/*?新建第三個(gè)標(biāo)簽頁到notebook?*/
createModPage(notebook);
/*?新建第四個(gè)標(biāo)簽頁到notebook?*/
createProPage(notebook);
/*?新建第五個(gè)標(biāo)簽頁到notebook?*/
/*?原來是mem模塊在死循環(huán)中?*/
createMemPage(notebook);
/*?新建第二個(gè)標(biāo)簽頁到notebook?*/
createAboutPage(notebook);
gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook)?0);
/**************************************************/
gtk_timeout_add(400?refresh?pdata);
gtk_main();
return?0;
}
評(píng)論
共有 條評(píng)論