国产精品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>

      一種實現(xiàn)軟件結(jié)合的方法

      文檔序號:6558112閱讀:371來源:國知局
      專利名稱:一種實現(xiàn)軟件結(jié)合的方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于計算機軟件領(lǐng)域,尤其涉及一種實現(xiàn)計算機軟件之間相互結(jié)合的方法。
      背景技術(shù)
      在計算機通信和應(yīng)用過程中,軟件之間為了達(dá)到功能上的互補,經(jīng)常需要軟件之間互相結(jié)合。實現(xiàn)軟件調(diào)用和結(jié)合的通常做法是將其中一個軟件的代碼進(jìn)行抽離,另一個軟件包含調(diào)用。如果存在用戶圖形界面上的結(jié)合就更加復(fù)雜,需要將一個軟件的用戶圖形界面在另一個軟件重新實現(xiàn),再調(diào)用原來的數(shù)據(jù)運算邏輯。
      這種軟件調(diào)用和結(jié)合方式造成軟件開發(fā)工作量大,互相結(jié)合的軟件都需要做出改動;同時,代碼邏輯上的結(jié)合增大了調(diào)試錯誤的復(fù)雜性。另外需要至少有一個軟件公開軟件實現(xiàn)方法,甚至程序源代碼。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于解決現(xiàn)有技術(shù)中存在的在實現(xiàn)軟件調(diào)用和結(jié)合時,造成軟件開發(fā)工作量大、增大調(diào)試復(fù)雜性以及需要公開軟件實現(xiàn)方法的問題。
      為了實現(xiàn)發(fā)明目的,本發(fā)明提供了一種實現(xiàn)軟件結(jié)合的方法,結(jié)合軟件調(diào)用被結(jié)合軟件的用戶界面,并與被結(jié)合軟件進(jìn)行數(shù)據(jù)交換,所述方法包括在結(jié)合軟件設(shè)置一個窗口標(biāo)識,用于唯一對應(yīng)一個窗口;被結(jié)合軟件調(diào)用所述窗口標(biāo)識,將用戶界面作為子窗口嵌套進(jìn)所述窗口標(biāo)識對應(yīng)的窗口中;在被結(jié)合軟件設(shè)置應(yīng)用編程接口;
      結(jié)合軟件通過調(diào)用所述應(yīng)用編程接口與被結(jié)合軟件交換數(shù)據(jù)。
      所述窗口標(biāo)識為窗口句柄,所述窗口句柄為一個唯一標(biāo)識一個窗口的數(shù)據(jù)。
      所述窗口標(biāo)識進(jìn)一步包括窗口標(biāo)題、窗口風(fēng)格、窗口類名或者窗口注冊名。
      應(yīng)用本發(fā)明在實現(xiàn)軟件結(jié)合時,可以節(jié)省開發(fā)成本及開發(fā)的復(fù)雜性,同時避免結(jié)合的軟件雙方需要公開實現(xiàn)方法或者源代碼,便于合作,并能提高開發(fā)效率。由于軟件雙方運行于獨立進(jìn)程,互不干擾,也減少了軟件結(jié)合帶來的程序邏輯復(fù)雜性。


      圖1是軟件之間進(jìn)行界面嵌套的實現(xiàn)示例圖;圖2是軟件之間調(diào)用API的實現(xiàn)示例圖。
      具體實施例方式
      為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
      在本發(fā)明中,當(dāng)軟件之間需要進(jìn)行相互結(jié)合時,其中結(jié)合軟件提供一個窗口標(biāo)識,用于唯一對應(yīng)一個用戶界面。窗口標(biāo)識可以是窗口句柄,也可以是特殊的窗口標(biāo)題、窗口風(fēng)格、窗口類名或者窗口注冊名等。窗口句柄是Windows操作系統(tǒng)中用來唯一標(biāo)識一個窗口的32位數(shù)據(jù)。被結(jié)合軟件將自身的用戶界面以子窗口的形式嵌套進(jìn)結(jié)合軟件,從而結(jié)合了軟件界面及其資料信息。軟件雙方都運行在獨立的進(jìn)程,運行過程互不干擾,兩者之間數(shù)據(jù)交換通過API(Application Programming Interface,應(yīng)用編程接口)調(diào)用的方式進(jìn)行,從而驅(qū)動數(shù)據(jù)的改變及其界面變化。
      如圖1所示,A軟件根據(jù)B軟件提供的窗口標(biāo)識,通過嵌套子窗口的形式將自身的用戶界面結(jié)合到B軟件中,用戶界面包含了聯(lián)系人信息。如圖2所示,B軟件通過調(diào)用A軟件進(jìn)程提供的API,如聯(lián)系人資料更新接口、聯(lián)系人更新事件通知、聯(lián)系人刪除接口、聯(lián)系人添加接口實現(xiàn)進(jìn)程間通訊等用戶界面中的驅(qū)動數(shù)據(jù)改變及界面變化。
      為了更清楚的說明本發(fā)明的實現(xiàn),以下提供部分關(guān)鍵源代碼示例//B軟件程序中,嵌套A軟件窗口的代碼示例//聲明創(chuàng)建A軟件的編程接口IACreator*pACreator;//創(chuàng)建/獲得ACreator的接口,系統(tǒng)唯一的CoCreateInstance(CLSID_ACreator,NULL,CLSCTX_LOCAL_SERVER,IID_IACreator,(VOID**)&amp;pACreator);//將B軟件的窗口句柄傳遞給A軟件,A軟件使用該窗口句柄信息將自己的窗口嵌套進(jìn)來VARIANT vCreateParam;vCreateMode.vt=VT_I4;vCreateMode.lVal=(long)pThis->m_dlgFrame.GetSafeHwnd();pACreator->CreateObject(vCreateParam);//B軟件程序中,調(diào)用A軟件編程接口控制A軟件行為//獲得A軟件編程接口IAAppAPI*pAAPI;pDisp->QueryInterface(IID_IAAppAPI,(void**)&amp;pAAPI);//改變A軟件窗口標(biāo)題為“A窗口-B軟件”VARIANT vResult={0};pAAPI->Call(4,COleVariant(″A窗口-B軟件″),&amp;vResult);//B軟件程序中,通過監(jiān)聽A軟件事件通知回調(diào)接口,獲知A軟件的變化void CAAPIEvents::OnEvent(VARIANT*pObjectID,LONGlEvent,VARIANT*pProperty){CString strObjID(pObjectID->bstrVal);
      if(0==strObjID.CompareNoCase(″DataObj″)){//A軟件數(shù)據(jù)變化}else if(0==strObjID.CompareNoCase(″StatusObj″)){//A軟件網(wǎng)絡(luò)狀態(tài)變化通知}本發(fā)明通過使用嵌套窗口的方式實現(xiàn)了軟件之間的互相結(jié)合,大大節(jié)省了開發(fā)成本及其復(fù)雜性,同時通過API的方式進(jìn)行進(jìn)程間通訊對數(shù)據(jù)進(jìn)行驅(qū)動和對界面進(jìn)行控制,避免了結(jié)合的軟件雙方需要公開實現(xiàn)方法或者源代碼的問題,從而便于合作,開發(fā)效率也隨之提高。由于軟件雙方運行于獨立進(jìn)程,互不干擾,也減少了軟件結(jié)合帶來的程序邏輯復(fù)雜性。
      以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      權(quán)利要求
      1.一種實現(xiàn)軟件結(jié)合的方法,結(jié)合軟件調(diào)用被結(jié)合軟件的用戶界面,并與被結(jié)合軟件進(jìn)行數(shù)據(jù)交換,其特征在于,所述方法包括在結(jié)合軟件設(shè)置一個窗口標(biāo)識,用于唯一對應(yīng)一個窗口;被結(jié)合軟件調(diào)用所述窗口標(biāo)識,將用戶界面作為子窗口嵌套進(jìn)所述窗口標(biāo)識對應(yīng)的窗口中;在被結(jié)合軟件設(shè)置應(yīng)用編程接口;結(jié)合軟件通過調(diào)用所述應(yīng)用編程接口與被結(jié)合軟件交換數(shù)據(jù)。
      2.如權(quán)利要求1所述的方法,其特征在于,所述窗口標(biāo)識為窗口句柄,所述窗口句柄為一個唯一標(biāo)識一個窗口的數(shù)據(jù)。
      3.如權(quán)利要求1所述的方法,其特征在于,所述窗口標(biāo)識進(jìn)一步包括窗口標(biāo)題、窗口風(fēng)格、窗口類名或者窗口注冊名。
      全文摘要
      本發(fā)明適用于計算機軟件領(lǐng)域,提供了一種實現(xiàn)軟件結(jié)合的方法,結(jié)合軟件調(diào)用被結(jié)合軟件的用戶界面,并與被結(jié)合軟件進(jìn)行數(shù)據(jù)交換,所述方法包括在結(jié)合軟件設(shè)置一個窗口標(biāo)識,用于唯一對應(yīng)一個窗口;被結(jié)合軟件調(diào)用所述窗口標(biāo)識,將用戶界面作為子窗口嵌套進(jìn)所述窗口標(biāo)識對應(yīng)的窗口中;在被結(jié)合軟件設(shè)置應(yīng)用編程接口;結(jié)合軟件通過調(diào)用所述應(yīng)用編程接口與被結(jié)合軟件交換數(shù)據(jù)。應(yīng)用本發(fā)明在實現(xiàn)軟件結(jié)合時,可以節(jié)省開發(fā)成本及開發(fā)的復(fù)雜性,同時避免結(jié)合的軟件雙方需要公開實現(xiàn)方法或者源代碼,便于合作,并能提高開發(fā)效率。由于軟件雙方運行于獨立進(jìn)程,互不干擾,也減少了軟件結(jié)合帶來的程序邏輯復(fù)雜性。
      文檔編號G06F9/46GK1940866SQ20061007443
      公開日2007年4月4日 申請日期2006年4月8日 優(yōu)先權(quán)日2005年9月30日
      發(fā)明者林友堯 申請人:騰訊科技(深圳)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1