最近在做乙個專案,關於遠端客戶端通過web形式訪問另乙個客戶端,並對其客戶端串列埠進行讀寫操作,在經過幾天的摸索發現只有通過安裝外掛程式的形式來實現比較合理,於是寫了乙個小外掛程式,安裝於客戶端進行監聽埠的操作。
通過ide執行外掛程式進行測試,對於串列埠的遠端操作沒有任何的影響,但是當我們把操作串列埠的類封裝成jar包或者exe可執行程式後,發現程式執行出現找不到埠列的錯誤,這個的確讓人鬱悶,好好的程式打包後卻不好使...
還以為是打包的方式不對,於是換了好幾種打包方式,錯誤依然如故,同時在網上也找了大量的解決方法依然沒有獲得解決,就在心灰意冷的時候,突然看到這樣一句話,「jbuilder
等開發工具在執行
comm
包的時候可以自動載入介面驅動,而不需要我們手工加入驅動**。
而當打好
jar包之後,如果**裡沒有驅動還是什麼介面也打不開」。如果是這個原因的話,那就說明我們需要在**中加入初始化埠的驅動程式,於是加入下列**在事件中:
system.loadlibrary("win32com");
string drivername-"com.sun.comm.win32driver";
commdriver driver;
try
重新打包後執行,埠操作正常,看來還是羊毛出在羊身上不由興奮了一下,希望此貼能夠幫助到有同樣問題的朋友。
關於讀寫串列埠程式打成jar包後功能失效的解決方案
最近在做乙個專案,關於遠端客戶端通過web形式訪問另乙個客戶端,並對其客戶端串列埠進行讀寫操作,在經過幾天的摸索發現只有通過安裝外掛程式的形式來實現比較合理,於是寫了乙個小外掛程式,安裝於客戶端進行監聽埠的操作。通過ide執行外掛程式進行測試,對於串列埠的遠端操作沒有任何的影響,但是當我們把操作串列...
串列埠讀寫操作
例如,以下程式用於以同步讀寫方式開啟串列埠com1 handle hcom dword dwerror hcon createfile com1 generic read generic write,0,null,open existing,0,null if hcom handle 0xfffff...
讀寫串列埠的實現(一)
windows開啟串列埠,讀寫串列埠,自動識別串列埠 該串列埠讀寫是採用非同步方式,即非阻塞模式進行讀寫串列埠 串列埠名形如 com3 com4 com22 等 其中com1至com9能成功開啟,但是com10及以上開啟都是失敗的,需要特殊處理 及com10以上的開啟方式是 com10 com11 ...