本帖最后由 keyayi 于 2010-03-11 09:48:08 编辑

解决方案 »

  1.   

    摘个MSDN的例子:            HKEY hKey;
                char szProductType[BUFSIZE];
                DWORD dwBufLen=BUFSIZE;
                LONG lRet;            lRet = RegOpenKeyEx( HKEY_LOCAL_MACHINE,
                   "SYSTEM\\CurrentControlSet\\Control\\ProductOptions",
                   0, KEY_QUERY_VALUE, &hKey );
                if( lRet != ERROR_SUCCESS )
                   return FALSE;            lRet = RegQueryValueEx( hKey, "ProductType", NULL, NULL,
                   (LPBYTE) szProductType, &dwBufLen);
                if( (lRet != ERROR_SUCCESS) || (dwBufLen > BUFSIZE) )
                   return FALSE;            RegCloseKey( hKey );
      

  2.   

    另外还弹出了一个VC的Debug的错误。2010-03-10 14:42:49 debug assertion failed!program: d:\SysFile\common\node.exe
    file: strcore.cpp
    line: 408
    我找了那个源文件是下面这个ASSERTCString AFXAPI operator+(const CString& string, LPCTSTR lpsz)
    {
    ASSERT(lpsz == NULL || AfxIsValidString(lpsz));
    CString s;
    s.ConcatCopy(string.GetData()->nDataLength, string.m_pchData,
    CString::SafeStrlen(lpsz), lpsz);
    return s;
    }
    这个问题是在客户的环境出现的,现在无法做到跑到他们那里直接调程序,郁闷中。
      

  3.   

    系统医生给出的地址是函数地址+0x2c9,我在自己的VC环境下,进入汇编看了看,大致指向了这一句
    if(strcmp((char *)name,"NETA")==0),请问这样也可能会出问题吗?
      

  4.   

    name==NULL???????
      

  5.   

    找到原因了,客户环境的代码不是最新的,害我找了老半天。
    老代码没有这个判断。谢谢大家
    if(pTemppip==NULL)
             break;