999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

青少年健康上網軟件的設計與實現

2011-10-25 10:17:56田敬軍
唐山師范學院學報 2011年2期
關鍵詞:程序設置游戲

田敬軍

(唐山師范學院 計算機科學系,河北 唐山 063000)

網絡在給人們傳遞著各種各樣信息的同時也帶來了一些不良的元素,許多不益于青少年健康成長的內容層出不窮,這樣就需要一款使得青少年能夠健康上網的系統軟件,把所有成人、暴力、顛覆政府等不健康或是有害的網址都屏蔽掉,如果使用者輸入非法或不良的網址,將打不開網站頁面;而且除非輸入授權人的密碼,用戶無法退出這個監視系統,這樣可以避免青少年未經允許自行退出程序。

1 系統功能模塊

健康上網系統需要實現的功能主要有八個模塊:“上網限制”、“游戲限制”、“聊天限制”、“BT 限制”、“時間限制”、“健康設置”、“記錄”、“安全設置”,其中上網限制、時間限制和記錄是整個系統的核心。另有“常規”、 “密碼設置”、“開始監護”、“關于”以及“退出程序”等相關功能。

1.1 設置模塊

(1)“上網限制”模塊

限制瀏覽指定網站。在監控狀態下就可以對限制瀏覽的網址進行攔截,使網頁顯示不能打開的狀態。這一項的實現主要依賴于黑名單,即把限制瀏覽的網址加進黑名單里。

僅允許瀏覽指定網站。選擇后在監控狀態下只能打開指定的網站地址,而不能打開其它網址,這一項的實現主要依賴于白名單,即允許訪問的網址名單。用戶同樣可以自行對白名單內的網址進行添加、刪除和編輯等操作。

截獲網址。用來記錄使用者試圖打開但最終沒有打開的網站地址,即受限制的網址。如果選擇的是“限制瀏覽指定網站”,若輸入存在于黑名單中的網址,不但不能打開,而且會記錄下該網址以及試圖打開的次數和最后時間。

(2)“游戲限制”模塊

在此功能模塊中,對一些常見的網絡游戲進行限制,如魔獸、大話西游、CS等。在進行設置時,只需要將限制玩的游戲選中,進入監控狀態時會自動使選中的游戲不能進行,還可以自行添加限制玩的游戲。

(3)“聊天限制”模塊

在此功能模塊中,對一些常見的聊天工具進行限制,如QQ、MSN、網易泡泡等。

(4)“BT限制”模塊

對于常見的下載工具進行限制使用,如比特精靈、BitComet、eMule等。

(5)“時間限制”模塊

可以選擇是否啟動時間限制功能,在選擇啟動的情況下,可以添加允許上網的時間段。相應的分為每天、周一到周五和周末這三種不同的時間限制,可以分別設置每種時間限制的不同時間段,然后添加到允許上網的時間內。

(6)“健康設置”模塊

可以選擇是否啟動視力保護功能,在選擇啟動的情況下,可以設置多長時間將鎖住電腦幾分鐘。當上網時間達到一定時間間隔時,就會鎖住電腦幾分鐘,強制性的讓使用者進行視力休息,規定的時間到后會自動解鎖。

(7)“記錄”模塊

網址記錄功能。記錄下使用者在上網期間訪問過的所有網址,以便發現有不良信息的網址,將其加入黑名單中,這樣下次就無法再訪問了。

屏幕記錄功能。在監控狀態下,每隔2分鐘電腦會自動對屏幕進行抓圖,不管當時電腦屏幕上顯示的是什么,都會毫無疏漏的記錄下來,這樣家長可以非常容易的了解到使用者所觀看的內容,如果有不利于青少年身心發展的內容信息,家長都可以立刻就了解到,如果家長在其中發現了孩子的某些興趣所在,還可以因材施教因勢利導,根據孩子的興趣愛好對其進行定向培養。

(8)安全設置

在該模塊中實現的主要功能是隱藏任務欄圖標,目的是為了使未成年人不易發現自己是出于監護的狀態,同時防止他們自行刪除退出程序。如果選擇隱藏任務欄圖標,則必須通過預先設定的熱鍵來激活登錄管理員窗口。

