【发布时间】:2012-02-04 07:47:01
【问题描述】:
我已经能够检索我的系统序列号,但是如何将序列号本身传递到变量中?
int main()
{
char newSerial;
int (*ptr) (const char[]);
ptr = system;
ptr("wmic bios get serialnumber");
}
运行我的代码后,屏幕显示:
SerialNumber
xxxxxxxxxxxxx
就是这样。但我想要的只是将“x”传递给一个 char 变量,因为它有一个破折号。调用序列号的程序究竟是从哪里来的?有什么建议? (Windows 7 x64)
【问题讨论】:
-
也许你想使用
popen函数。 -
此代码不能负责格式化显示的结果 - 没有打印语句。您无法直接访问系统调用的结果
-
@AShelly 1. 自己运行。 2. 然后转到您的 DOS 提示符并键入传递到我的 ptr 中的句子。 3. 也可以添加这一行:system("wmic bios get serialnumber");您将通过 3 种方式看到您的系统序列号。不要忘记将 stdlib 添加到您的“包含”列表中。
-
对,但在所有这些情况下,打印结果的程序与您的程序不同。您无法从程序中直接访问序列号字符串。您可以构造系统调用以将结果重定向到您的程序可以读取的文本文件中,我猜。
-
@AShelly 我已经知道我无法直接访问计算机存储序列号的位置。
标签: windows variables serial-number wmic