「开始」菜单\程序\Microsoft Visual Studio 2008\Visual Studio Tools   里面有一个Visual Studio 2008 命令提示
这个命令提示符可以使用Microsoft Visual Studio 9.0\VC\bin 里面提供的一些可执行程序。但是运行cmd产生的命令提示不能,也就是说在环境变量里面是没有Microsoft Visual Studio 9.0\VC\bin这个路径的,但是为什么在Visual Studio 2008 命令提示中,即使是改变了当前路径一样可以使用Microsoft Visual Studio 9.0\VC\bin 里面的程序呢?我研究了一下大概是调用了几个批处理,但是不是很懂有没有人知道里面的原理呢?

解决方案 »

  1.   

    Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat
    你可以看这个bat,这个里面设置了对应的环境变量等信息
      

  2.   

    您可以尝试使用Windows提供的SetEnvironmentVariable函数来对当前进程的指定环境变量进行设置,用和GetEnvironmentVariable函数进行读取,其中SetEnvironmentVariable的原型如下:  
       
      BOOL   SetEnvironmentVariable(  
          LPCTSTR   lpName,     //   environment   variable   name  
          LPCTSTR   lpValue     //   new   value   for   variable  
      );  
       
      lpName指定的是环境变量的名字,如果该名字不存在而且lpValue的值不为NULL的话,将创建此环境变量;如果lpValue的值为NULL,则删除此环境变量。  
       
      需要注意的是,SetEnvironmentVariable对于系统环境变量或者其他进程的环境变量无效,只对本进程内有效。   
      

  3.   

    这个函数跟CreateProcess()中设置的环境变量是不是一个效果?但是那个批处理的原理你知道嘛?