Newsgroup: it.comp.lang.visual-basic
Titolo: Lanciare il proprio applicativo da un file non eseguibile

Chiarisco meglio la richiesta in oggetto portando come esempio Word.
Io posso lanciare Word sia dall'eseguibile (winword.exe) sia cliccando
da qualsiasi file .doc. In quest'ultimo modo io apro il programma e il
relativo documento.
Il mio applicativo utilizza un database di Access che ha una struttura
che può essere adatta a memorizzare informazioni di vario genere.
Quindi diciamo che ho due file, l'eseguibile e il database:
mioapplicativo.exe
miodatabase.mdb
Ovviamente, se lancio l'eseguibile, mi viene automaticamente caricato
al suo interno il database.
Io vorrei avere invece una cosa del genere:
mioapplicativo.exe
miodatabase1.mdb
miodatabase2.mdb
...
miodatabase1.xyz
 (estensione di fantasia)
miodatabase2.xyz
...
in modo tale che cliccando su 
miodatabase1.xyz
 si apra l'eseguibile
con caricato il miodatabase1.mdb, cliccando invece su 
miodatabase2.xyz
si apra l'eseguibile con caricato il miodatabase2.mdb.
E' possibile fare una cosa del genere?
Grazie

Lp ha scritto:

????? sono curioso di riuscire a capire la cosa....!
@Alex

 in modo tale che cliccando su 
miodatabase1.xyz
 si apra l'eseguibile
Devi agire su windows manualmente, da codice non so come si fa ma sicuramnte
bisgonerebbe tirare in ballo un bel po di api.
Manulamente:
credo che clikkando su 
miodatabase1.xyz
, che per windows è sconosciuto,  da
qualche parete c'è una finestra per scegliere l'icona e per associarci il
programma che vuoi che venga lanciato, e qui ci metti il tuo prog.
opzioni cartella/tipi file e li ci puoi fare un po di cose
-- 
Greg



Ho capito quello che vuoi dire, però il punto è: cosa devo mettere in
miodatabase1.xyz
 per fare in modo che cliccando su di esso mi si apra
l'applicativo con caricato miodatabase1.mdb?
Grazie
Luigi

 Grazie
se l'estensione è sempre "xyz" potresti (se non sbaglio!!!)
--associarla ad una tua applicazione in VB
--Tramite la funzione Command recuperi il nome del file passatoti da Windows
(es: 
miodatabase2.xyz
) e decidi quale sarà il database da aprire
--richiami Access con il database ".mdb" nella riga di comando (usi la
funzione Shell ).
Ciao
FM


Uhm!! Confesso di non aver capito molto di quanto hai detto. Se puoi
chiarire meglio i vari passaggi, te ne sarei grato.
Grazie
Luigi

La soluzione è sul sito comune.
Scarica il mio FileSuite. Là dentro troverai Winpak.
La parte che ti interessa è nella Form_load di frmMain
bye

 
miodatabase1.xyz
Nulla, solo i tuoi dati e il tuo codice :)
Nell'opzione "Apri con" del file del tuo database, sconosciuto a windows,
devi mettere nome e percosro completo dell'applicativo che deve aprirlo
-- 
Greg



Ho dato uno sguardo al codice. Devo ancora capire molte cose, ma penso
che effettivamente possa essere una soluzione al mio problema.
Grazie
Luigi

 ha scritto nel messaggio
news:sq2lf29s9vnsmce07...@4ax.com...

--Diciamo che la tua applicazione, incaricata di aprire i database, si
chiama "Pippo.exe".
--Da explorer di Windows vai sul file "
pincopallino.xyz
" e clicchi col
destro, quindi scegli "Apri con.." (oppure "Apri" se l'altro non è
disponibile)
--Quando Windows ti chiede con che cosa aprire il file .xyz, gli indichi il
tuo eseguibile "Pippo.exe".
--Da qui in poi, quando qualcuno proverà ad aprire un file ".xyz" Windows
aprirà il tuo "Pippo.exe" passandogli come argomento il nome del file (è
come se tu, manualmente, facessi: START - ESEGUI - "Pippo.exe
pincopallino.xyz
".
--A "pippo.exe" non rimarrà che interrogare la funzione Command per
conoscere il nome del file passatogli da Windows. A questo punto, da codice,
apri il database corrispondente.
PS
Non sono sicurissimo che funzioni! E' da provare.
FM

Certo che si può.
Sul mio sito trovi un articolo completo.
Leggi qua: 
http://www.thetotalsite.it/programmazione/showtips.aspx?id=1
Trovi tutto ciò che ti interessa.
Bye,
-- 
Carmine ( 
pikachu...@gmail.com
 (Togli la scritta NOSPAM) )
Webmaster di The Total Site 4 : 
http://www.thetotalsite.it
My Blog: 
http://blog.thetotalsite.it
MariokartDS Codice Amico: 532639027909 - CarmineC in MarioKartDS
Se un circuito funziona al primo tentativo è perchè il problema è molto
più nascosto e subdolo di quanto tu possa pensare...
E apparirà nel momento in cui farà il massimo danno 

l'applicativo con caricato miodatabase1.mdb?
Nulla puo' essere anche vuoto ma nel tuo programma devi prevedere come
parametro dei file .xyz da cui estrai il nome del file e cerchi di
aprire l'MDB corrispondente.
A sto punto però potresti fare un miodatabase1.cmd in cui scrivi un
semplice codice batch che richiama il tuo applicativo passando il db
giusto senza tirare in ballo l'associazione dei tipi di windows.
Ciao
-- 
Fritz
Togli *ERASE* per rispondere in e-mail.