多程式通訊呼叫研究

2021-10-05 22:16:45 字數 1221 閱讀 8640

最近在給應用程式新增乙個新的高拍儀硬體工具,原本計畫是直接在應用程式中新增相關的驅動,直接進行硬體呼叫,試了幾天後發現這個驅動在應用程式中並不好使,並且這個應用程式邏輯很複雜,也不可能進行重寫,於是在撞了幾天牆之後想到了新思路,直接呼叫硬體工具現有的測試工具,這不就解決了麼~ ~為榆木腦袋想哭

直接說思路吧,比較簡單,在應用程式需要使用硬體工具的時候直接載入高拍儀測試exe,並且同步檢測互動介面,等待高拍儀拍攝影象。當獲取到高拍儀影象的時候應用程式繼續進行剩下的操作。 為了美化應用效果,可以在高拍儀拍攝影象後直接隱藏exe介面,轉為應用程式介面。

1.應用程式呼叫硬體exe

hwnd getivawindowandprocess(handle& hprocess)

closehandle(pi.hthread);

waitforinputidle(pi.hprocess,infinite);

hprocess = pi.hprocess;

while((hwnd = ::findwindow(null,"shootcapture")) == null && nnumberdely > 0)

}else

::setwindowpos(hwnd, hwnd_topmost, 0, 0, 0, 0, swp_nomove | swp_nosize | swp_noreposition );

showwindow(hwnd,sw_show);//展示在最前端展示介面

return hwnd;

}

測試工具拍照後隱藏介面

showwindow(sw_hide);
3.當應用程式結束後,在程序中銷毀測試工具exe

hwnd hwnd = null;

hwnd = ::findwindow(null,"shootcapture");

//是否能找到,找不到就去啟動下

if(hwnd != null)

互動部分

此處比較簡單,即可以讓應用程式一直檢測某個資料夾目錄是否有新檔案即可。

整體思路還是挺簡單的,就是之前自己撞牆了,非要融合到一起去,搗鼓幾天,結果沒出來,倒是對高拍儀研究挺多,算是意外收穫吧,後來發現問題出在高拍儀提供的動態庫里,這個沒原始碼也改不了,後來才想用這種方法。使用一段時間後發現,這樣兩個程式互不干擾,都很容易修改**,並且以後在應用程式上可以使用此種思路新增更多外接硬體。

Unity多屏研究

首先是說說一些常用的camera屬性。clear flags 很容易理解,清除一些元素,最常用的可能就是預設的skybox,只有一些特殊情況下才會修改這個屬性,比如想多個攝像機顯示不同元素的時候例如gui或者是固定顯示。background 背景色,這個超簡單,注意的是裡面的alpha值,預設為5,...

程序間通訊研究

什麼是程序?程序可以理解為正在執行的程式實體,並且包括這個執行的程式中佔據的所有系統資源,比如說cpu 暫存器 io,記憶體,網路資源等。可以將程序理解為乙個容器。是系統進行資源分配和排程的乙個獨立單位,也是稱活動 路徑或任務,它有兩方面性質 活動性 併發性。程序可以劃分為執行 阻塞 就緒三種狀態,...

ROS多機通訊

在所有的計算機上,我們使用命令將其他計算機的ip位址加入到hosts中 sudo gedit etc hosts新增後記得ping一下是否能聯通。對於從機,我們需要使用ros master uri對主機位置進行定位,具體命令如下 export ros master uri http host pc ...