Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Desabilitar Habilitar Tarjeta de Red!

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Tips & Tricks
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Desabilitar Habilitar Tarjeta de Red! Responder citando

Por ahi me recomendaron que subiera esta funcion a esta seccion, espero q les sea util!

Código:

HRESULT DesOHabilitarConexion(BOOL bEnable)
{
   HRESULT hr = E_FAIL;

   CoInitialize(NULL);

    INetConnectionManager *pNetConnectionManager = NULL;
 hr = CoCreateInstance(CLSID_ConnectionManager,
                          NULL,
                    CLSCTX_LOCAL_SERVER | CLSCTX_NO_CODE_DOWNLOAD,
                          IID_INetConnectionManager,
                          reinterpret_cast<LPVOID>(&pNetConnectionManager)
                         );
   if (SUCCEEDED(hr))
   {
        IEnumNetConnection* pEnumNetConnection;
      pNetConnectionManager->EnumConnections(NCME_DEFAULT, &pEnumNetConnection);

        ULONG ulCount = 0;
        BOOL fFound = FALSE;

      hr = HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND);
       
        HRESULT hrT = S_OK;

      do
        {
            NETCON_PROPERTIES* pProps = NULL;
            INetConnection *   pConn;

            hrT = pEnumNetConnection->Next(1, &pConn, &ulCount);

            if (SUCCEEDED(hrT) && 1 == ulCount)
         {
                hrT = pConn->GetProperties(&pProps);

   if (S_OK == hrT)
            {
    printf("* %S\n", pProps->pszwName);

     if (bEnable)
    {
     printf("      Habilitando Tarjeta: %S...\n",pProps->pszwName);
      hr = pConn->Connect();
     }
    else
     {
     printf("      Desabilitando Tarjeta: %S...\n",pProps->pszwName);
     hr = pConn->Disconnect();
    }
                   

                    CoTaskMemFree (pProps->pszwName);
               CoTaskMemFree (pProps->pszwDeviceName);
                    CoTaskMemFree (pProps);
                }

            pConn->Release();
                pConn = NULL;
            }

      } while (SUCCEEDED(hrT) && 1 == ulCount && !fFound);

        if (FAILED(hrT))
        {
         hr = hrT;
        }

      pEnumNetConnection->Release();
   }

   if (FAILED(hr) && hr != HRESULT_FROM_WIN32(ERROR_RETRY))
   {
      printf("No pudo Habilitar/Desabilitar la conexion (0x%08x)\r\n", hr);
   }

   pNetConnectionManager->Release();

   CoUninitialize();

 return hr;
}


incluye #include <netcon>

false para desabilitar true para lo contrario.
Te va a desabilitar o habilitar todas las tarhetas de red, incluso virtuales, puedes hacer una modificacion si quieres q te des/habilite una en especifico.

Salu2
_________________
Read what I mean, not what I write!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola Crysis he estado leyendo este aporte y cuando incerto el codigo en mi .cpp me da error es el siguiente
Código:
[C++ Error] Unit1.cpp(20): E2108 Improper use of typedef 'HRESULT'

Espero que me puedas responder y aclararme el porque del error saludos y respetos ifrit
_________________
Todos somos ignorantes, lo que no todos ignoramos lo mismo...
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Yo lo tengo asi y no me da ningun problema, tal vez sea la version de Builder q usas!
En que linea te da el error??
_________________
Read what I mean, not what I write!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

hola Cri_sys
el error me lo da en la primera linea y lo que me dice es exactamente lo que te escribi en e l mensage anterior. Gracias de todas formas
_________________
Todos somos ignorantes, lo que no todos ignoramos lo mismo...
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

hola Cri_sys
el error me lo da en la primera linea y lo que me dice es exactamente lo que te escribi en e l mensage anterior. Gracias de todas formas Yo utilizo en Builder6
_________________
Todos somos ignorantes, lo que no todos ignoramos lo mismo...
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Cri_sys Pues el problema que me da a mi, es que no localizo las cabeceras de definición. ¿Qué cabeceras.h utilizas? Mi compilador, Builder c++ 5 No tiene ninguna cabecera con funciones como CoInitialize. Otras API si las trae. Lo curioso es que en la ayuda si que aparecen dichas funciones.

¿Sería mucho pedir que subieses esas cabeceras?

Gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Mira al final del mensaje
Cita:

incluye #include <netcon>


Saludos!
_________________
Read what I mean, not what I write!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Cri_sys escribió:
Mira al final del mensaje
Cita:

incluye #include <netcon>


Saludos!


No tengo esa cabecera (netcon.h) en mi Biulder 5.

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

A mi me funciona perfecto.
En mi builder ya viene la cabecera...
entonces bajalo de internet, tiene que estar el .h
se que viene del Hnetcfg.dll de windows

Falow
_________________
Read what I mean, not what I write!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.