Newsgroup: it.comp.lang.visual-basic
Titolo: [OT] Proprietà di un file

Salve.
Vorrei un chiarimento.
Quando si danno alcune proprietą ad un file qualsiasi (anche *.bas o
*.exe) tramite tasto destro-proprietą (e per esempio si scrive anche
un commento, come nel caso di 'Avanzate' per un file EXE) DOVE sono
scritti materialmente questi dati?
Io ho fatto un prova con un modilo BAS e con un EXE compilato da VB6
(un msgbox con "Hello" e niente altro) e poi ho inserito alcuni
commenti nell'eseguibile EXE con tasto destro, proprietą etc.
Bene, nell'eseguibile non trovo il commento che ho scritto (l'ho
cercato con un visualizzatore esadecimale) perņ con il "Cerca" di
windows, inserendo il commento del campo "Testo da ricercare" me lo
trova nell'eseguibile. Boh!
Ho provato a fare qualche ricerca on line ma non trovo niente
Grazie per chi mi potra rispondere o indicare una via per cercare
chiarimenti sulla rete.
Ciao
Filippo

chiarimenti sulla rete.
Non è proprio quello che hai chiesto, ma per vedere, cambiare le proprietà di un
file va bene resourcehacker:
http://angusj.com/resourcehacker/
--
ciao
  Stefano

 trova nell'eseguibile. Boh!
Di solito sono nell'header, proprio nei primi kb dell'eseguibile.
Prova col Blocco note, metti a capo automatico e un font tipo
un Courier da 10. Li dovresti poter leggere nelle prime decine
di righe.
Bye, G. 

di righe.
Si, alla fine della RESOURCE TABLE c'è una tabella ascii, non so se è quello che
intendeva lui, comunque qui c'è la struttura di un .exe
http://support.microsoft.com/?scid=kb%3Ben-us%3B65122&x=11&y=11
--
ciao
  Stefano

 Filippo
Extended File Properties
Si ottengono con gli oggetti di Shell32, in particolare col metodo 
Folder.GetDetailsOf().
Cmq. eccoti una funzione già pronta a cui passare il path completo del file 
da esaminare. Devi solo aggiungere il riferimento a "Microsoft Shell 
Controls And Automation".
Public Function GetDetailsOf(ByVal Filename As String) As String
Dim Folder As Shell32.Folder
Dim Shell As New Shell32.Shell
Dim i As Integer
Dim Details As String
Dim Detail As String
Dim DetailName As String
Dim Item As Shell32.FolderItem
    Set Folder = Shell.NameSpace(Left(Filename, InStrRev(Filename, "\") - 
1))
    Set Item = Folder.ParseName(Mid(Filename, InStrRev(Filename, "\") + 1))
    i = 1
    Do
        DetailName = Folder.GetDetailsOf(Nothing, i)
        Detail = Folder.GetDetailsOf(Item, i)
        If DetailName <> "" Then
            Details = Details & DetailName & ": " & Detail & vbCrLf
        End If
        i = i + 1
    Loop Until DetailName = ""
    GetDetailsOf = Details
End Function
Bye
Raf 

probabilmente, credo, in un ADS (alternate data stream) associato.
Si intendo questo. Non avevo mai sentito parlare di ADS (sorry,ma
smanetto per hobby, nella vita faccio tutt'altro). Ho rimediato
andando a studiare e ho scaricato qualche utility, adesso proverò a
capirci.
Rimane comunque il fatto che se do' alcune informazioni ad un file exe
già compilato io queste informazioni NON LE RITROVO nel file (o
meglio, Autore, Copyright, versione etc. SI, stanno alla fine del
file, ma per esempio PAROLA CHIAVE o COMMENTO non ci sono).
Però, Windows le trova, è questo che mi fa impazzire, come se fossero
nascoste da qualche parte nell'EXE.
Però adesso che ho capito che eistono 'flussi paralleli invisibili'
(brrr.... che paura) forse il S.O. li trova lì e io no.
Continuerò a studiare per capirci di più
Grazie
Ciao
Filippo
P.S. Perché non fate la mia prova? Compilate un qualsiasi "Hello
world" e poi, tramite S.O. aggiungete un commento al file.
Nel file il commento non lo ritrovate con un visualizzatore
esadecimale, ma l'opzione Tasto Destro/Cerca... di Windows,
utilizzando la chiave di ricerca Testo contenuto e riportando il
commento, trova il file EXE in questione.