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

        ?

        Android自動密碼鎖定系統(tǒng)設(shè)計與實現(xiàn)

        2017-08-24 02:58:43屈曉葉家仲許志華陳子洋鐘俊杰
        科技創(chuàng)新與應(yīng)用 2017年21期
        關(guān)鍵詞:設(shè)計

        屈曉+葉家仲+許志華+陳子洋+鐘俊杰+陳睿華

        摘 要:依照軟件工程中軟件開發(fā)的相關(guān)理論對系統(tǒng)進(jìn)行了分析和設(shè)計,我們的“智點”軟件主要是應(yīng)當(dāng)下智能化時代以及安卓系統(tǒng)的普及,我們就基于Android手機(jī)系統(tǒng)做了一款手機(jī)與電腦交互,實現(xiàn)鎖定電腦鎖定的軟件。Android自動密碼鎖定系統(tǒng)主要運(yùn)用到JAVA編程;API (Application Programming Inter face 應(yīng)用程序編程接口);UI界面優(yōu)化技術(shù)(User Interface);安卓開發(fā)技術(shù)。

        關(guān)鍵詞:自動鎖定;安卓與電腦交互;設(shè)計

        中圖分類號:TP311 文獻(xiàn)標(biāo)志碼:A 文章編號:2095-2945(2017)21-0030-03

        1 概述

        隨著信息時代的來臨,使人們產(chǎn)生“智能”這一名詞的概念,而中國手機(jī)用戶量接近13億,中國電腦用戶量接近12億,隨著智能手機(jī)與智能化電腦的用戶量日益增加,智能化產(chǎn)業(yè)成為現(xiàn)今一個熱門行業(yè),此項目將電腦與智能手機(jī)緊密聯(lián)系起來,將會是智能化產(chǎn)業(yè)中的又一技術(shù)的革新。

        2 系統(tǒng)設(shè)計與實現(xiàn)

        本系統(tǒng)采用了C/S客戶端與服務(wù)器模式的體系結(jié)構(gòu),以JAVA語言編寫的服務(wù)器,以SOCKET打開連接網(wǎng)絡(luò)的端口,利用局域網(wǎng)的通用性,讓客戶端與服務(wù)器端進(jìn)行連接,從而實現(xiàn)交互。

        整個鎖屏系統(tǒng)的功能結(jié)構(gòu)主要是包含以下幾個部分:

        (1)安全權(quán)限的設(shè)置,我們?yōu)槭褂梦覀冩i屏系統(tǒng)的用戶都設(shè)置了賬號與密碼,必須登陸成功才能開啟PC端的服務(wù)器。

        (2)登錄成功后,根據(jù)服務(wù)器所顯示所在局域網(wǎng)的網(wǎng)段,手機(jī)端連接服務(wù)器,從而實現(xiàn)PC端與客戶端對接,進(jìn)而對PC端進(jìn)行控制。

        (3)鎖定屏幕時,鼠標(biāo)只能限制在一定區(qū)域內(nèi)移動,而整個屏幕的亮度處于節(jié)能亮度的狀態(tài),達(dá)到節(jié)能低碳的作用。

        鎖屏系統(tǒng)的功能結(jié)構(gòu)圖如圖1所示。

        3 各大模塊的組成部分

        3.1 連接模塊

        (1)界面=服務(wù)器界面+手機(jī)界面。

        服務(wù)器界面主要是用來顯示客戶端發(fā)送過來的命令??蛻舳私缑娣譃閮蓚€界面,第一個界面是用來輸入局域網(wǎng)IP地址,第二個界面為操作界面,用戶可以通過這個界面向服務(wù)器端發(fā)送命令。

        (2)Socket通信協(xié)議實現(xiàn)服務(wù)器端與客戶端的交互。

        使服務(wù)器與客戶端進(jìn)行連接,客戶端可以向服務(wù)器端發(fā)送鎖屏以及解鎖命令,服務(wù)器對客戶端發(fā)送到命令進(jìn)行響應(yīng)。

        3.2 控制模塊

        (1)窗體=暗色調(diào)保護(hù)窗體+鎖定屏幕工作窗體。

        暗色調(diào)保護(hù)窗體是用來降低屏幕的光功率,使得我們的軟件的耗電量降低, 鎖定屏幕工作窗體是用來把鼠標(biāo)的工作區(qū)域限定起來,禁止鼠標(biāo)對其他工作區(qū)域進(jìn)行操作,也是提示已經(jīng)鎖定電腦。

        (2)操作鉤子(控制控件)=鼠標(biāo)鉤子+鍵盤鉤子。

        鼠標(biāo)鉤子是用來“勾取”鼠標(biāo)的每一個動作,行為,然后調(diào)用了系統(tǒng)插件獲得權(quán)限,對鼠標(biāo)的行為進(jìn)行控制。鍵盤鉤子是用來“抓取”每一個鍵盤的動作,調(diào)用系統(tǒng)插件獲得權(quán)限,通過定義變量vkCode來記錄每個鍵位的數(shù)據(jù),從而改變它的返回值,最終實現(xiàn)屏蔽鍵盤事件,使得電腦暫時無法獲取鍵盤的行為。

        (3)密碼驗證鎖=密碼解密碼屏幕和自制鍵盤。

        當(dāng)PC端和客戶端斷開連接時,PC端還處于被鎖定狀態(tài),那么就需要PC開啟另外一條“綠色通道”來解決這一問題,為了提高其安全性,此密碼鎖先與自制的密碼鍵盤對接,先解決鍵盤被鎖定而無法輸入數(shù)字的尷尬情況,然后就是與本地的數(shù)據(jù)庫對接,使得整個系統(tǒng)的安全性提高,保證只有本注冊的用戶才能擁有鎖定屏幕與解除鎖定屏幕的權(quán)限。

        4 各大模塊的關(guān)鍵技術(shù)

        4.1 連接模塊

        (1)服務(wù)器端(綁定端口并偵聽用戶請求)

        window = new Window("服務(wù)器:");

        server = new ServerSocket(5000);

        System.out.println("服務(wù)器已創(chuàng)建,正在等待客戶端連接。。。");

        area.append("服務(wù)器已創(chuàng)建,正在等待客戶端連接。。。" + '\n');

        (2)當(dāng)接收到客戶端的命令時進(jìn)行響應(yīng)

        if (fromClient.equals("解除")) {

        Runtime.getRuntime().exec( taskkill /F /IM WorkStation.exe");

        String w = "已經(jīng)解除鎖屏" + '\n';

        writer.write(w.getBytes("utf-8"));

        writer.flush();

        long endTime = System.currentTimeMillis();

        System.out.println("解除鎖屏?xí)r間 "+(endTime-startTime));

        if (fromClient.equals("鎖屏")) {

        long startTime = System.currentTimeMillis();

        Runtime rn = Runtime.getRuntime();

        Process p = null;

        p=rn.exec("\"F:/WorkStation/WorkStation/WorkStation/bin/Debug/WorkStation.exe\"");

        }).start();

        }

        (3)客戶端通過輸入局域網(wǎng)IP連接到服務(wù)器

        String ip = et.getText().toString();

        Intent intent = new Intent(Facactivity.this,Second.class);

        intent.putExtra("et1", ip);

        startActivity(intent);

        4.2 控制模塊

        (1)密碼檢驗界面(通過讀取TextBox整行的數(shù)據(jù),從而判斷所輸入的密碼是否正確)

        linkdb();

        string Password = textBox.Text;

        string Sql = string.Format("select * from [user] where password='{0}'",Password);

        OleDbCommand comm = newOleDbCommand(Sql, objConnection);

        OleDbDataReaderreader = comm.ExecuteReader();

        if (reader["password"].ToString().Trim() == textBox.Text.Trim())

        { h.Hook_Clear();

        h.TaskMgrLocking(false);

        Application.Exit();

        }

        (2)自制密碼鍵盤

        Key.Text = Key.Text + num.ToString();

        privatevoid btn_1_Click(object sender, EventArgs e) {

        addNum(1); }

        限制鼠標(biāo)移動范圍(通過調(diào)用Cursor這個類下的Rectangle方法,從而建立起限制鼠標(biāo)移動的區(qū)域)

        Cursor.Clip = newRectangle(PointToScreen(newPoint(0, SystemInformation.CaptionHeight)), newSize(this.ClientRectangle.Width - 2 * (SystemInformation.CaptionHeight), this.ClientSize.Height + -2 * (SystemInformation.CaptionHeight)));

        base.OnMouseMove(e);

        (3)鎖屏的建立()

        導(dǎo)入插件,通過導(dǎo)入插件來調(diào)用底層文件,從而實現(xiàn)鎖定屏幕和鍵盤的效果

        [DllImport("user32")]

        publicstaticexternbool BlockInput(bool isBook);

        [DllImport("user32")]

        publicstaticexternbool LockWorkStation();

        publicdelegateint HookProc(int nCode, int wParam, IntPtr lParam);

        屏蔽任務(wù)管理器:

        通過獲取任務(wù)管理器默認(rèn)路徑,然后執(zhí)行隱藏任務(wù)管理器的窗口

        if (bLock){

        Process p = newProcess();

        p.StartInfo.WorkingDirectory=Environment.GetFolderPath(Environment.SpecialFolder.System);

        p.StartInfo.FileName = "taskmgr.exe";

        p.StartInfo.CreateNoWindow = true;

        p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

        p.Start(); } else {

        Process[] process = Process.GetProcesses();

        foreach (Process p1 in process) {

        if (p1.ProcessName.ToLower().Trim() == "taskmgr"){p1.Kill();

        RegistryKeyr=Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", true);

        r.SetValue("DisableTaskmgr", "0");

        Registry.CurrentUser.DeleteSubKey("Software\\Microsoft\\Wi

        ndows\\CurrentVersion\\Policies\\System"); }

        }

        (4)開啟鎖定鉤子

        if (hHook == 0)

        { KeyBoardHookProcedure = newHookProc(KeyBoardHookProc);

        hHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyBoardHookProcedure, GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName), 0);

        (5)解除鉤子

        利用調(diào)用hHook這個方法,通過改變布爾值的賦值0,1,從而實現(xiàn)解鎖功能

        if (hHook != 0) { retKeyBoard = UnhookWindowsHookEx(hHook);

        hHook = 0; }

        if (!retKeyBoard) thrownewException("UnhookWindowsHookEx faild.");

        5 技術(shù)實現(xiàn)途徑

        5.1 連接模塊

        首先用Java語言開發(fā)出電腦服務(wù)器端與手機(jī)客戶端,然后使用Socket通信協(xié)議使服務(wù)器端與客戶端產(chǎn)生連接。

        (1)服務(wù)器端聲明一個端口,在端口上偵聽客戶連接的請求server = new ServerSocket(5000);socket = server.accept();

        對偵聽語句進(jìn)行循環(huán),實現(xiàn)重連。

        (2)通過創(chuàng)建輸入流與輸出流來接受客戶端的信息以及對客戶端的反饋。

        當(dāng)客戶端發(fā)送鎖屏命令時,服務(wù)器通過調(diào)用方法Runtime rn = Runtime.getRuntime();

        Process p = null;p =rn.exec();,調(diào)用鎖屏程序,從而實現(xiàn)鎖屏。

        (3)當(dāng)客戶端發(fā)送解除命令時,服務(wù)器通過調(diào)用Runtime.getRuntime().exec方法關(guān)閉鎖屏程序從而實現(xiàn)解鎖。

        5.2 控制模塊

        通過借助電腦Windows系統(tǒng)的user32.dll,制作“鍵盤鉤子”,“鼠標(biāo)鉤子”來捕獲電腦的鼠標(biāo)和鍵盤事件,再通過手機(jī)端的鎖屏按鈕讓服務(wù)器端進(jìn)行響應(yīng)從而對其實現(xiàn)鎖定效果。

        使用到的關(guān)鍵API有:System.Runtime.InteropServices;

        Microsoft.Win32; System.IO; System.Diagnostics;

        使用到的系統(tǒng)插件有:User32.dll Native.dll KERNEL.dll

        6 結(jié)束語

        本系統(tǒng)可以局域網(wǎng)的環(huán)境實現(xiàn)遠(yuǎn)程操控鎖屏,鎖定鍵盤的功能,有效地防止忘記關(guān)電腦屏幕,被人盜取你本地的材料等等安全問題。本次首次采用JAVA與Android與C#交互式使用,利用C#工程文件自動生成EXE這一特性,先通過JAVA登陸才能進(jìn)入主界面,開啟服務(wù)器,然后彈出IP地址,那么手機(jī)端就對著IP地址,進(jìn)行連接,然后通過調(diào)用目標(biāo)EXE,最終點擊退出完成一套操作。

        參考文獻(xiàn):

        [1]周軍.基于Android手機(jī)遠(yuǎn)程控制的設(shè)計與實現(xiàn)[D].武漢輕工大學(xué)與計算機(jī)學(xué)院.

        [2]蘇健.Java面向?qū)ο蟪绦蛟O(shè)計[M].高等教育出版社.

        [3]趙滿來.可視化Java GUI程序設(shè)計教程——基于Swing組件庫及NetBeans IDE[M].清華大學(xué)出版社,2015.

        [4]李春苞.數(shù)據(jù)結(jié)構(gòu)教程(第4版)[M].清華大學(xué)出版社.

        猜你喜歡
        設(shè)計
        二十四節(jié)氣在平面廣告設(shè)計中的應(yīng)用
        河北畫報(2020年8期)2020-10-27 02:54:06
        何為設(shè)計的守護(hù)之道?
        《豐收的喜悅展示設(shè)計》
        流行色(2020年1期)2020-04-28 11:16:38
        基于PWM的伺服控制系統(tǒng)設(shè)計
        電子制作(2019年19期)2019-11-23 08:41:36
        基于89C52的32只三色LED搖搖棒設(shè)計
        電子制作(2019年15期)2019-08-27 01:11:50
        基于ICL8038的波形發(fā)生器仿真設(shè)計
        電子制作(2019年7期)2019-04-25 13:18:16
        瞞天過?!律O(shè)計萌到家
        設(shè)計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        從平面設(shè)計到“設(shè)計健康”
        商周刊(2017年26期)2017-04-25 08:13:04
        午夜精品久久久久久| 人妻少妇中文字幕专区| 日本视频一区二区三区在线 | 99国语激情对白在线观看| 国产丝袜在线福利观看| 国产色av一区二区三区| 欧美性受xxxx黑人猛交| 久久精品国产视频在热| 99久久久无码国产aaa精品| 麻豆国产VA免费精品高清在线| 免费在线观看草逼视频| 亚洲一区二区三区高清在线| 久久久久久亚洲av成人无码国产| 丰满女人又爽又紧又丰满| 中文字幕久久精品波多野结百度 | 18禁真人抽搐一进一出在线| 精品乱码久久久久久中文字幕| 97久久综合区小说区图片区| av网站可以直接看的| 伊人久久大香线蕉av不变影院| 亚洲av无码无线在线观看| 欧洲熟妇色xxxxx欧美老妇伦| 久久久久亚洲av成人网址| 国产黄色污一区二区三区| 国产一区二区黄色网页| 亚洲精品少妇30p| 国产无套护士在线观看| 亚洲AV成人无码天堂| 丝袜美腿一区二区在线观看 | 国产青青草在线观看视频| 婷婷色婷婷开心五月四房播播| 天天躁人人躁人人躁狂躁| 国产三级在线看完整版| 亚洲中文字幕人成乱码在线 | 麻豆精品国产精华精华液好用吗 | 国产精品中文字幕日韩精品| 伊人中文字幕亚洲精品乱码| 国产成人精品123区免费视频| 97日日碰日日摸日日澡| 久久综合久中文字幕青草| 精品人妻av一区二区三区|