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

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

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

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

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

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

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

1 概述

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

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

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

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

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

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

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

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

3 各大模塊的組成部分

3.1 連接模塊

(1)界面=服務器界面+手機界面。

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

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

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

3.2 控制模塊

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

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

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

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

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

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

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

4.1 連接模塊

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

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

server = new ServerSocket(5000);

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

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

(2)當接收到客戶端的命令時進行響應

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("解除鎖屏時間 "+(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連接到服務器

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); }

限制鼠標移動范圍(通過調(diào)用Cursor這個類下的Rectangle方法,從而建立起限制鼠標移動的區(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)鎖屏的建立()

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

[DllImport("user32")]

publicstaticexternbool BlockInput(bool isBook);

[DllImport("user32")]

publicstaticexternbool LockWorkStation();

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

屏蔽任務管理器:

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

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ā)出電腦服務器端與手機客戶端,然后使用Socket通信協(xié)議使服務器端與客戶端產(chǎn)生連接。

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

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

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

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

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

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

5.2 控制模塊

通過借助電腦Windows系統(tǒng)的user32.dll,制作“鍵盤鉤子”,“鼠標鉤子”來捕獲電腦的鼠標和鍵盤事件,再通過手機端的鎖屏按鈕讓服務器端進行響應從而對其實現(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)遠程操控鎖屏,鎖定鍵盤的功能,有效地防止忘記關(guān)電腦屏幕,被人盜取你本地的材料等等安全問題。本次首次采用JAVA與Android與C#交互式使用,利用C#工程文件自動生成EXE這一特性,先通過JAVA登陸才能進入主界面,開啟服務器,然后彈出IP地址,那么手機端就對著IP地址,進行連接,然后通過調(diào)用目標EXE,最終點擊退出完成一套操作。

參考文獻:

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

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

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

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

猜你喜歡
設計
二十四節(jié)氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 一区二区三区高清视频国产女人| 欧美成人一级| 97视频精品全国免费观看| 国产自在线播放| 欧美天堂在线| 国产18在线播放| 青青青伊人色综合久久| 一本久道久综合久久鬼色| 国产精品女同一区三区五区| 亚洲国产成人无码AV在线影院L| 又大又硬又爽免费视频| 久久中文字幕2021精品| 亚洲一区国色天香| 国产精品自在在线午夜| 亚洲,国产,日韩,综合一区 | 久久精品最新免费国产成人| 国产大片喷水在线在线视频| 黄色不卡视频| 久久国产黑丝袜视频| 日本五区在线不卡精品| 久久人搡人人玩人妻精品| 乱人伦中文视频在线观看免费| 亚洲天堂网2014| a欧美在线| 中国黄色一级视频| 青青青国产视频| 国产aⅴ无码专区亚洲av综合网| 精品国产成人a在线观看| 欧美精品亚洲精品日韩专| 18禁高潮出水呻吟娇喘蜜芽| 中文字幕2区| 人妻熟妇日韩AV在线播放| 波多野结衣一级毛片| 99久久国产综合精品2020| 国产精品久久久久无码网站| 国产欧美视频在线| 9cao视频精品| 亚洲一区无码在线| 欧美午夜理伦三级在线观看| 五月婷婷丁香色| 久久久噜噜噜| 久久精品中文字幕免费| 人妻中文久热无码丝袜| 国产精品黄色片| 欧美日韩另类国产| 亚洲中文精品人人永久免费| 88av在线| 国产超碰一区二区三区| 五月天福利视频| 国产精品亚洲αv天堂无码| 尤物国产在线| 亚洲欧洲天堂色AV| 亚洲无码不卡网| 国产亚洲精| 秋霞国产在线| 亚洲欧美日韩成人高清在线一区| 在线精品自拍| 亚洲欧洲综合| 国产精品人人做人人爽人人添| 国产成人艳妇AA视频在线| 国产成熟女人性满足视频| 成人福利视频网| 高清色本在线www| 亚洲最猛黑人xxxx黑人猛交| 自慰网址在线观看| 亚洲天堂网2014| 免费在线播放毛片| 国产喷水视频| 国产日本欧美在线观看| 色综合久久无码网| 亚洲视频影院| 国产内射在线观看| 国产色网站| 国产综合在线观看视频| 狠狠亚洲五月天| 亚洲中文字幕国产av| 国产麻豆91网在线看| 国产玖玖玖精品视频| 97成人在线观看| 亚洲成年网站在线观看| 国产免费久久精品99re不卡| 91蝌蚪视频在线观看|