欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種消息處理方法及裝置的制造方法

文檔序號(hào):8922457閱讀:849來(lái)源:國(guó)知局
一種消息處理方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息技術(shù)領(lǐng)域,尤其涉及一種消息處理方法及裝置。
【背景技術(shù)】
[0002]Windows的消息發(fā)送方式可以分為兩種:一種為同步方式,即通過(guò)調(diào)用SendMessage函數(shù)將消息發(fā)送給目標(biāo)窗口后,待目標(biāo)窗口處理完該消息后,將響應(yīng)消息返回給模擬程序?qū)?yīng)的進(jìn)程,以便模擬程序?qū)?yīng)的進(jìn)程執(zhí)行下一個(gè)模擬操作;一種為異步方式,即通過(guò)調(diào)用PostMessage將消息發(fā)送給目標(biāo)窗口后,模擬程序?qū)?yīng)的進(jìn)程直接執(zhí)行下一個(gè)模擬操作。例如,目標(biāo)窗口中已顯示有一個(gè)第一菜單欄,預(yù)期的效果為:當(dāng)用戶在目標(biāo)窗口中且該第一菜單欄以外的空白區(qū)域點(diǎn)擊右鍵時(shí),在目標(biāo)窗口在該第一菜單欄以外的空白區(qū)域建立第二菜單欄。然而,現(xiàn)有技術(shù)在采用異步方式時(shí),模擬程序不等待目標(biāo)窗口處理上述右鍵點(diǎn)擊發(fā)出的點(diǎn)擊消息,就去操作第二菜單欄。此時(shí)找到的彈出菜單可能是第一菜單欄,也可能剛好遇到第一菜單消失而第二菜單未出現(xiàn),導(dǎo)致找不到第一菜單或第二菜單。這兩種情況都不是模擬程序預(yù)期的效果。
[0003]因此,采用同步方式處理Windows的消息時(shí),當(dāng)目標(biāo)窗口出現(xiàn)“卡死”現(xiàn)象時(shí),會(huì)導(dǎo)致模擬程序?qū)?yīng)的進(jìn)程也會(huì)因等待目標(biāo)窗口處理消息而出現(xiàn)“卡死”現(xiàn)象;采用異步方式處理Windows的消息時(shí),模擬程序不等待目標(biāo)窗口處理完消息即執(zhí)行下一個(gè)模擬操作,從而影響下一個(gè)模擬操作執(zhí)行后的效果。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的實(shí)施例提供一種消息處理方法及裝置,能夠解決因目標(biāo)窗口出現(xiàn)“卡死”現(xiàn)象導(dǎo)致的模擬程序?qū)?yīng)的進(jìn)程而出現(xiàn)的“卡死”問(wèn)題,以及解決當(dāng)模擬程序不等目標(biāo)窗口處理完消息便執(zhí)行下一個(gè)模擬操作,導(dǎo)致因執(zhí)行過(guò)快影響下一個(gè)模擬操作執(zhí)行后的效果的問(wèn)題。
[0005]第一方面,本發(fā)明的實(shí)施例提供一種消息處理方法,包括:
[0006]以寄送方式發(fā)送模擬操作對(duì)應(yīng)的消息到目標(biāo)窗口,以便所述目標(biāo)窗口接收并處理所述消息;
[0007]以寄送方式發(fā)送計(jì)時(shí)消息到所述目標(biāo)窗口創(chuàng)建的輔助窗口,所述輔助窗口與所述目標(biāo)窗口在同一個(gè)進(jìn)程中,并且所述輔助窗口與所述目標(biāo)窗口對(duì)應(yīng)的消息隊(duì)列相同;
[0008]設(shè)置預(yù)設(shè)時(shí)間,當(dāng)在所述預(yù)設(shè)時(shí)間內(nèi)獲知所述輔助窗口接收到所述計(jì)時(shí)消息時(shí),繼續(xù)執(zhí)行下一個(gè)模擬操作。
[0009]第二方面,本發(fā)明的實(shí)施例提供一種消息處理裝置,包括:
[0010]發(fā)送單元,用于以寄送方式發(fā)送模擬操作對(duì)應(yīng)的消息到目標(biāo)窗口,以便所述目標(biāo)窗口接收并處理所述消息;
[0011]設(shè)置單兀,用于設(shè)置預(yù)設(shè)時(shí)間;
[0012]所述發(fā)送單元,還用于以寄送方式發(fā)送計(jì)時(shí)消息到所述目標(biāo)窗口創(chuàng)建的輔助窗口,所述輔助窗口與所述目標(biāo)窗口在同一個(gè)進(jìn)程中,并且所述輔助窗口與所述目標(biāo)窗口對(duì)應(yīng)的消息隊(duì)列相同;
[0013]第一處理單元,用于當(dāng)在所述設(shè)置單元設(shè)置的所述預(yù)設(shè)時(shí)間內(nèi)獲知所述輔助窗口接收到所述計(jì)時(shí)消息時(shí),繼續(xù)執(zhí)行下一個(gè)模擬操作。
[0014]本發(fā)明提供的消息處理方法及裝置,能夠通過(guò)以寄送方式發(fā)送模擬操作對(duì)應(yīng)的消息到目標(biāo)窗口 ;以寄送方式發(fā)送計(jì)時(shí)消息到所述目標(biāo)窗口創(chuàng)建的輔助窗口,所述輔助窗口與所述目標(biāo)窗口在同一個(gè)進(jìn)程中,并且所述輔助窗口與所述目標(biāo)窗口對(duì)應(yīng)的消息隊(duì)列相同;設(shè)置預(yù)設(shè)時(shí)間,當(dāng)在所述預(yù)設(shè)時(shí)間內(nèi)獲知所述輔助窗口接收到所述計(jì)時(shí)消息時(shí),繼續(xù)執(zhí)行下一個(gè)模擬操作。由于系統(tǒng)設(shè)置中即時(shí)消息的優(yōu)先級(jí)低于模擬操作對(duì)應(yīng)的消息,因此通過(guò)獲知輔助窗口接收到處理優(yōu)先級(jí)較低的計(jì)時(shí)消息,從而執(zhí)行下一個(gè)模擬操作,使得可以解決因目標(biāo)窗口出現(xiàn)“卡死”現(xiàn)象導(dǎo)致的模擬程序?qū)?yīng)的進(jìn)程而出現(xiàn)的“卡死”現(xiàn)象,以及解決當(dāng)模擬程序不等目標(biāo)窗口處理完消息便執(zhí)行下一個(gè)模擬操作,導(dǎo)致因執(zhí)行過(guò)快影響下一個(gè)模擬操作執(zhí)行后的效果的問(wèn)題
【附圖說(shuō)明】
[0015]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0016]圖1為本發(fā)明實(shí)施例提供的一種消息處理方法的流程圖;
[0017]圖2為本發(fā)明實(shí)施例提供的另一種消息處理方法的流程圖;
[0018]圖3為本發(fā)明實(shí)施例提供的另一種消息處理方法的流程圖;
[0019]圖4為本發(fā)明實(shí)施例提供的一種消息處理裝置的框圖;
[0020]圖5為本發(fā)明實(shí)施例提供的另一種消息處理裝置的框圖。
【具體實(shí)施方式】
[0021]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0022]本發(fā)明實(shí)施例提供一種消息處理方法,該方法的執(zhí)行主體可以為模擬程序?qū)?yīng)的進(jìn)程,如圖1所示,該方法包括:
[0023]步驟101,以寄送方式發(fā)送模擬操作對(duì)應(yīng)的消息到目標(biāo)窗口,以便所述目標(biāo)窗口接收并處理所述消息。
[0024]可選的,在本步驟之前,模擬程序?qū)?yīng)的進(jìn)程可以通過(guò)現(xiàn)有技術(shù)的技術(shù)方案使目標(biāo)窗口創(chuàng)建一個(gè)輔助窗口,此輔助窗口用于接收以及處理來(lái)自模擬程序?qū)?yīng)的進(jìn)程發(fā)送的消息。當(dāng)然還可以采用其他的技術(shù)實(shí)現(xiàn),本實(shí)施例不限制采用的技術(shù),可以使得目標(biāo)窗口創(chuàng)建輔助窗口的技術(shù)。
[0025]可選的,以寄送方式發(fā)送模擬操作對(duì)應(yīng)的消息到目標(biāo)窗口,即通過(guò)調(diào)用PostMessage函數(shù)將模擬操作對(duì)應(yīng)的消息發(fā)送給目標(biāo)窗口。
[0026]可選的,例如,模擬操作為模擬點(diǎn)擊操作,則模擬操作對(duì)應(yīng)的消息可以為點(diǎn)擊消肩、O
[0027]步驟102,以寄送方式發(fā)送計(jì)時(shí)消息到所述目標(biāo)窗口創(chuàng)建的輔助窗口,所述輔助窗口與所述目標(biāo)窗口在同一個(gè)進(jìn)程中,并且所述輔助窗口與所述目標(biāo)窗口對(duì)應(yīng)的消息隊(duì)列相同。
[0028]可選的,以寄送方式發(fā)送計(jì)時(shí)消息到所述目標(biāo)窗口創(chuàng)建的輔助窗口,即通過(guò)調(diào)用PostMessage函數(shù)將計(jì)時(shí)消息發(fā)送給輔助窗口。
[0029]可選的,模擬操作對(duì)應(yīng)的消息的處理優(yōu)先級(jí)比計(jì)時(shí)消息的處理優(yōu)先級(jí)高,因此當(dāng)所述輔助窗口與所述目標(biāo)窗口對(duì)應(yīng)的消息隊(duì)列中存在模擬操作對(duì)應(yīng)的消息以及計(jì)時(shí)消息時(shí),優(yōu)先處理模擬操作對(duì)應(yīng)的消息。
[0030]進(jìn)一步可選的,所述輔助窗口與所述目標(biāo)窗口對(duì)應(yīng)的進(jìn)程會(huì)通過(guò)一段循環(huán)代碼讀取消息隊(duì)列中的各個(gè)消息,并將消息發(fā)送給對(duì)應(yīng)的窗口,例如,將模擬操作對(duì)應(yīng)的消息發(fā)送給目標(biāo)窗口,將計(jì)時(shí)消息發(fā)送給輔助窗口。
[0031]步驟103,設(shè)置預(yù)設(shè)時(shí)間,當(dāng)在所述預(yù)設(shè)時(shí)間內(nèi)獲知所述輔助窗口接收到所述計(jì)時(shí)消息時(shí),繼續(xù)執(zhí)行下一個(gè)模擬操作。
[0032]可選的,由于模擬操作對(duì)應(yīng)的消息的處理優(yōu)先級(jí)比計(jì)時(shí)消息的處理優(yōu)先級(jí)高,因此模擬程序?qū)?yīng)的進(jìn)程獲知所述輔助窗口接收到所述計(jì)時(shí)消息時(shí),說(shuō)明目標(biāo)窗口已經(jīng)接收到模擬操作對(duì)應(yīng)的消息,或者,說(shuō)明目標(biāo)窗口已經(jīng)接收并且處理完成所述模擬操作對(duì)應(yīng)的消息,或者,說(shuō)明目標(biāo)窗口在處理所述模擬操作對(duì)應(yīng)的消息過(guò)程中產(chǎn)生的其他消息也已經(jīng)被其他相關(guān)窗口接收并處理,因此,模擬程序?qū)?yīng)的進(jìn)程可以繼續(xù)執(zhí)行下一個(gè)模擬操作。
[0033]當(dāng)在設(shè)置的預(yù)設(shè)時(shí)間內(nèi),模擬程序?qū)?yīng)的進(jìn)程未獲知所述輔助窗口接收到所述計(jì)時(shí)消息時(shí),也繼續(xù)執(zhí)行下一個(gè)模擬操作,即模擬程序?qū)?yīng)的進(jìn)程不再等待所述輔助窗口接收所述計(jì)時(shí)消息。
[0034]本發(fā)明提供的消息處理方法,能夠通過(guò)以寄送方式發(fā)送模擬操作對(duì)應(yīng)的消息到目標(biāo)窗口 ;以寄送方式發(fā)送計(jì)時(shí)消息到所述目標(biāo)窗口創(chuàng)建的輔助窗口,所述輔助窗口與所述目標(biāo)窗口在同一個(gè)進(jìn)程中,并且所述輔助窗口與所述目標(biāo)窗口對(duì)應(yīng)的消息隊(duì)列相同;設(shè)置預(yù)設(shè)時(shí)間,當(dāng)在所述預(yù)設(shè)時(shí)間內(nèi)獲知所述輔助窗口接收到所述計(jì)時(shí)消息時(shí),繼續(xù)執(zhí)行下一個(gè)模擬操作。由于系統(tǒng)設(shè)置中即時(shí)消息的優(yōu)先級(jí)低于模擬操作對(duì)應(yīng)的消息,因此通過(guò)獲知輔助窗口接收到處理優(yōu)先級(jí)較低的計(jì)時(shí)消息,從而執(zhí)行下一個(gè)模擬操作,使得可以解決因目標(biāo)窗口出現(xiàn)“卡死”現(xiàn)象導(dǎo)致的模擬程序?qū)?yīng)的進(jìn)程而出現(xiàn)的“卡死”現(xiàn)象,以及解決當(dāng)模擬程序不等目標(biāo)窗口處理完消息便執(zhí)行下一個(gè)模擬操作,導(dǎo)致因執(zhí)行過(guò)快影響下一個(gè)模擬操作執(zhí)行后的效果的問(wèn)題。
[0035]本發(fā)明實(shí)施例提供另一種消息處理方法,如圖2所示,該方法包括:
[0036]步驟201,模擬程序?qū)?yīng)的進(jìn)程通過(guò)現(xiàn)有技術(shù)方案使所述目標(biāo)窗口所在的進(jìn)程創(chuàng)建所述輔助窗口。
[0037]步驟202,模擬程序?qū)?yīng)的進(jìn)程以寄送方式發(fā)送模擬操作對(duì)應(yīng)的消息到目標(biāo)窗口,以便所述目標(biāo)窗口接收并處理所述消息。
[0038]可選的,模擬程序?qū)?yīng)的進(jìn)程以調(diào)用PostMessage
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
维西| 新竹县| 始兴县| 宜兰县| 句容市| 中江县| 阜平县| 类乌齐县| 湘潭县| 华阴市| 鄢陵县| 资源县| 济源市| 乐安县| 邵武市| 新营市| 静宁县| 五原县| 罗江县| 乃东县| 安泽县| 蚌埠市| 福州市| 云安县| 岑溪市| 济南市| 安达市| 阜康市| 德钦县| 章丘市| 泾阳县| 沾益县| 濉溪县| 米泉市| 福建省| 扶沟县| 峨边| 麦盖提县| 应用必备| 启东市| 大邑县|