亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        青少年健康上網(wǎng)軟件的設(shè)計與實現(xiàn)

        2011-10-25 10:17:56田敬軍
        唐山師范學(xué)院學(xué)報 2011年2期
        關(guān)鍵詞:任務(wù)欄黑名單網(wǎng)址

        田敬軍

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

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

        1 系統(tǒng)功能模塊

        健康上網(wǎng)系統(tǒng)需要實現(xiàn)的功能主要有八個模塊:“上網(wǎng)限制”、“游戲限制”、“聊天限制”、“BT 限制”、“時間限制”、“健康設(shè)置”、“記錄”、“安全設(shè)置”,其中上網(wǎng)限制、時間限制和記錄是整個系統(tǒng)的核心。另有“常規(guī)”、 “密碼設(shè)置”、“開始監(jiān)護(hù)”、“關(guān)于”以及“退出程序”等相關(guān)功能。

        1.1 設(shè)置模塊

        (1)“上網(wǎng)限制”模塊

        限制瀏覽指定網(wǎng)站。在監(jiān)控狀態(tài)下就可以對限制瀏覽的網(wǎng)址進(jìn)行攔截,使網(wǎng)頁顯示不能打開的狀態(tài)。這一項的實現(xiàn)主要依賴于黑名單,即把限制瀏覽的網(wǎng)址加進(jìn)黑名單里。

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

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

        (2)“游戲限制”模塊

        在此功能模塊中,對一些常見的網(wǎng)絡(luò)游戲進(jìn)行限制,如魔獸、大話西游、CS等。在進(jìn)行設(shè)置時,只需要將限制玩的游戲選中,進(jìn)入監(jiān)控狀態(tài)時會自動使選中的游戲不能進(jìn)行,還可以自行添加限制玩的游戲。

        (3)“聊天限制”模塊

        在此功能模塊中,對一些常見的聊天工具進(jìn)行限制,如QQ、MSN、網(wǎng)易泡泡等。

        (4)“BT限制”模塊

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

        (5)“時間限制”模塊

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

        (6)“健康設(shè)置”模塊

        可以選擇是否啟動視力保護(hù)功能,在選擇啟動的情況下,可以設(shè)置多長時間將鎖住電腦幾分鐘。當(dāng)上網(wǎng)時間達(dá)到一定時間間隔時,就會鎖住電腦幾分鐘,強(qiáng)制性的讓使用者進(jìn)行視力休息,規(guī)定的時間到后會自動解鎖。

        (7)“記錄”模塊

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

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

        (8)安全設(shè)置

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

        1.2 其他功能模塊

        (1)開始監(jiān)護(hù)

        選擇此項后,軟件會首先調(diào)用系統(tǒng)時間和數(shù)據(jù)庫中提前設(shè)置的允許上網(wǎng)時間段,如果當(dāng)前時間屬于允許上網(wǎng)時間,則可以正常使用電腦,如果當(dāng)前時間不在允許的時間段內(nèi),則立刻鎖住電腦屏幕,在此狀態(tài)下,可以切換到管理員狀態(tài),需要輸入密碼進(jìn)行轉(zhuǎn)換。

        (2)“密碼設(shè)置”模塊

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

        2 系統(tǒng)中的關(guān)鍵技術(shù)

        2.1 開機(jī)自動啟動

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

        "Run"(SoftwareWindowsCurrentVersionRun),

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

        Reg:=TRegistry.Create; //創(chuàng)建一個新鍵

        Reg.RootKey:=HKEY_LOCAL_MACHINE; //將根鍵設(shè)置為HKEY_LOCAL_MACHINE

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

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

        Reg.CloseKey; //關(guān)閉鍵

        2.2 隱藏進(jìn)程

        隱藏進(jìn)程也就是按下Ctrl+Alt+Del鍵時使程序不出現(xiàn)在任務(wù)管理器中,這樣就可以讓使用者不易發(fā)覺程序在運行。運行程序的隱藏可以通過 API HOOK技術(shù)來實現(xiàn)。API HOOK技術(shù)是一種用于改變 API執(zhí)行結(jié)果的技術(shù),計算機(jī)程序可以使用這個技術(shù)來達(dá)到隱藏的目的。

        2.3 上網(wǎng)限制

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

        圖1 上網(wǎng)限制設(shè)置

        圖2 黑名單的編輯

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

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

        (2)黑名單的實現(xiàn)

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

        a1=xxxx

        ...

        然后用 OnBeforeNavigate過程檢測打開的網(wǎng)址是不是存在于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;

        為了提高系統(tǒng)的可移植性,可以同時將包括黑名單在內(nèi)的相關(guān)數(shù)據(jù)寫入了注冊表,在注冊表內(nèi)的位置為

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

        2.4 游戲限制

        在該模塊中,可以對一些常見的網(wǎng)絡(luò)游戲進(jìn)行限制使用。如圖3,可以選擇一個或多個想要禁止的游戲,還可以添加刪除某些游戲。在監(jiān)護(hù)狀態(tài)下,如果啟動被禁止的游戲,會顯示“該程序已被禁止”字樣,游戲程序也不運行。

        圖3 游戲限制

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

        ...

        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 時間限制

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

        圖4 時間限制

        在選擇“啟用時間限制功能”后,如果處于監(jiān)護(hù)狀態(tài)下,就會對系統(tǒng)時間進(jìn)行檢查,如果當(dāng)前時間不屬于允許上網(wǎng)的時間,就會對電腦進(jìn)行封鎖??梢钥吹诫娔X屏幕會整個變成灰暗色,中間顯示“現(xiàn)在不允許您使用電腦,本機(jī)已被鎖定。”并且可以通過輸入密碼切換到管理員狀態(tài)。

        ...

        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;} //屏蔽任務(wù)管理器(即ctrl+alt+del)

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

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

        健康設(shè)置,也是讀取時間,達(dá)到規(guī)定的時間時,對電腦進(jìn)行封鎖,封鎖界面有自動倒計時功能,在規(guī)定的鎖住電腦時間限達(dá)到后,可以自動解鎖,繼續(xù)正常使用電腦,當(dāng)然,如果用戶不愿意等待,可以直接輸入密碼進(jìn)入管理狀態(tài)。

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

        2.6 記錄

        在記錄中功能中,可以記錄下所有訪問過的網(wǎng)址以及屏幕抓圖記錄,上網(wǎng)限制中的“截獲網(wǎng)址”功能實際上也屬于記錄功能。屏幕記錄功能可以記錄下整個電腦畫面,每隔兩分鐘自動記錄一次并存放在文件夾ScreenLog中??梢栽诓粏榆浖那闆r下,直接打開系統(tǒng)固有文件夾中的ScreenLogView可執(zhí)行文件查看屏幕記錄。

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

        …..

        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 安全設(shè)置

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

        …..

        var

        dwExStyle : DWORD;

        begin

        dwExStyle:=GetWindowLong(Application.Handle,

        GWL_EXSTYLE);

        dwExStyle := dwExStyle +

        WS_EX_TOOLWINDOW;

        SetWindowLong(Application.Handle,

        GWL_EXSTYLE, dwExStyle);

        ……

        3 結(jié)束語

        闡述了實現(xiàn)健康上網(wǎng)軟件的關(guān)鍵技術(shù),主要利用Delphi中的系統(tǒng)函數(shù),結(jié)合Windows API,對計算機(jī)系統(tǒng)進(jìn)行控制,從而實現(xiàn)軟件的預(yù)定目標(biāo)。

        猜你喜歡
        任務(wù)欄黑名單網(wǎng)址
        2023年6月全宅影音器材編輯推薦
        防曬黑名單?第2款就翻車了!
        好日子(2022年6期)2022-08-17 07:16:00
        本刊網(wǎng)址變更通知
        解決任務(wù)欄兩區(qū)域圖標(biāo)空間之爭
        電腦愛好者(2018年9期)2018-05-21 16:40:50
        受懲黑名單
        中國信用(2017年5期)2017-05-25 11:20:08
        受懲黑名單
        中國信用(2017年4期)2017-05-23 11:40:56
        黑名單
        任務(wù)欄還有另類用法
        任務(wù)欄的不同尋常用法
        本刊網(wǎng)址變更通知
        在线观看国产三级av| 免费毛片a线观看| 男人边吻奶边挵进去视频| 色综合久久久久综合999| 精品奇米国产一区二区三区| 亚洲av精二区三区日韩| 中国农村妇女hdxxxx| 久久91综合国产91久久精品| 亚洲国产都市一区二区| 日本精品视频一区二区三区四区| 国产精品ⅴ无码大片在线看| 久久国产热精品波多野结衣av| 最近中文字幕一区二区三区| 国产自拍高清在线观看| 国产丝袜在线精品丝袜| 99精品热6080yy久久| 亚洲一区二区三区av无| 久久精品夜色噜噜亚洲a∨| www国产精品内射熟女| 国产亚洲欧美在线播放网站| 亚洲精品一区二区网站| 一本大道无码人妻精品专区| A午夜精品福利在线| 亚洲日本一区二区在线观看| 国产一级内射视频在线观看 | 在线观看国产内射视频| 免费在线不卡黄色大片| 国产在热线精品视频| 在线看亚洲十八禁网站| 日本成人免费一区二区三区| av在线播放男人天堂| 人人爽人人爱| 九九在线精品视频xxx| 成av人大片免费看的网站| 天天爽夜夜爽人人爽一区二区| 亚洲无毛片| 国产女主播大秀在线观看| 偷看农村妇女牲交| 无码欧亚熟妇人妻AV在线外遇 | 成年女人永久免费看片| 在线播放中文字幕一区二区三区|