2013-01-16 84 views
5

有沒有辦法使用任何ActiveX COM組件與nodejs?與nodejs一起使用ActiveX Com組件。是否有可能

實際上,我永遠不需要這個,但我在Windows上運行nodejs並試圖發送ping請求而不分叉新進程(Windows不存在這樣的模塊)。

由於某些Activex組件存在用原始套接字發送ping請求,也許我可以使用它們。


如何,您可以創建JavaScript的COM對象的一個​​例子是:

var rs = new ActiveXObject("ADODB.Recordset"); 
+0

沒有重複,但檢查出[您還可以從服務器端的COM組件的JavaScript?](http://stackoverflow.com /問題/ 5076228 /可任您撥打-COM組件,從服務器端的JavaScript)。 –

+0

@RB。, 我已經檢查過它,但實際上是在尋找一些穩定且隨時可用的東西。 Thx much – umutm

回答

1

(更新)

您可以嘗試使用節點FFI綁定到Win32和啓動COM/ActiveX組件(CoCreateInstance)或直接訪問winsock/icmp。請參閱https://github.com/rbranson/node-ffi

或嘗試通過WMI進行ping,例如, 「select * from win32_pingstatus where Address ='...'」。請參閱https://npmjs.org/package/wmi

+0

用於ping的節點包存在,但它們用於新的ping.exe進程,我已經可以使用「exec」執行這些進程。我需要爲ICMP使用「原始套接字」的東西。搜索了很多,但它不存在節點贏。 – umutm

+0

這兩個選項看起來很棒。非常感謝。 – umutm

+0

測試了: - 節點FFI是有點問題的安裝 - 每個WMI查詢似乎派生新的Cscript.exe過程,是沒有意義的 哎喲.. – umutm

6

有node-win32ole(npm install win32ole)。

編輯:win32ole不再積極維護。您可以嘗試使用winax

+0

似乎你的其他評論被刪除莫名其妙。我正在使用這個ICMP組件:http://www.activexperts.com/activsocket/objects/icmp/ node-win32ole可以在不分叉任何新進程的情況下工作嗎? – umutm

+0

@idobetter我無法安裝win32ole,你能給我一些建議嗎?我發佈了一個關於它的問題:http://stackoverflow.com/q/33146316/694360 – mmj

相關問題