这两者之间有什么区别?&我应该使用什么?
What's The Difference Between These? & What should I use?
我想做一个系统,只允许你在一台电脑上使用我的程序,有点像许可证系统。例如:程序检查系统的卷信息,如果与允许它运行的卷匹配,它就运行。
我的两个问题是1. 这两种获取系统体积的方法有什么区别?
int main()
{
cout << GetVolumeInformation << endl;
system("pause");
}
string GetMachineID()
{
DWORD dwSerial;
ostringstream oss;
if (!GetVolumeInformation(TEXT("C:\"), NULL, 0, &dwSerial, NULL, NULL, NULL, 0))
{
oss << "Err_Not_Retrieved_" << GetLastError();
}
else
oss << dwSerial;
return oss.str();
}
string machid = GetMachineID();
const char *cstr = machid.c_str();
int main()
{
cout << cstr << endl;
system("pause");
}
它们各自返回不同的值(第一个:xxxxxxxx数字和字母,第二个:xxxxxxxxxx只有数字),那么区别是什么?我的第二个问题是,我应该用哪一个?
第一个程序返回一个指向GetVolumeInformation函数的指针,这与第二个程序有很大的不同,第二个程序获取卷信息并在有效时返回序列号。
出于两个原因,您肯定不想使用第一个。首先,它不依赖于系统(甚至不依赖于程序,因为它在每次启动时可能会有很大的不同)。其次,(可能也是最重要的)它没有完成任何您想要它完成的事情。
相关文章:
- 我应该使用什么来代替void作为变体中的替代类型之一
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 违反const正确性:我应该现实地期待什么问题
- 我应该包含什么来制作 boost.python 扩展?
- 我应该将什么传递给glfwSetWindowSizeCallback?
- 我应该在 main 函数中写什么来测试我的问题?
- 我应该返回什么而不是标准::shared_ptr<>&?
- 这是什么类型的C++语法,我应该采取什么步骤来理解这一点
- 在从 C++ 转换为 C# 的代码中,我应该使用什么而不是 memcpy?
- C++我应该用什么来保存格式化为字符串变量(如sprintf())的文件
- 我应该使用什么信号来终止/终止Windows上的应用程序
- 为什么我应该在scanf()-家族成员中包含一个长度修饰符作为参数?有什么好处?使用长度修改器进行扫描的作用
- 我应该在服务模板中的什么位置添加自己的代码?
- 为什么我的代码说"Yes"什么时候应该说"No"?
- mfc CEdit 我应该什么时候进行验证?
- 我什么时候应该选择"shared_ptr"而不是"make_shared"?
- 我什么时候应该使用新的智能指针
- 在使用 boost 共享互斥体时,我应该在什么情况下使用 owns_lock() 函数
- 操纵器,C 我应该使用什么顺序
- 我应该使用什么而不是-wconversion