1.2 其他功能模塊

(1)開始監護

選擇此項后,軟件會首先調用系統時間和數據庫中提前設置的允許上網時間段,如果當前時間屬于允許上網時間,則可以正常使用電腦,如果當前時間不在允許的時間段內,則立刻鎖住電腦屏幕,在此狀態下,可以切換到管理員狀態,需要輸入密碼進行轉換。

(2)“密碼設置”模塊

在該項功能中,提供了對密碼的修改,用戶可以自行修改軟件的密碼。只要孩子不知道密碼,就無法對系統進行刪除、卸載、退出等操作,以及擺脫受監控保護的狀態。

2 系統中的關鍵技術

2.1 開機自動啟動

在電腦的注冊表中的根鍵 HKEY_LOCAL_MACHINE目錄下,有一個鍵

"Run"(SoftwareWindowsCurrentVersionRun),

Windows開機時會自動搜索注冊表,凡在該鍵下設置了正確路徑的有效程序就會自動運行,所以本系統的開機自動啟動的實現原理還是比較簡單的,就是把軟件的正確路徑放置在注冊表的該鍵目錄下。首先在delphi的type類型聲明中定義類型為TEdit的 Edit1和 Edit2,分別用來記錄要添加的數值名稱和數值數據(即自啟動程序的路徑),然后在變量定義中定義一個TRegistry類型的變量Reg,之后在代碼的主體部分就可以使用變量Reg來進行創建新鍵等操作。主要實現代碼為:

Reg:=TRegistry.Create; //創建一個新鍵

Reg.RootKey:=HKEY_LOCAL_MACHINE; //將根鍵設置為HKEY_LOCAL_MACHINE

Reg.OpenKey('SOFTWAREMicrosoftwindowsCurrentVer sionRun',true); //打開一個鍵

Reg.WriteString(Edit1.Text,Edit2.Text); //在 Reg這個鍵中寫入數據名稱和數據數值

Reg.CloseKey; //關閉鍵

2.2 隱藏進程

隱藏進程也就是按下Ctrl+Alt+Del鍵時使程序不出現在任務管理器中,這樣就可以讓使用者不易發覺程序在運行。運行程序的隱藏可以通過 API HOOK技術來實現。API HOOK技術是一種用于改變 API執行結果的技術,計算機程序可以使用這個技術來達到隱藏的目的。

2.3 上網限制

在上網限制中通過編輯黑白名單來規定可以訪問或者禁止訪問的網址,上網限制的界面如圖1所示,可以分別設置黑名單及白名單。

圖1 上網限制設置

圖2 黑名單的編輯

(1)黑/白名單的編輯界面

如圖 2所示,若要將某一網址加進黑/白名單,可在文本框內輸入網址,如http://baidu.com,可以只輸入簡潔網址baidu.com,也可以全部輸入,在點擊“添加”之后,都會自動轉化成簡潔的網址形式。可以通過“編輯”和“刪除”來對已有的黑/白網址進行修改或刪除。

(2)黑名單的實現

首先把需要屏蔽的網址寫在INI文件中,格式如下:

a1=xxxx

...

然后用 OnBeforeNavigate過程檢測打開的網址是不是存在于INI文件中,不是則打開這個鏈接,是就不打開此鏈接。主體代碼為:

