首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

ExpandEnvironmentStrings 函数如何用

2012-09-23 
ExpandEnvironmentStrings 函数怎么用ExpandEnvironmentStrings 函数怎么用,看了半天没看明白第一个和第二

ExpandEnvironmentStrings 函数怎么用
ExpandEnvironmentStrings 函数怎么用,看了半天没看明白第一个和第二个参数怎么用,谁能给举个例子。我这已经准备好了一个系统环境变量



[解决办法]

C/C++ code
TCHAR szBuffer[MAX_PATH];ExpandEnvironmentStrings(TEXT("%ProgramFiles%\\Internet Explorer"), szBuffer, MAX_PATH);MessageBox(szBuffer); //C:\Program Files\Internet Explorer
[解决办法]
不知道%NiMei%这个值的什么,当作是"你妹"吧
%AA% 和 %NiMei% 是一样的

C/C++ code
TCHAR szBuffer[MAX_PATH];ExpandEnvironmentStrings(TEXT("懂%AA%"), szBuffer, MAX_PATH);MessageBox(szBuffer); //懂你妹
[解决办法]
你还得新建一个环境变量:
变量名为:NiMei
变量值为:你妹
[解决办法]
不用重启,点确定即生效
[解决办法]
C/C++ code
#include <windows.h>#include <tchar.h>#include <stdio.h>TCHAR* envVarStrings[] ={  TEXT("OS         = %OS%"),  TEXT("PATH       = %PATH%"),  TEXT("HOMEPATH   = %HOMEPATH%"),  TEXT("TEMP       = %TEMP%")};#define  ENV_VAR_STRING_COUNT  (sizeof(envVarStrings)/sizeof(TCHAR*))#define INFO_BUFFER_SIZE 32767void printError( TCHAR* msg );void main( ){  DWORD i;  TCHAR  infoBuf[INFO_BUFFER_SIZE];  DWORD  bufCharCount = INFO_BUFFER_SIZE;   // Get and display the name of the computer.   bufCharCount = INFO_BUFFER_SIZE;  if( !GetComputerName( infoBuf, &bufCharCount ) )    printError( TEXT("GetComputerName") );   _tprintf( TEXT("\nComputer name:      %s"), infoBuf );    // Get and display the user name.   bufCharCount = INFO_BUFFER_SIZE;  if( !GetUserName( infoBuf, &bufCharCount ) )    printError( TEXT("GetUserName") );   _tprintf( TEXT("\nUser name:          %s"), infoBuf );    // Get and display the system directory.   if( !GetSystemDirectory( infoBuf, INFO_BUFFER_SIZE ) )    printError( TEXT("GetSystemDirectory") );   _tprintf( TEXT("\nSystem Directory:   %s"), infoBuf );    // Get and display the Windows directory.   if( !GetWindowsDirectory( infoBuf, INFO_BUFFER_SIZE ) )    printError( TEXT("GetWindowsDirectory") );   _tprintf( TEXT("\nWindows Directory:  %s"), infoBuf );    // Expand and display a few environment variables.   _tprintf( TEXT("\n\nSmall selection of Environment Variables:") );   for( i = 0; i < ENV_VAR_STRING_COUNT; ++i )  {    bufCharCount = ExpandEnvironmentStrings(envVarStrings[i], infoBuf,        INFO_BUFFER_SIZE );     if( bufCharCount > INFO_BUFFER_SIZE )      _tprintf( TEXT("\n\t(Buffer too small to expand: \"%s\")"),               envVarStrings[i] );    else if( !bufCharCount )      printError( TEXT("ExpandEnvironmentStrings") );    else      _tprintf( TEXT("\n   %s"), infoBuf );  }}void printError( TCHAR* msg ){  DWORD eNum;  TCHAR sysMsg[256];  TCHAR* p;  eNum = GetLastError( );  FormatMessage( FORMAT_MESSAGE_FROM_SYSTEM |          FORMAT_MESSAGE_IGNORE_INSERTS,         NULL, eNum,         MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),         sysMsg, 256, NULL );  // Trim the end of the line and terminate it with a null  p = sysMsg;  while( ( *p > 31 ) || ( *p == 9 ) )    ++p;  do { *p-- = 0; } while( ( p >= sysMsg ) &&                          ( ( *p == '.' ) || ( *p < 33 ) ) );  // Display the message  _tprintf( TEXT("\n\t%s failed with error %d (%s)"),            msg, eNum, sysMsg );}
[解决办法]
探讨

引用:
你还得新建一个环境变量:


变量名为:NiMei
变量值为:你妹

不是修改原变量吗,新建干啥


[解决办法]
环境变量 AA 的值为 %NiMei%,即与环境变量 NiMei 是一样的。
如果 NiMei 没有值,那你展开它 AA 不是也没意义。
[解决办法]
探讨

引用:
从截图没看到NiMei对应的值,所以让你新建试试
或者你直接修改AA的值为"你妹"试试

怎么会看不见对应值呢,那图不是吗,已经保存过的。
我这里是想研究那个函数,新建就没有意义了

热点排行