suche API Netzwerkeinstellungen ändern



  • Hi,

    weiß jmd von euch, wie man in einer Kiosk Application am Besten die Netzwerkeinstellungen von WindowsXP oder Windows7 verändert? Gibt es hierfür eine API? Programmieren tue ich mit C++ und der MFC Library (aber in dieser ist nichts vorhandne).

    Gerade eine Rückinfo, wenn und ob sich der Netzwerkadapter per DHCP eine neue IP Adresse holen konnte, wäre sehr wichtig. Oder muss man das Pollen? Im Moment schreibe ich ein Batchfile um die Netzwerkeinstellungen zu ändern - funktioniert aber ohne Rückmeldung und Addons.

    Gruß
    Jakob


  • Mod



  • wie bekommt man den z.B. die Ipaddr ausgelesen? Bis jetzt ist bei mir var_val2 immer undefiniert.

    hr = pSvc->ExecQuery( L"WQL", 
    						  (L"SELECT * FROM Win32_NetworkAdapterConfiguration WHERE MACAddress = '20:10:A1:18:11:11'"),
    						  WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, 
    						  NULL, 
    						  &pEnumerator ); 
    
    	if(FAILED(hr)) 
    	{
    		TRACE(_T("Error at ExecQuery\n"));
            pSvc->Release(); 
            pLoc->Release(); 
            CoUninitialize(); 
            return FALSE; 
        } 
    
    	CString value2 ("IPAddress"); 
    	//IWbemClassObject *pclsObj; 
        uReturn = 0; 
        if(pEnumerator) { 
            HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, &pclsObj, &uReturn); 
            if(uReturn) { 
                _variant_t var_val2; 
                hr = pclsObj->Get(value2, 0, &var_val2, 0, 0); 
                _bstr_t str = var_val2; 
                //ReturnValue = (char*)str; 
                VariantClear(&var_val2); 
            } 
            else { 
                TRACE(_T("Error at pEnumerator->Next"));
    			return FALSE;
            } 
        }
    

    Gruß
    Jakob



  • muss man dafür ein safearray anlegen??

    SAFEARRAY       *pSa = NULL;
    SAFEARRAYBOUND   sabound[1];
    sabound[0].lLbound = 0;
    sabound[0].cElements = 4;
    pSa = SafeArrayCreate(VT_VARIANT, 1, sabound);
    
    hr = pclsObj->Get(value, 0, pSa, 0, 0);
    


  • Wieso ist das ändern der Netzwerkeinstellungen so kompliziert in C++ im Vergleich zu VB?

    http://www.xpdiskussion.com/archive/index.php/t-12638.html


Anmelden zum Antworten