Standaardbrowser opstarten

Status
Niet open voor verdere reacties.

The Triad

Gebruiker
Lid geworden
7 sep 2005
Berichten
43
Hallo iedereen.

Ik heb dankzij een goed boek en een beetje hersens(of hersenen) het programmeren in Cplusplus al aardig onder de knie. Alleen nou had ik de vraag hoe je in de standaardbrowser van het systeem een opgegeven webpagina kan opstarten. In dit geval mijn site.

Dus ik klik in me programma op een link, en dan opent hij mijn standaardbrowser met het adres van mijn site, hoe moet ik dat aanpakken?

Laterrs,

Sebas

P.S Ik heb al een GUI. (Automatisch gegeneerd door MS Visual C++)
 
Laatst bewerkt:
Ik neem aan dat je bijvoorbeeld Internet Explorer wilt starten maar dan niet met de homepage maar een ander.

Start dan een extern programma op met
"C:\Program Files\Internet Explorer\IEXPLORE.EXE" www.een_site.com

Ofwel, in eerste argument de gewenste sitenaam zetten.

Ik heb het even geprobeerd met system() maar dan start je via een DOS command box op - niet zo mooi. Volgens mij moet het met CreateProcess() mooier kunnen maar ik heb nu geen zin om alle parameters uit te zoeken. Wellicht is er nog een handige MFC class omheen.
 
Laatst bewerkt:
Werkt niet. Zes warnings, een voorbijflitsend dos-boxje en geen resultaat.

Maar er moet toch een mogelijkheid zijn om de standaardbrowser op te starten?

Oja ik heb nog een paar vraagjes:

1. PHP heeft op php.net een uitgebreide documentatie van php waar onder andere ook alle functies beschreven staan. Heeft C++ dit ook?

2. Hoe kan je forms verwerken?

(Dit vanwege dat de meeste boeken alleen op command-line programmas in gaan)
 
Laatst bewerkt:
Sorry voor de late reactie, ben niet zo vaak 'hier'.

Hm, mijn Visual C++ heeft een zeer uitgebreide beschrijving van alle commando's.
Maar op de website van Microsoft moet je ook veel kunnen vinden.

Formulieren kun je verwerken door dialogs te maken. Als je ze in het main window wilt zetten (dus niet als 'pop up' dialog) gebruik je als view een van CFormView afgeleide class (in de Doc/View) architectuur.

Ik heb hier Professional MFC with Visual C++ (Mike Blaszczak) liggen en dat boek bespreekt dit soort zaken uitermate goed.

Overigens werkt:
system(_T("\"C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE\" www.helpmij.nl"));

uitstekend. Nouja, er flitst heel even een command box door het scherm.
 
Probeer dit eens:

// Om de foutcodes te 'vertalen'
#include <errno.h>

code:

int errcode;
errcode = _spawnl(_P_NOWAIT, "C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE",
_T("www.helpmij.nl"), NULL );

if (errcode == -1)
switch (errno)
{
case E2BIG : MessageBox(NULL, _T("TOO BIG"), _T("Error"), MB_OK); break;
case EINVAL : MessageBox(NULL, _T("INVALID MODE"), _T("Error"), MB_OK); break;
case ENOENT : MessageBox(NULL, _T("PATH NOT FOUND"), _T("Error"), MB_OK); break;
case ENOEXEC : MessageBox(NULL, _T("NOT EXEC"), _T("Error"), MB_OK); break;
case ENOMEM : MessageBox(NULL, _T("OUT OF MEMORY"), _T("Error"), MB_OK); break;
default: MessageBox(NULL, _T("OOPS"), _T("Error"), MB_OK); break;
}
 
ShellExecuteEx()

Code:
ShellExecute(NULL,"open","http://forum.triads.buildtolearn.net",NULL,NULL,SW_SHOWMAXIMIZED);
Dat was mijn oplossing.
Code:
int blub;
blub = reinterpret_cast <int> (ShellExecute(NULL,"open","craces.doc",NULL,NULL,SW_SHOWMAXIMIZED));
if(blub < 32) {
		DialogBox(hInst, (LPCTSTR)IDD_NOHELPBOX, hWnd, (DLGPROC)Nohelp);
}
Dit bovenstaande stuk code probeert het help bestabd te openen, als het help bestand niet wordt gevonden, dan weergeeft hij een error message.

--------------------
Het is dus gelukt maar ik heb nog een paar vraagjes:

Hoe kan je zo typische windows 'error-box' weergeven. Moet dat handmatig, of hoe doe je dat?
 
Kan op veel manieren...

Bijvoorbeeld:

int returnvalue = MessageBox(NULL, "Text", "Title", MB_ICONSTOP);
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan