2010-03-25 59 views
1

是否可以禁用我的程序運行的Windows PC的所有I/O端口?如果是這樣,那可以用C來完成嗎?使用C禁用Windows PC上的所有I/O端口?

目標是當用戶程序運行時,用戶不能通過除網卡之外的任何路徑與PC進行交互。

+2

現代操作系統竭盡全力確保程序不會干擾彼此的操作。所以你的問題的答案几乎肯定是'不',除非你有管理員訪問機器。即便如此,這並不容易。 – 2010-03-25 07:00:33

+0

很多的問題和這個主題,大多數由於某種原因而關閉 - 這一個http://stackoverflow.com/questions/632143/enable-disable-hardware-wo-admin-rights-on-vista仍然是開放的。 – 2010-03-25 09:25:29

回答

2

我懷疑這是可能的,如果它是你不想這樣做。首先,很多I/O端口用於計算機本身的通信,因此如果您可以全部禁用它們,計算機將很快停止工作。網絡適​​配器通常至少使用一對,所以如果你這樣做了,網絡無論如何都會停止工作。

無論如何也有(至少是潛在的)內存映射外設,所以它不一定是有效的 - 除了計算機幾乎肯定會退出工作直到它重新啓動的小細節外,用戶會在你從你的機器上移除你的軟件時發誓,並誓言永遠不會再使用你開發的任何東西。

我現在沒有看到它,但是一旦投票結束一個問題的原因之一不是「公然冒犯」的東西?我不是肯定這個資格,但它似乎很接近...

0

編號I/O端口是由驅動程序,而不是程序控制。

此外,請注意「I/O端口」的概念不是黑色和白色。 USB總線是I/O端口嗎? PCI-e總線? HDMI?如果您可以關閉USB總線,USB WiFi網絡接口如何工作?