如何用 VolInfo 获取逻辑驱动器
2006-07-20 11:38:41 来源:WEB开发网核心提示: CVolumeMaster 有一个自己的 GetVolumeInformation 版本——它使用 CString 代替LPTSTR,CString volname,filesys;DWORD serno, maxcomplen, flags;vm.GetVolum
CVolumeMaster 有一个自己的 GetVolumeInformation 版本——它使用 CString 代替LPTSTR。
CString volname,filesys;
DWORD serno, maxcomplen, flags;
vm.GetVolumeInformation("C:\", volname, serno, maxcomplen, flags, filesys);
与此同时,我坚持使用 CString 的原因并不是因为它更容易,它也很安全。在注重安全以及恶意病毒肆虐的今天,即使阿诺德.施瓦辛格也知道什么是缓冲区溢出。使用 CString 是一条较好的避免途径。
对于标志,它们 Figure 4 中定义。 WinBase.h 和 WinNT.h 展示了 GetVolumeInformation可以返回的标志。再一次说明, CVolumeMaster有一个函数可以将这些标志格式化为一种人可识别的字符串—— VolInfo 例子程序用到了这种格式化,也可以用它来调试你自己程序。
知道你是一位C#专家(同时也是一位C++专家),我有一个问题。我怎样才能修改系统菜单?在C++里,我可以使用 GetSystemMenu 函数,但在C#中,我不知道该如何完成?
Philippe Morvan
嘿,Philippe,至少在我有10年经验之前我不能称自己为C#专家,而且C#出现并不长。然而,我知道你的问题的答案:使用 GetSystemMenu。对,就如你在C++中一样。怎样做呢?自然是用 托管。有时我感觉就像坏掉的唱片,因为如此多的C#问题,我都用相同的答案:托管。那是因为我得到的大部分问题都是 GUI 问题,并且 Windows 窗体目前只暴露基本的窗口子集。一旦你想做一些复杂的东西,你还必须返回到Win32®。幸运的是,Microsoft .NET Framework 托管服务使得它更容易。
更多精彩
赞助商链接