怎样让98、2000进行自动登录,而无需人工输入用户名、密码,或者在98下直接登录到系统,而不是局域网络中

解决方案 »

  1.   

    介绍2000自动登陆的方法,win98我没有测试//自动登陆的函数
    LONG SetAutoLogon(IN LPCTSTR lpWinName, IN LPCTSTR lpDomain, IN LPCTSTR lpWinPass)
    { HKEY    hkResult = NULL; LONG    lResult = ERROR_SUCCESS; TCHAR szTemp[MAX_PATH + 1] = {0}; ASSERT(lpWinName); lResult = RegOpenKeyEx( HKEY_LOCAL_MACHINE,
    _T("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon"),
    0, KEY_WRITE, &hkResult ); if ( ERROR_SUCCESS != lResult )
    {
    return lResult;
    } _tcscpy(szTemp, _T("1"));
    ASSERT( hkResult );
    lResult = RegSetValueEx( hkResult, _T("AutoAdminLogon"), 0, REG_SZ, (LPBYTE)szTemp, (DWORD)_tcslen(szTemp) * sizeof(szTemp[0]) );
    if ( ERROR_SUCCESS != lResult )
    {
    RegCloseKey( hkResult );
    return lResult;
    } _tcscpy(szTemp, _T("1"));
    ASSERT( hkResult );
    lResult = RegSetValueEx( hkResult, _T("ForceAutoLogon"), 0, REG_SZ, (LPBYTE)szTemp, (DWORD)_tcslen(szTemp) * sizeof(szTemp[0]) );
    if ( ERROR_SUCCESS != lResult )
    {
    RegCloseKey( hkResult );
    return lResult;
    } // 域
    if (( NULL == lpDomain ) || ( 0 == _tcslen(lpDomain) ))
    {
    DWORD nSize = sizeof(szTemp) / sizeof(szTemp[0]);
    GetComputerName(szTemp, &nSize);
    }
    else
    {
    ASSERT( lpDomain );
    _tcscpy(szTemp, lpDomain);
    }
    ASSERT( hkResult );
    lResult = RegSetValueEx( hkResult, _T("DefaultDomainName"), 0, REG_SZ, ( LPBYTE )szTemp, (DWORD)_tcslen(szTemp) * sizeof(szTemp[0]) );
    if ( ERROR_SUCCESS != lResult )
    {
    RegCloseKey( hkResult );
    return lResult;
    } // 用户名
    ASSERT( hkResult );
    ASSERT( lpWinName );
    lResult = RegSetValueEx( hkResult, _T("DefaultUserName"), 0, REG_SZ, ( LPBYTE )lpWinName, (DWORD)_tcslen(lpWinName) * sizeof(lpWinName[0]) );
    if ( ERROR_SUCCESS != lResult )
    {
    RegCloseKey( hkResult );
    return lResult;
    } // 密码
    if ( NULL != lpWinPass )
    {
    ASSERT( lpWinPass );
    if ( 0 != _tcslen(lpWinPass) )
    {
    ASSERT( hkResult );
    ASSERT( lpWinPass );
    lResult = RegSetValueEx( hkResult, _T("DefaultPassword"), 0, REG_SZ, ( LPBYTE )lpWinPass, (DWORD)_tcslen(lpWinPass) * sizeof(lpWinPass[0]) );
    if ( ERROR_SUCCESS != lResult )
    {
    RegCloseKey( hkResult );
    return lResult;
    }
    }
    } if ( NULL != hkResult )
    {
    RegCloseKey( hkResult );
    } return lResult;
    }调用方法:SetAutoLogon("administrator","","123");