
Arcadia (Normal User)
Rookie
    
Messaggi: 21
Iscritto: 16/07/2007
|
Questo topic è stato chiuso dal moderatore Cari amici, eccomi con un grattacapo, ma so che voi sapete tutto...: Il mio editor di testi, creato in vbnet, genera tranquillamente files di testo, associando al file creato un'icona da me personalizzata...ma (è qui il problema), quando clicco sull'icona generata, si apre, si, il mio programma, ma la richtextbox resta vuota (bouh) se poi, con l'editor aperto , in un secondo momento cerco di aprire il file, questo si apre tranquillamente... e non capisco perxhé all'aperturanon lo legge cliccando sull'icona.
QUESTA E' LA FUNZIONE
My.Computer.Registry.ClassesRoot.CreateSubKey(".asd").SetValue("", "asd", Microsoft.Win32.RegistryValueKind.String)
My.Computer.Registry.ClassesRoot.CreateSubKey("asd\shell\open\command").SetValue("", Application.ExecutablePath & _
" ""%l"" ", Microsoft.Win32.RegistryValueKind.String)

|
|

Arcadia (Normal User)
Rookie
    
Messaggi: 21
Iscritto: 16/07/2007
|
...bouh...inutile dire che sto cercano su libri e siti anche inAramaico, ma nisba!!!!HELP
|
|

Il Totem (Admin)
Guru^2
    
Messaggi: 3635
Iscritto: 24/01/2006
|
Il problema è semplicissimo, visto il codice che hai postato. Non hai specificato nell'evento load del form che, se ci sono elementi scritti da riga di comando (e non ci sono neanche), il tuo programma deve prenderli e analizzarli.
Perciò devi aggiungere nel registro una chiave che indichi prima il percorso del tuo programma, e di seguito "%1", ossia il percorso del file da aprire, quindi specificare una procedura che prelevi il parametro passato al programma e quindi apra quel file.
Guarda queste pagine per maggiori dettagli:
http://totem.altervista.org/appunti/rigacomando.html
http://totem.altervista.org/appunti/voceregistro.html
|
|

Arcadia (Normal User)
Rookie
    
Messaggi: 21
Iscritto: 16/07/2007
|
Ciao Totem e grazie per la risposta. Purtroppo tra i vari problemi si aggiunge il fatto che con i miei due pc (fisso e portatile) apro la pagina del tuo sito, ma ricevo solo una schermata con il logo e l'immagine di sfondo (nuvole)... ma nessun testo all'interno dei link da te riportati. Mi arebbe piacere vedere qualche esempio pratico sul tuo sito...
Comunque, se l'estensione è asd (per esempio) e il programma dovesse chiamarsi pippo, in che modo dovrei modificare quelle due righe che ho ripotato nel messaggio precedente?
grazie per l'aiuto
|
|

Arcadia (Normal User)
Rookie
    
Messaggi: 21
Iscritto: 16/07/2007
|
ho paura di commettere qualche errore agendo sul file di registro...senza conoscere questa funzione. Mi potresti fare un esempio pratico?
Te ne sarei grato, Totem.
Jean
|
|

Il Totem (Admin)
Guru^2
    
Messaggi: 3635
Iscritto: 24/01/2006
|
Beh il sito lavora con l'uso di javascript: forse non hai installato l'ambiente adatto per java e perciò non lo visualizza.
Comunque, prendiamo il tuo programma C:\editor.exe. E un'estensione (non un'icona, è una cosa diversa, vedi: http://www.pierotofy.it/pages/dispense/Windows/Cambiare_l_ ...
) come ad esempio, la tua *.asd. Per aprire i file asd dobbiamo creare e/o modificare queste chiavi di registro.
Codice sorgente - presumibilmente Plain Text |
HKEY_CLASSES_ROOT\.asd
HKEY_CLASSES_ROOT\.asd\(Predefinito) = ASDFile
HKEY_CLASSES_ROOT\ASDFile\Shell\Open\command\(Predefinito) =
"C:\editor.exe" "%1"
|
Per associare a tutti i file *.asd l'applicazione editor.exe.
Quindi usare questo codice:
Codice sorgente - presumibilmente VB.NET |
Private Sub Form1_Load() Handles MyBase.Load Dim Cmd As String = My.Application.CommandLineArgs(0) Dim R As New IO.StreamReader(Cmd) TextBox1.Text = R.ReadToEnd R.Close End Sub
|
Credo che funzioni, non ho provato con 'open', ma solo con le voci del menù contestuale. |
|

Arcadia (Normal User)
Rookie
    
Messaggi: 21
Iscritto: 16/07/2007
|
Ciao Totem (Nicolo'?), spero di non assillarti troppo...Ho preparato queste righe di codice e mi viene restituito un errore ...
L'applicazione, che utilizza una richtextbox si chiama Artist e l'estensione del file è .arte .
Private Sub main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Cmd As String = My.Application.CommandLineArgs(0)
Dim R As New IO.StreamReader(Cmd)
RichTextBoxPrintCtrl1.Text = R.ReadToEnd
R.Close()
'applicare estensione file al programma (estensione .arte)
My.Computer.Registry.ClassesRoot.CreateSubKey(".arte").SetValue("reg_sz", "artefile", Microsoft.Win32.RegistryValueKind.String)
My.Computer.Registry.ClassesRoot.CreateSubKey("artefile\shell\open\command").SetValue("reg_sz", Application.ExecutablePath & _
"C:\artist.exe""%l"" ", Microsoft.Win32.RegistryValueKind.String)
end sub
Purtroppo....
|
|

Arcadia (Normal User)
Rookie
    
Messaggi: 21
Iscritto: 16/07/2007
|
Ciao Totem...Spero tu abbia passato unbuon we.
Purtroppo il mio editor di testi continua a visualizzare l'icona; posso cliccarci sopra ed aprire il software (l'editor, appunto),ma continuo a non leggere il file percHé sbaglio nella procedura e non so proprio dove mettere le man. Non è che potresti fare quest'ultimo sforzo, amico Totem? Grazie per l'aiuto - Jean
|
|

Arcadia (Normal User)
Rookie
    
Messaggi: 21
Iscritto: 16/07/2007
|
Sapresti consigliarmi un libro decente che tratti questi argomenti?
Grazie
|
|