关于 Visual Studio 2008 命令提示

xianhuanxiong 2009-07-30 07:10:17
「开始」菜单\程序\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 里面的程序呢?

我研究了一下大概是调用了几个批处理,但是不是很懂

有没有人知道里面的原理呢?
...全文
888 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
越过越咸 2009-09-26
Visual Studio 2008
回复
xianhuanxiong 2009-08-01
没有人知道吗?
回复
xianhuanxiong 2009-07-30
[Quote=引用 3 楼 oyljerry 的回复:]
您可以尝试使用Windows提供的SetEnvironmentVariable函数来对当前进程的指定环境变量进行设置,用和GetEnvironmentVariable函数进行读取,其中SetEnvironmentVariable的原型如下: 
 
  BOOL  SetEnvironmentVariable( 
      LPCTSTR  lpName,    //  environment  variable  name 
      LPCTSTR  lpValue    //  new  value  for  variable 
  ); 
 
  lpName指定的是环境变量的名字,如果该名字不存在而且lpValue的值不为NULL的话,将创建此环境变量;如果lpValue的值为NULL,则删除此环境变量。 
 
  需要注意的是,SetEnvironmentVariable对于系统环境变量或者其他进程的环境变量无效,只对本进程内有效。 
[/Quote]


这个函数跟CreateProcess()中设置的环境变量是不是一个效果?

但是那个批处理的原理你知道嘛?
回复
oyljerry 2009-07-30
您可以尝试使用Windows提供的SetEnvironmentVariable函数来对当前进程的指定环境变量进行设置,用和GetEnvironmentVariable函数进行读取,其中SetEnvironmentVariable的原型如下:

BOOL SetEnvironmentVariable(
LPCTSTR lpName, // environment variable name
LPCTSTR lpValue // new value for variable
);

lpName指定的是环境变量的名字,如果该名字不存在而且lpValue的值不为NULL的话,将创建此环境变量;如果lpValue的值为NULL,则删除此环境变量。

需要注意的是,SetEnvironmentVariable对于系统环境变量或者其他进程的环境变量无效,只对本进程内有效。
回复
xianhuanxiong 2009-07-30
[Quote=引用 1 楼 oyljerry 的回复:]
Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat
你可以看这个bat,这个里面设置了对应的环境变量等信息
[/Quote]

但是我查看环境变量发现并没有设置,或者有其它什么方法?
回复
oyljerry 2009-07-30
Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat
你可以看这个bat,这个里面设置了对应的环境变量等信息
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告
暂无公告