PDA

Visualizza la versione completa : [C++] Avvio di altri programmi


frarugi87
24-06-2007, 10:34
Ho fatto un programma che serve da launcher per una presentazione. Questa sia in formato html che un powerpoint.
Per poterle lanciare ho due pulsanti che, all'evento click, lanciano la ShellExecute per far partire i due file.

una delle due funzioni questa:

ShellExecute(NULL,NULL,"index.htm",NULL,"cartella",SW_MAXIMIZE);

ora, mentre per la presentazione in pp va tutto bene, per quella in html vorrei lanciare IE per visualizzarla. la ShellExecute lancia il browser predefinito (che sul mio computer Firefox, ottimo ma non mi visualizza correttamente degli effetti...).
Dato che devo mandare il tutto su cd ad altre persone, come faccio a far si che il programma

- se c' IE installato lancia IE per aprire il file
- se no lancia il browser predefinito

ab5000
24-06-2007, 10:58
fai un controllo e vdi se le cartelle di ie esistono, se si chiami ie e gli passi come argomento la pagina, altrimenti usi il browser predefinito.

P.S. Ma quegli effetti non potresti farli un po' pi comatibili? c' sicuramente un modo! KISS!

oregon
24-06-2007, 11:22
Non e' la prima volta che posti ... e sai che devi indicare il linguaggio ... :nonono:

frarugi87
24-06-2007, 12:15
@ ab5000:
come si fanno a controllare se esistono? e... queli sono?

@ oregon:
uuups...... :( :( :( dimenticanza... puoi correggere tu? [C++]... sorry... :dh: :dh: :sonno: :sonno:

alka
24-06-2007, 12:37
Originariamente inviato da frarugi87
uuups...... :( :( :( dimenticanza... puoi correggere tu? [C++]... sorry... :dh: :dh: :sonno: :sonno:
Ho aggiunto il linguaggio nel titolo.

frarugi87
24-06-2007, 13:04
grazie alka...

frarugi87
25-06-2007, 19:26
heeelp... cm si fa a vedere se c' IE? e come si fa a ottenere il percorso per lanciarlo?

oregon
25-06-2007, 22:03
Controlla se esiste nel registro la chiave

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\i explore.exe\shell\open\command

e leggine il contenuto

frarugi87
26-06-2007, 20:26
come faccio a dire a IE di aprire il file index.htm che si trova nella cartella tesina? con la funzione

ShellExecute(NULL,NULL,"iexplore.exe","tesina/index.htm","C:\Programmi\Internet Explorer",SW_MAXIMIZE);

mi apre IE ma mi cerca http://tesina/index.htm. ma non lo trova....


EDIT: sono tutti file presenti su un CD...

frarugi87
26-06-2007, 21:10
Altro problema: per vedere il contenuto della chiave, come si fa?
Io ho provato cos:



RegOpenKeyEx(HKEY_LOCAL_MACHINE,"\SOFTWARE\Classes\Applications\iexplore.exe\shell\ open\command",0,KEY_QUERY_VALUE,&chiave);
RegGetValue(chiave,NULL,NULL,NULL,NULL,percorso,NU LL);
Label2->Caption = percorso;
RegCloseKey(chiave);


per se lancio il debug mi si ferma su un'istruzione in assembler (prima di far partire il form)
se invece gli faccio Build lo compila e lo linka bene ma quando provo a lanciarlo win mi dice:

Impossibile trovare il punto di ingresso RegGetValueA della procedura nella libreria di collegamento dinamico ADVAPI32.DLL

Come compilatore ho il Borland Turbo C++...

Che faccio?

Loading