我想添加一台打印机,我是这样写的。
STARTUPINFO stinfo;
PROCESS_INFORMATION *procinfo;
char * p=new char[255];
p="rundll32.exe printui.dll,PrintUIEntry /if /f E:\\Inf\\Vprint.inf /r \"LPT1:\" /b \"print1\" /m \"print1\"";
CreateProcess("D:\\WINDOWS\\SYSTEM32\\RUNDLL32.EXE", 
          "rundll32.exe printui.dll,PrintUIEntry /if /f e:\\INF\\Vprint.inf /r \"LPT1:\" /b \"TVP3000 Printer\" /m \"TVP3000 Printer\"",
  NULL, NULL, FALSE, 0, NULL, NULL, &stinfo, procinfo); delete p;
可是无论如何都不能运行成功,这是为什么呢??
请大侠门帮助!!!!

解决方案 »

  1.   

    或者我这样写一下!!
    STARTUPINFO  stinfo;  
    PROCESS_INFORMATION  *procinfo;  
    CreateProcess("D:\\WINDOWS\\SYSTEM32\\RUNDLL32.EXE",  
    "rundll32.exe  printui.dll,PrintUIEntry  /if  /f  e:\\INF\\Vprint.inf  /r  \"LPT1:\"  /b  \"TVP3000  Printer\"  /m  \"TVP3000  Printer\"", NULL,  NULL,  FALSE,  0,  NULL,  NULL,  &stinfo,  procinfo);  
    这下看清楚了把!!
    指令是不能在删减了!!
      

  2.   

    exe文件和他的参数应该是分开两个位置输入的吧
      

  3.   

    你的参数是不是多了一个rundll32.exe
      

  4.   

    你的指令在cmd里面能运行成功吗?
    如果可以,用system函数试试
    命令不要换行,写成一行
      

  5.   

    system("rundll32.exe  printui.dll,PrintUIEntry  /if  /f  e:\\INF\\Vprint.inf  /r  "LPT1:\"  /b  \"TVP3000  Printer\"  /m  \"TVP3000  Printer\"");
      

  6.   

    文件地址和命令行写的有问题,可能把某个参数当成了文件名,注意事项在MSDN的函数说明中写的很详细,你的代码太乱,看不出来,你比较MSDN看看吧。
      

  7.   

    use the following code:STARTUPINFO  stinfo;  
    PROCESS_INFORMATION  procinfo;  
    ZeroMemory(&stinfo,  sizeof(stinfo));  
    stinfo.cb  =  sizeof  STARTUPINFO;  

    ZeroMemory(&procinfo,sizeof(procinfo));
    CreateProcess("D:\\WINDOWS\\SYSTEM32\\RUNDLL32.EXE",  
    "rundll32.exe  printui.dll,PrintUIEntry  /if  /f  e:\\INF\\Vprint.inf  /r  \"LPT1:\"  /b  \"TVP3000  Printer\"  /m  \"TVP3000  Printer\"", NULL,  NULL,  FALSE,  0,  NULL,  NULL,  &stinfo,  &procinfo);
      

  8.   

    第一个参数可以设置为 NULL