【发布时间】:2014-04-20 02:19:56
【问题描述】:
我是 VC++ 的自学者。我正在尝试读取环境变量,如果存在特定变量,那么它应该启用一个复选框。这是代码
if (Environment.GetEnvironmentVariable("GR_STRIP") == NULL)
{
GetDlgItem(PRINTER)->Enabled = false ;
}
else
GetDlgItem(PRINTER)->Enabled = true ;
但我收到以下错误
error C2660: 'GetEnvironmentVariable' : function does not take 1 parameter
error C2039: 'Enabled' : is not a member of 'CWnd'
我什至尝试过改变
if (Environment::GetEnvironmentVariable("GR_STRIP") == NULL)
if (System::Environment::GetEnvironmentVariable("GR_STRIP") == NULL)
但没有一个有效。提前致谢
【问题讨论】:
-
您真的使用 C++/CLI 吗?如果是这样,第一行应该使用
::而不是.,但文档说应该没问题。 -
结合使用 C++/CLI 和 MFC 是可能的,但不是每天都在做的事情。还有什么错误(S)当“没有工作”?
-
在 C++/CLI 程序中使用 NULL 无效,您必须使用
nullptr。 C++/CLI 和 MFC 代码的混合非常可疑。 -
@crashmstr 我正在使用 C++
-
@user3420781
Environment::GetEnvironmentVariable和System::Environment::GetEnvironmentVariable是对 C++/CLI 的 .Net 调用。您可以执行此操作(检查您是否使用 /CLR 标志进行编译),否则您需要查找 Windows API 调用。在这种情况下,GetEnvironmentVariable接受多个参数。
标签: c++ winapi environment-variables