我检查了microsoft technet论坛的VloumeID工具和“http://www.xboxharddrive.com/freeware.html”中的“硬盘序列号更改”工具。 但这些工具只提供更改VolumeID。疗法是一种安全的方式来产生,而不与可能在同一台PC生成一个新的卷ID
0
A
回答
4
我假设你想以编程方式设置卷序列号上不存在其他逻辑盘的其他VolumeIDs冲突的一个新的。
根据当前日期/时间生成卷序列号(VSN)。每个操作系统版本和/或用于格式的工具的具体实施细节可能有所不同。
请参见以下链接,了解更多信息:
从鲁弗斯源代码:
/*
* 28.2 CALCULATING THE VOLUME SERIAL NUMBER
*
* For example, say a disk was formatted on 26 Dec 95 at 9:55 PM and 41.94
* seconds. DOS takes the date and time just before it writes it to the
* disk.
*
* Low order word is calculated: Volume Serial Number is:
* Month & Day 12/26 0c1ah
* Sec & Hundrenths 41:94 295eh 3578:1d02
* -----
* 3578h
*
* High order word is calculated:
* Hours & Minutes 21:55 1537h
* Year 1995 07cbh
* -----
* 1d02h
*/
static DWORD GetVolumeID(void)
{
SYSTEMTIME s;
DWORD d;
WORD lo,hi,tmp;
GetLocalTime(&s);
lo = s.wDay + (s.wMonth << 8);
tmp = (s.wMilliseconds/10) + (s.wSecond << 8);
lo += tmp;
hi = s.wMinute + (s.wHour << 8);
hi += s.wYear;
d = lo + (hi << 16);
return d;
}
它转换为以下Delphi代码:
type
TVolumeId = record
case byte of
0: (Id: DWORD);
1: (
Lo: WORD;
Hi: WORD;
);
end;
function GetVolumeID: DWORD;
var
dtNow: TDateTime;
vlid: TVolumeId;
st: SYSTEMTIME;
begin
GetLocalTime(st);
vlid.Lo := st.wDay + (st.wMonth shl 8);
vlid.Lo := vlid.Lo + (st.wMilliseconds div 10 + (st.wSecond shl 8));
vlid.Hi := st.wMinute + (st.wHour shl 8);
vlid.Hi := vlid.Hi + st.wYear;
Result := vlid.Id
end;
相关问题
- 1. 生成一个唯一的ID
- 2. 生成一个唯一的机器ID
- 3. 生成一个新的列
- 4. Hibernate返回自动生成一个新插入的行的ID
- 5. 重新生成会话ID
- 6. GCM为同一个电话生成新的注册ID
- 7. C生成唯一的ID
- 8. 生成唯一的ID
- 9. 生成新ID:获取实际ID
- 10. 休眠和ID生成器:在哪一点生成的ID?
- 11. 如何生成下一个请求ID
- 12. 在循环中生成一个Javascript id
- 13. 如何使用DataImportHandler生成一个Id?
- 14. 生成唯一ID为多个来源
- 15. 创建一个类来生成ID
- 16. 重新生成会话ID而不会使前一个失效?
- 17. 唯一事件ID生成
- 18. 为一行生成ID
- 19. 生成C#长唯一ID
- 20. 生成唯一对象ID
- 21. 生成未采用的新ID
- 22. 为表格行生成新的ID
- 23. SQLite插入新生成的ID
- 24. 重新生成现有记录的ID
- 25. 为集合中的每个文档生成一个新的Mongo对象ID?
- 26. 生成一个ID的变量观察值,以观察另一个ID的新变量
- 27. 导轨 - 生成一个新的模式
- 28. 如何生成一个新的bower.json
- 29. 生成一个新的字符串
- 30. .innerHTML生成一个新的输入?
我错过了这个问题与德尔福有什么关系。你可以解释吗?否则,它似乎更像是一个[su]的问题。 –