while (i

begin

acd:=vValues.Values[vValues.Names[I]];

end;

case AnsiContainsText(url,acd) of//檢查URL是否是INI文件中的。

True: Cancel:=true;

False: Cancel:=False;

end;

為了提高系統的可移植性,可以同時將包括黑名單在內的相關數據寫入了注冊表,在注冊表內的位置為

HKEY_LOCAL_MACHINE/SOFTWAER/NMUI,其中NMUI是軟件的名字。

2.4 游戲限制

在該模塊中,可以對一些常見的網絡游戲進行限制使用。如圖3,可以選擇一個或多個想要禁止的游戲,還可以添加刪除某些游戲。在監護狀態下,如果啟動被禁止的游戲,會顯示“該程序已被禁止”字樣,游戲程序也不運行。

圖3 游戲限制

在程序的單元可見部分(interface)的函數聲明function里,首先定義一個名為KillTask類型為boolean的函數,其參數為 ExeFileName:string,如要禁止運行某個游戲的可執行程序,文件名可為:*.exe。函數的參數取決于用戶的選擇,用戶挑選好要禁止的程序后所有的數據都會存儲在數據庫的程序名單列表里,軟件運行時,與數據庫中數據進行逐行比較,若遇到相符的數據,則返回參數,此時可以繼續進行下面的編碼。

...

FSnapshotHandle :=

CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

FProcessEntry32.dwSize := SizeOf(FProcessEntry32);

ContinueLoop := Process32First(FSnapshotHandle,

FProcessEntry32);

while Integer(ContinueLoop) <> 0 do

begin

if ((UpperCase(ExtractFileName

(FProcessEntry32.szExeFile))

= UpperCase(ExeFileName)) or

(UpperCase(FProcessEntry32.szExeFile)

= UpperCase(ExeFileName))) then

Result:=Integer(TerminateProcess(OpenProcess(PROCES S_TERMINATE,BOOL(0),FProcessEntry32.th32ProcessID),0));

ContinueLoop :=

Process32Next(FSnapshotHandle,FProcessEntry32);

…..

2.5 時間限制

可以設置每天或者周一到周五或者周末的允許上網時間段,如下圖4示。

圖4 時間限制

在選擇“啟用時間限制功能”后,如果處于監護狀態下,就會對系統時間進行檢查,如果當前時間不屬于允許上網的時間,就會對電腦進行封鎖。可以看到電腦屏幕會整個變成灰暗色,中間顯示“現在不允許您使用電腦,本機已被鎖定。”并且可以通過輸入密碼切換到管理員狀態。

...

HWND hProgram=FindWindow("Progman",

"Program Manager");

HWND hChild=FindWindowEx(hProgram,NULL,

"SHELLDLL_DefView",NULL);

::EnableWindow(hChild,FALSE);

::EnableWindow(FindWindow("Shell_TrayWnd", NULL),false); //鎖定鍵盤

TRegistry*reg=0;

try{reg=new TRegistry();

reg->RootKey=HKEY_CURRENT_USER;

AnsiStringKeyName="Software\microsoft\windows\curr entversion\policies\system";

if(reg->OpenKey(KeyName,true))

{reg->WriteString("DisableTaskMgr","0");

reg->CloseKey();}

}catch(...){}

if(reg){delete reg; reg=NULL;} //屏蔽任務管理器(即ctrl+alt+del)

ShowWindow(FindWindow("Shell_TrayWnd",0),SW_HI DE); //隱藏開始菜單

解鎖是封鎖的逆過程,即先解鎖鍵盤,再解鎖任務管理器,最后顯示開始菜單。

健康設置,也是讀取時間,達到規定的時間時,對電腦進行封鎖,封鎖界面有自動倒計時功能,在規定的鎖住電腦時間限達到后,可以自動解鎖,繼續正常使用電腦,當然,如果用戶不愿意等待,可以直接輸入密碼進入管理狀態。

在該模塊中也和時間限制原理一樣,即到一定時間后執行封鎖電腦操作,和時間限制調用的是相同的函數。

2.6 記錄

在記錄中功能中,可以記錄下所有訪問過的網址以及屏幕抓圖記錄,上網限制中的“截獲網址”功能實際上也屬于記錄功能。屏幕記錄功能可以記錄下整個電腦畫面,每隔兩分鐘自動記錄一次并存放在文件夾ScreenLog中。可以在不啟動軟件的情況下,直接打開系統固有文件夾中的ScreenLogView可執行文件查看屏幕記錄。

屏幕抓圖是利用windows的API函數CapScreen來實現的,可以全屏拷貝、窗體拷貝,并支持圖形存儲功能。

…..

tmpBitmap.Width:= Screen.Width;

tmpBitmap.Height:= Screen.Height; //捕獲屏幕圖像

Bitblt(tmpBitmap.Canvas.Handle,0,0,Screen.Width,Screen.Height,DeskDC,0,0,SRCCOPY);

OutBitmap;

finally

tmpBitmap.FreeImage;

tmpBitmap.Free;

iBitmapValide:=False;

ReleaseDC(DeskWnd,DeskDC);

…..

2.7 安全設置

隱藏任務欄圖標的實現。系統托盤是一個在任務欄右角的小方框,在托盤的應用程序可以顯示小圖標。若要隱藏程序的任務欄圖標,可以應用 ShowWindow函數并傳給它Application.Handle窗口句柄,即ShowWindow (Application->Handle, SW_HIDE);然后設置主窗口的Visible屬性為false來隱藏它,但是后來在程序測試的時候發現通過ShowWindow來隱藏窗口的任務欄圖標是不持久的,某些動作會使任務欄圖標重現,后來在網上查閱和參考了很多資料,做了一些改動,就是將應用程序窗口設為Tool Window來移走程序的任務欄圖標,Tool windows永遠不會有任務欄圖標。要實現應用程序窗口為Tool Window,可以調用API函數GetWindowLong和 SetWindowLong來完成。

…..

var

dwExStyle : DWORD;

begin

dwExStyle:=GetWindowLong(Application.Handle,

GWL_EXSTYLE);

dwExStyle := dwExStyle +

WS_EX_TOOLWINDOW;

SetWindowLong(Application.Handle,

GWL_EXSTYLE, dwExStyle);

……

3 結束語

闡述了實現健康上網軟件的關鍵技術,主要利用Delphi中的系統函數,結合Windows API,對計算機系統進行控制,從而實現軟件的預定目標。

猜你喜歡
程序設置游戲
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
數獨游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戲
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: av一区二区三区在线观看| 欧美日韩中文字幕在线| 在线观看亚洲成人| a免费毛片在线播放| 国产国语一级毛片| 成人在线欧美| 福利在线不卡一区| 国产在线观看成人91| 国产91视频免费| 青青草原偷拍视频| 色丁丁毛片在线观看| 精品国产免费观看一区| 中文字幕 欧美日韩| a毛片在线免费观看| 日本高清成本人视频一区| 国产精品区网红主播在线观看| 国产成人盗摄精品| 欧美a在线视频| 国产精品无码影视久久久久久久| 久久中文字幕不卡一二区| 日本久久免费| 亚洲人成影院在线观看| 亚洲香蕉在线| 国产99视频在线| 日本成人在线不卡视频| 国产精品人人做人人爽人人添| 亚洲色图另类| 高清无码一本到东京热| 成人第一页| 欧美成人午夜影院| 毛片久久网站小视频| 日韩在线视频网| 久久综合婷婷| 亚洲欧美精品日韩欧美| 国产麻豆精品在线观看| 国产高清免费午夜在线视频| 国产本道久久一区二区三区| 在线国产综合一区二区三区| 国模极品一区二区三区| 国产精品理论片| 性69交片免费看| 成人在线天堂| 香蕉eeww99国产在线观看| 狼友视频一区二区三区| 综合五月天网| 成人免费视频一区二区三区 | 久久人人爽人人爽人人片aV东京热| 毛片网站在线播放| 欧美日在线观看| 波多野吉衣一区二区三区av| 国产黄在线免费观看| 国产精品福利在线观看无码卡| 亚洲天堂免费| 国产一区二区福利| 国产极品美女在线| 久久久国产精品免费视频| 制服无码网站| 黑色丝袜高跟国产在线91| 欧美劲爆第一页| 91福利片| 亚洲成人精品| 亚洲中文久久精品无玛| 欧美成人一级| 久久一色本道亚洲| 夜夜操国产| 日韩天堂视频| 99精品免费欧美成人小视频 | 91久久天天躁狠狠躁夜夜| 91麻豆国产视频| 国产导航在线| 色网站在线视频| 亚洲国产精品VA在线看黑人| 成人午夜免费视频| 亚洲色图欧美激情| 日韩无码精品人妻| 色综合中文| 婷婷色在线视频| 久久精品嫩草研究院| 久久久精品久久久久三级| 自偷自拍三级全三级视频| 亚洲系列中文字幕一区二区| 色欲色欲久久综合网|