Efectivamente se puede hacer con activeX , mira a ver si te vale esto
Código HTML:
<html>
<head>
<title>Nº serie volumen C </title>
<script language="vbscript">
sub main()
Set fso = CreateObject("Scripting.FileSystemObject")
Set objDrive = fso.GetDrive(fso.GetDriveName("C:"))
strVolumedata = "El nº de serie del volumen c: es = " & Hex(objDrive.SerialNumber)
msgbox strvolumedata
end sub
</script>
</head>
<body onload="main()">
</body>
</html>