国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      快速判斷用戶是否正在使用指定應(yīng)用程序的方法與流程

      文檔序號:11864169閱讀:610來源:國知局

      本發(fā)明屬于計(jì)算機(jī)桌面應(yīng)用領(lǐng)域,尤其是需要判斷用戶界面是否停留在指定的應(yīng)用程序上時(shí),快速判斷的方法,提供一種快速判斷用戶界面是否停留在指定的應(yīng)用程序上的方法。



      背景技術(shù):

      隨著計(jì)算機(jī)和網(wǎng)絡(luò)的飛速發(fā)展,遠(yuǎn)程教育的應(yīng)用越來越廣泛,當(dāng)遠(yuǎn)程教育應(yīng)用在低齡兒童身上時(shí),由于低齡兒童普遍存在注意力不足,容易開小差等情況,造成培訓(xùn)效果打折扣,為此,需要一個(gè)判斷學(xué)生在使用遠(yuǎn)程教育軟件時(shí),快速判斷是否認(rèn)真的技術(shù),以便采取后續(xù)措施。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明的目的是針對現(xiàn)有技術(shù)的空白,提供了一種快速判斷用戶界面是否停留在指定的應(yīng)用程序上的方法。

      本發(fā)明方法的具體步驟為:

      步驟一,獲取屏幕的分辨率,記為CXScreen、CYScreen,再根據(jù)實(shí)際情況,設(shè)置一個(gè)網(wǎng)格距離值Interval,將CXScreen、CYScreen均除以Interval,得到橫向和縱向的循環(huán)判斷的次數(shù),分別記為CXNum、CYNum。

      步驟二,初始化一個(gè)計(jì)數(shù)變量UseNum=0,然后根據(jù)CXNum、CYNum,使用一個(gè)二重循環(huán),計(jì)算每次循環(huán)體內(nèi)的需要判斷的點(diǎn)的坐標(biāo)Point(n,m)

      Point(n,m)=(n×Interval,m×Interval)0≤n≤CXNum,0≤m≤CYNum

      當(dāng)點(diǎn)的坐標(biāo)計(jì)算出來后,調(diào)用Windows提供的API函數(shù),獲取該點(diǎn)所在的應(yīng)用程序的標(biāo)識,然后將該應(yīng)用程序的標(biāo)識與預(yù)想的應(yīng)用程序的標(biāo)識進(jìn)行比較,若相等,則將計(jì)數(shù)變量UseNum=UseNum+1。

      步驟三,計(jì)算坐標(biāo)Point(n,m)落在指定的應(yīng)用程序上的比率,若大于閾值U,則認(rèn)為用戶正在使用該應(yīng)用程序。

      各步驟的詳細(xì)說明如下:

      步驟一中,網(wǎng)格距離值Interval用于決定判斷的網(wǎng)格點(diǎn)之間的距離,一般設(shè)置為10到50像素之間,設(shè)置得小則檢測精準(zhǔn)度越高,設(shè)置得大則檢測速度越快,根據(jù)實(shí)際要求,測試后使用一個(gè)可接受的值。

      步驟二中,通過Windows API中的WindowFromPoint獲取指定點(diǎn)所在的窗口句柄,該API的輸入?yún)?shù)是一個(gè)點(diǎn)的坐標(biāo)值,輸出參數(shù)是這個(gè)點(diǎn)所在的窗口句柄,然后使用GetWindowThreadProcessId獲取這個(gè)窗口句柄所在的進(jìn)程ID,將該應(yīng)用程序的進(jìn)程ID與需要判斷的應(yīng)用程序的進(jìn)程ID進(jìn)行比較,從而得到該點(diǎn)是否屬于需要判斷的應(yīng)用程序。

      步驟三中,落在指定的應(yīng)用程序上的比率Ratio的計(jì)算公式如下:

      <mrow> <mi>R</mi> <mi>a</mi> <mi>t</mi> <mi>i</mi> <mi>o</mi> <mo>=</mo> <mfrac> <mrow> <mi>U</mi> <mi>s</mi> <mi>e</mi> <mi>N</mi> <mi>u</mi> <mi>m</mi> </mrow> <mrow> <mi>C</mi> <mi>X</mi> <mi>N</mi> <mi>u</mi> <mi>m</mi> <mo>&times;</mo> <mi>C</mi> <mi>Y</mi> <mi>N</mi> <mi>u</mi> <mi>m</mi> </mrow> </mfrac> </mrow>

      計(jì)算得到的Ratio的值域?yàn)閇0,1],一般當(dāng)Ratio處于[0.85,1]時(shí),認(rèn)為學(xué)生正在使用應(yīng)用程序,因?yàn)橛脩羝聊簧弦话氵€有任務(wù)欄等空間是被系統(tǒng)所占用的,這些面積需要排除在外。

      本發(fā)明有益效果如下:

      本方法的思想是通過Windows系統(tǒng)提供的功能函數(shù),通過簡單的循環(huán)調(diào)用來判斷某些屏幕位置是否屬于指定的應(yīng)用程序,獲取到所有的信息后,根據(jù)是否停留在指定的應(yīng)用程序的點(diǎn)占所有點(diǎn)的比率,判斷用戶是否在使用指定的應(yīng)用程序,主要的創(chuàng)新點(diǎn)是不通過復(fù)雜的窗口層次的判斷方式,僅通過直接的判斷點(diǎn)的方式,加快了計(jì)算速度,減少了干擾因素,使本方法在各種用戶環(huán)境下都能較好的工作。

      附圖說明

      圖1為本發(fā)明實(shí)施例。

      具體實(shí)施方式

      下面結(jié)合附圖和實(shí)施例對本發(fā)明做進(jìn)一步說明。

      快速判斷用戶界面是否停留在指定的應(yīng)用程序上的方法,具體步驟如下:

      步驟一,獲取屏幕的分辨率,記為CXScreen、CYScreen,再根據(jù)實(shí)際情況,設(shè)置一個(gè)網(wǎng)格距離值Interval,將CXScreen、CYScreen均除以Interval,得到橫向和縱向的循環(huán)判斷的次數(shù),分別記為CXNum、CYNum。

      步驟二,初始化一個(gè)計(jì)數(shù)變量UseNum=0,然后根據(jù)CXNum、CYNum,使用一個(gè)二重循環(huán),計(jì)算每次循環(huán)體內(nèi)的需要判斷的點(diǎn)的坐標(biāo)Point(n,m)

      Point(n,m)=(n×Interval,m×Interval)0≤n≤CXNum,0≤m≤CYNum

      當(dāng)點(diǎn)的坐標(biāo)計(jì)算出來后,調(diào)用Windows提供的API函數(shù),獲取該點(diǎn)所在的應(yīng)用程序的標(biāo)識,然后將該應(yīng)用程序的標(biāo)識與預(yù)想的應(yīng)用程序的標(biāo)識進(jìn)行比較,若相等,則將計(jì)數(shù)變量UseNum=UseNum+1。

      步驟三,計(jì)算坐標(biāo)Point(n,m)落在指定的應(yīng)用程序上的比率,若大于閾值U,則認(rèn)為用戶正在使用該應(yīng)用程序。

      各步驟的詳細(xì)說明如下:

      步驟一中,網(wǎng)格距離值Interval用于決定判斷的網(wǎng)格點(diǎn)之間的距離,一般設(shè)置為10到50像素之間,設(shè)置得小則檢測精準(zhǔn)度越高,設(shè)置得大則檢測速度越快,根據(jù)實(shí)際要求,測試后使用一個(gè)可接受的值。

      步驟二中,通過Windows API中的WindowFromPoint獲取指定點(diǎn)所在的窗口句柄,該API的輸入?yún)?shù)是一個(gè)點(diǎn)的坐標(biāo)值,輸出參數(shù)是這個(gè)點(diǎn)所在的窗口句柄,然后使用GetWindowThreadProcessId獲取這個(gè)窗口句柄所在的進(jìn)程ID,將該應(yīng)用程序的進(jìn)程ID與需要判斷的應(yīng)用程序的進(jìn)程ID進(jìn)行比較,從而得到該點(diǎn)是否屬于需要判斷的應(yīng)用程序。

      步驟三中,落在指定的應(yīng)用程序上的比率Ratio的計(jì)算公式如下:

      <mrow> <mi>R</mi> <mi>a</mi> <mi>t</mi> <mi>i</mi> <mi>o</mi> <mo>=</mo> <mfrac> <mrow> <mi>U</mi> <mi>s</mi> <mi>e</mi> <mi>N</mi> <mi>u</mi> <mi>m</mi> </mrow> <mrow> <mi>C</mi> <mi>X</mi> <mi>N</mi> <mi>u</mi> <mi>m</mi> <mo>&times;</mo> <mi>C</mi> <mi>Y</mi> <mi>N</mi> <mi>u</mi> <mi>m</mi> </mrow> </mfrac> </mrow>

      計(jì)算得到的Ratio的值域?yàn)閇0,1],一般當(dāng)Ratio處于[0.85,1]時(shí),認(rèn)為學(xué)生正在使用應(yīng)用程序,因?yàn)橛脩羝聊簧弦话氵€有任務(wù)欄等空間是被系統(tǒng)所占用的,這些面積需要排除在外。

      實(shí)施例:

      如圖1所示,用于判斷PC機(jī)是否在使用無限寶(藍(lán)色標(biāo)題欄和邊框的程序)。具體如下:目前屏幕分辨率為1440*900,網(wǎng)格距離值Interval設(shè)為200,則屏幕被分割為縱向5個(gè)點(diǎn),橫向8個(gè)點(diǎn),共40個(gè)點(diǎn)圖上紅線的交叉點(diǎn)即這40個(gè)點(diǎn),其中用藍(lán)色五角星標(biāo)明的點(diǎn)被判斷為屬于無限寶應(yīng)用程序,共計(jì)18個(gè),占比為18/40=45%,小于85%的閾值,所以判定為未在認(rèn)真使用無限寶程序。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1