我在XP系统下VC程序中,想调用windows\system32下的diskpart.exe自动进行分区。但该命令需要带参数。我试验了以下方式:
(1)使用ShellExecute()
char *szDiskPart = "diskpart.exe";
char szCommand[64] = {0};
sprintf(szCommand, "list disk");
ShellExecute(NULL, "open", szDiskPart, szCommand, NULL, SW_SHOW);
无法实现打印磁盘列表。 将ShellExecute中szCommand改成NULL,倒是可以显示出界面??(2)使用system("diskpart")也可以出现界面,当使用system("diskpart list disk")就不行。请问如何在VC程序中实现,类似在命令行diskpart>后输入list disk的功能???
(1)使用ShellExecute()
char *szDiskPart = "diskpart.exe";
char szCommand[64] = {0};
sprintf(szCommand, "list disk");
ShellExecute(NULL, "open", szDiskPart, szCommand, NULL, SW_SHOW);
无法实现打印磁盘列表。 将ShellExecute中szCommand改成NULL,倒是可以显示出界面??(2)使用system("diskpart")也可以出现界面,当使用system("diskpart list disk")就不行。请问如何在VC程序中实现,类似在命令行diskpart>后输入list disk的功能???
就可以了
但这样如何实现隐藏窗口呢?我试验了都不能达到目的(根本就没有执行partition.txt脚本):
WinExec("diskpart /s partition.txt >> 3.txt ", SW_SHOW);
ShellExecute(NULL, "open", "diskpart /s partition.txt >> 3.txt ", NULL, NULL, SW_SHOW);system("diskpart /s partition.txt >> 3.txt ")可以实现功能,但会闪出窗口来,想隐藏怎么办??
而WinExec("diskpart /s partition.txt >> 3.txt ", SW_SHOW);
ShellExecute(NULL, "open", "diskpart /s partition.txt >> 3.txt ", NULL, NULL, SW_SHOW); 却不能???谁能说说:system和WinExec,ShellExecute有什么区别???
大侠们帮忙,再不解决就要丢饭碗了!!
“diskpart /s partition.txt >> 3.txt”这个是命令行