Avatar billede thedemonhunter Nybegynder
04. februar 2004 - 11:35 Der er 8 kommentarer og
1 løsning

åbne internet browser i cpp

hvordan for man sit program til at åbne en internet browser har den i et menu system så hvis man klikker på en knap skal den åbne den men det hjælper ikke at skrive " system("C:\\programmer\\internet explorer\\iexplore");
Avatar billede jakobdo Ekspert
04. februar 2004 - 13:14 #1
Prøv:
ShellExecute(NULL, NULL, iexplore.exe, NULL, NULL, SW_SHOWNORMAL);
Avatar billede thedemonhunter Nybegynder
04. februar 2004 - 13:18 #2
hmm det virker ikke er der nogen include filer der skal med ?????
Avatar billede jakobdo Ekspert
04. februar 2004 - 13:20 #3
#include<windows.h>
Avatar billede jakobdo Ekspert
04. februar 2004 - 13:21 #4
Spørgsmålet er hvilket miljø du koder i? Dos eller Windows?
Jeg antager det er windows, siden du nævner internet explorer.

Giv mig evt din kode...
Avatar billede thedemonhunter Nybegynder
04. februar 2004 - 13:23 #5
// test3Dlg.cpp : implementation file
//

#include "stdafx.h"
#include "test3.h"
#include "test3Dlg.h"
#include <windows.h>

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CTest3Dlg dialog

CTest3Dlg::CTest3Dlg(CWnd* pParent /*=NULL*/)
    : CDialog(CTest3Dlg::IDD, pParent)
{
    //{{AFX_DATA_INIT(CTest3Dlg)
        // NOTE: the ClassWizard will add member initialization here
    //}}AFX_DATA_INIT
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CTest3Dlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    //{{AFX_DATA_MAP(CTest3Dlg)
        // NOTE: the ClassWizard will add DDX and DDV calls here
    //}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CTest3Dlg, CDialog)
    //{{AFX_MSG_MAP(CTest3Dlg)
    ON_WM_PAINT()
    ON_WM_QUERYDRAGICON()
    //}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTest3Dlg message handlers

BOOL CTest3Dlg::OnInitDialog()
{
    CDialog::OnInitDialog();

    SetIcon(m_hIcon, TRUE);            // Set big icon
    SetIcon(m_hIcon, FALSE);        // Set small icon
   
    // TODO: Add extra initialization here
   
    return TRUE;  // return TRUE  unless you set the focus to a control
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CTest3Dlg::OnPaint()
{
    if (IsIconic())
    {
        CPaintDC dc(this); // device context for painting

        SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

        // Center icon in client rectangle
        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;

        // Draw the icon
        dc.DrawIcon(x, y, m_hIcon);
    }
    else
    {
        CDialog::OnPaint();
    }
}

HCURSOR CTest3Dlg::OnQueryDragIcon()
{
    return (HCURSOR) m_hIcon;
}

BEGIN_EVENTSINK_MAP(CTest3Dlg, CDialog)
    //{{AFX_EVENTSINK_MAP(CTest3Dlg)
    ON_EVENT(CTest3Dlg, IDIP, 3 /* BeforeDragOver */, OnIP, VTS_DISPATCH VTS_DISPATCH VTS_R4 VTS_R4 VTS_I4 VTS_DISPATCH VTS_I2)
    ON_EVENT(CTest3Dlg, IDudvidetIP, 3 /* BeforeDragOver */, OnUdvidetIP, VTS_DISPATCH VTS_DISPATCH VTS_R4 VTS_R4 VTS_I4 VTS_DISPATCH VTS_I2)
    ON_EVENT(CTest3Dlg, IDExit, 3 /* BeforeDragOver */, OnExit, VTS_DISPATCH VTS_DISPATCH VTS_R4 VTS_R4 VTS_I4 VTS_DISPATCH VTS_I2)
    ON_EVENT(CTest3Dlg, IDExit, -600 /* Click */, OnClickExit, VTS_NONE)
    ON_EVENT(CTest3Dlg, IDIP, -600 /* Click */, OnClickIp, VTS_NONE)
    ON_EVENT(CTest3Dlg, IDudvidetIP, -600 /* Click */, OnClickudvidetIP, VTS_NONE)
    ON_EVENT(CTest3Dlg, IDWinamp, -600 /* Click */, OnClickWinamp, VTS_NONE)
    ON_EVENT(CTest3Dlg, IDFrigivIP, -600 /* Click */, OnClickFrigivIP, VTS_NONE)
    ON_EVENT(CTest3Dlg, IDFornyIP, -600 /* Click */, OnClickFornyIP, VTS_NONE)
    ON_EVENT(CTest3Dlg, IDInternet, 3 /* BeforeDragOver */, OnInternet, VTS_DISPATCH VTS_DISPATCH VTS_R4 VTS_R4 VTS_I4 VTS_DISPATCH VTS_I2)
    ON_EVENT(CTest3Dlg, IDInternet, -600 /* Click */, OnClickInternet, VTS_NONE)
    //}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()

void CTest3Dlg::OnIP(LPDISPATCH Cancel, LPDISPATCH Data, float X, float Y, long DragState, LPDISPATCH Effect, short Shift)
{
   
}

void CTest3Dlg::OnUdvidetIP(LPDISPATCH Cancel, LPDISPATCH Data, float X, float Y, long DragState, LPDISPATCH Effect, short Shift)
{
       
}

void CTest3Dlg::OnWinamp(LPDISPATCH Cancel, LPDISPATCH Data, float X, float Y, long DragState, LPDISPATCH Effect, short Shift)
{
   
   
}

void CTest3Dlg::OnExit(LPDISPATCH Cancel, LPDISPATCH Data, float X, float Y, long DragState, LPDISPATCH Effect, short Shift)
{
   
   
}

void CTest3Dlg::OnClickExit()
{
    exit(1);   
}

void CTest3Dlg::OnClickIp()
{
    system("ipconfig && pause");
   
}

void CTest3Dlg::OnClickudvidetIP()
{
    system("ipconfig /all && pause");
   
}

void CTest3Dlg::OnClickWinamp()
{
    system("C:\\programmer\\winamp\\winamp");
   
}

void CTest3Dlg::OnClickFrigivIP()
{
    system("ipconfig /release && pause");
   
}

void CTest3Dlg::OnClickFornyIP()
{
    system("ipconfig /renew && pause");   
}


void CTest3Dlg::OnInternet(LPDISPATCH Cancel, LPDISPATCH Data, float X, float Y, long DragState, LPDISPATCH Effect, short Shift)
{
   
}

void CTest3Dlg::OnClickInternet()
{   
    ShellExecute(NULL, NULL, iexplore.exe, NULL, NULL, SW_SHOWNORMAL);
   
}


alt det andet virker som det skal bare ikke dette
Avatar billede jakobdo Ekspert
04. februar 2004 - 13:26 #6
prøv at sætte "iexplore.exe"
Avatar billede thedemonhunter Nybegynder
04. februar 2004 - 13:29 #7
takker det virker sender lige pointene
Avatar billede jakobdo Ekspert
04. februar 2004 - 13:31 #8
Svar.
Avatar billede bertelbrander Novice
04. februar 2004 - 20:51 #9
Jeg tror at problemet med system("C:\\programmer\\internet explorer\\iexplore") er at der er mellemrum i filnavnet, så tror den at programmet hedder C:\programmer\internet og at explorer\iexplore er en parameter.

Problemet kan løses ved at putte "" omkring programnavnet:

system("\"C:\\programmer\\internet explorer\\iexplore\"");
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester