procedure TForm1.Button1Click(Sender: TObject);
var
   a,b:string;
begin
  a:='FJGCP-4DFJD-GJY49-VJBQ7-HYRR2';
  b:='cmd.exe /k cscript c:\windows\system32\slmgr.vbs -ipk '+a;
  WinExec(PAnsiChar(b),SW_SHOW);
  // ShellExecute(0,nil,'cmd.exe','PChar(' /k '+'cscript data\slmgr.vbs -ipk '+a)',nil,SW_SHOW);
end;procedure TForm1.Button2Click(Sender: TObject);
begin
  WinExec(PAnsiChar('cmd.exe /k cscript c:\windows\system32\slmgr.vbs -ipk FJGCP-4DFJD-GJY49-VJBQ7-HYRR2'),SW_SHOW);
end;end.button2可以正常显示出dos窗口,但是button1不能显示也就是cmd没有运行 这是什么原因,现在急需解决。

解决方案 »

  1.   

      a:='/k cscript c:\windows\system32\slmgr.vbs -ipk FJGCP-4DFJD-GJY49-VJBQ7-HYRR2';
      WinExec(PAnsiChar(b + ' ' + a), SW_SHOW);这样试试
      

  2.   

    上面错了WinExec(PAnsiChar('cmd.exe' + ' ' + a), SW_SHOW);  
      

  3.   


    有问题...郁闷 我在d2007也是同样 后来用shellexecute解决了 但是我想知道为什么winexec不行