internetverbindung aufbauen und trennen



  • Bei einem klick auf den Steuerelement mit der ID "ID_TRENNEN" soll die Internetverbindung getrennt werden.
    Bei einem klick auf den Steuerelement mit der ID "ID_VERBINDEN" eine Internetverbindung hergestellt werden.
    Als Verbindungskonfiguration soll die Standard DFÜ-Verbindung mit den Namen "arcor" verwendet werden, d.h., dass das Programm nicht für Benutzer mit Router geeignet ist (werden soll), sondern für Surfer über Modem.

    Die "ipchangerDlg.cpp" sieht so aus:

    // ipchangerDlg.cpp : Implementierungsdatei
    //
    
    #include "stdafx.h"
    #include "ipchanger.h"
    #include "ipchangerDlg.h"
    
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif
    
    /////////////////////////////////////////////////////////////////////////////
    // CIpchangerDlg Dialogfeld
    
    CIpchangerDlg::CIpchangerDlg(CWnd* pParent /*=NULL*/)
    	: CDialog(CIpchangerDlg::IDD, pParent)
    {
    	//{{AFX_DATA_INIT(CIpchangerDlg)
    		// HINWEIS: Der Klassenassistent fügt hier Member-Initialisierung ein
    	//}}AFX_DATA_INIT
    	// Beachten Sie, dass LoadIcon unter Win32 keinen nachfolgenden DestroyIcon-Aufruf benötigt
    	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
    }
    
    void CIpchangerDlg::DoDataExchange(CDataExchange* pDX)
    {
    	CDialog::DoDataExchange(pDX);
    	//{{AFX_DATA_MAP(CIpchangerDlg)
    		// HINWEIS: Der Klassenassistent fügt an dieser Stelle DDX- und DDV-Aufrufe ein
    	//}}AFX_DATA_MAP
    }
    
    BEGIN_MESSAGE_MAP(CIpchangerDlg, CDialog)
    	//{{AFX_MSG_MAP(CIpchangerDlg)
    	ON_WM_PAINT()
    	ON_WM_QUERYDRAGICON()
    	ON_BN_CLICKED(ID_TRENNEN, OnTrennen)
    	ON_BN_CLICKED(ID_VERBINDEN, OnVerbinden)
    	//}}AFX_MSG_MAP
    END_MESSAGE_MAP()
    
    /////////////////////////////////////////////////////////////////////////////
    // CIpchangerDlg Nachrichten-Handler
    
    BOOL CIpchangerDlg::OnInitDialog()
    {
    	CDialog::OnInitDialog();
    
    	// Symbol für dieses Dialogfeld festlegen. Wird automatisch erledigt
    	//  wenn das Hauptfenster der Anwendung kein Dialogfeld ist
    	SetIcon(m_hIcon, TRUE);			// Großes Symbol verwenden
    	SetIcon(m_hIcon, FALSE);		// Kleines Symbol verwenden
    
    	// ZU ERLEDIGEN: Hier zusätzliche Initialisierung einfügen
    
    	return TRUE;  // Geben Sie TRUE zurück, außer ein Steuerelement soll den Fokus erhalten
    }
    
    // Wollen Sie Ihrem Dialogfeld eine Schaltfläche "Minimieren" hinzufügen, benötigen Sie 
    //  den nachstehenden Code, um das Symbol zu zeichnen. Für MFC-Anwendungen, die das 
    //  Dokument/Ansicht-Modell verwenden, wird dies automatisch für Sie erledigt.
    
    void CIpchangerDlg::OnPaint() 
    {
    	if (IsIconic())
    	{
    		CPaintDC dc(this); // Gerätekontext für Zeichnen
    
    		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
    
    		// Symbol in Client-Rechteck zentrieren
    		int cxIcon = GetSystemMetrics(SM_CXICON);
    		int cyIcon = GetSystemMetrics(SM_CYICON);
    		CRect rect;
    		GetClientRect(&rect);
    		int x = (rect.Width() - cxIcon + 1) / 2;
    		int y = (rect.Height() - cyIcon + 1) / 2;
    
    		// Symbol zeichnen
    		dc.DrawIcon(x, y, m_hIcon);
    	}
    	else
    	{
    		CDialog::OnPaint();
    	}
    }
    
    // Die Systemaufrufe fragen den Cursorform ab, die angezeigt werden soll, während der Benutzer
    //  das zum Symbol verkleinerte Fenster mit der Maus zieht.
    HCURSOR CIpchangerDlg::OnQueryDragIcon()
    {
    	return (HCURSOR) m_hIcon;
    }
    
    void CIpchangerDlg::OnTrennen() 
    {
    	// Internetverbindung Trennen
    
    }
    
    void CIpchangerDlg::OnVerbinden() 
    {
    	// Internetverbindung herstellen
    
    }
    

    wobei ich Hilfe für die Erweiterung der Funktionen in diesem Bereich benötige:

    void CIpchangerDlg::OnTrennen() 
    {
    	// Internetverbindung Trennen
    
    }
    
    void CIpchangerDlg::OnVerbinden() 
    {
    	// Internetverbindung herstellen
    
    }
    

    Ich hoffe auf Hilfestellungen!
    Gruß



  • schau dir die rass sachen mal an
    http://www.c-worker.ch/api/checkforconnection.cpp



  • Hi !
    Im Internet Client SDK gibt es die Funktionen:
    InternetAutodial und InternetHangUp.
    Die kann man für DFÜ Verbindungen, die bereits eingerichtet sind, benutzen.

    Wenn du softwaregesteuert DFÜ Verbindungen erstellen willst, brauchst du die
    rasapi32.lib mit den entsprechenden Funktionen dafür.

    🙂


Anmelden zum Antworten