操作系统如何在连接时检测到USB硬盘

时间:2011-01-12 07:27:10

标签: python operating-system

操作系统如何检测外部硬盘驱动器。我的意思是它了解磁盘的过程或系统调用。 有没有办法自动确定外置硬盘是否已连接?

1 个答案:

答案 0 :(得分:3)

(回答你问题中的唯一问题。)

对于Windows,您需要创建一个窗口并处理WM_DEVICECHANGE消息,特别是DBT_DEVICEARRIVAL事件(无需注册即可自动发送)。

要在没有创建窗口的情况下从Python执行此操作,据我所知,您可以做的最好的事情是定期测试根路径是否存在(如果您需要比Python更快地响应,则每秒一次可能就足够了不适合你):

import os.path
for letter in "ABCDEFGHIJKLMNOPQRSTUVWXYZ":
    drive_mounted[letter] = os.path.exists(letter + ":")

(回答你问题中的非问题。)

操作系统检测到USB / eSATA设备,因为主板上的USB / eSATA控制器会引发CPU中断。操作系统检测到此中断并向控制器询问设备,安装所需的所有驱动程序,激活驱动程序,识别安装点(驱动器号)并播放声音效果。

(这些都与Python无关,所以我认为它也与此问题无关。)