ciao,
credo che per ogni tipo di file sandard ci sia un suo ocx. Se invece vuoi fare una cosa che vada bene per tutti i tipi di file (compreso ".exe") fai così:
Creati un programma a parte dove vai a leggere il file da nascondere un byte alla volta, e trasforma ogni byte in formato stringa di 2 bytes che rappresenta il suo valore esadecimale. Per esempio se leggi "a" trasformi in "61", se leggi il punto "." trasforma in "2E"... e vai a scrivere in un file di testo in modo da crearti un modulo vb (.bas) del tipo
Dove in Stringa(n) vai ad inserire le codifiche esadecimali del file da nascondere, mentre il resto è fisso. Quindi importa il modulo creato nel tuo programma e richiama la funzione ScriviFile.codice:Function ScriviFile(FileOutput As String) Dim StringaApp(NumeroDiStringhe) As String Dim ContatoreStringa As Long Stringa(1) = "01F5A30D0AE7..." Stringa(2) = "46816E84FD84..." ... Stringa(NumeroDiStringhe) = "000000000000..." Open FileOutput For Output as #1 For ContatoreStringa = 1 To NumeroDiStringhe For I = 1 To Len(Stringa(ContatoreStringa)) Step 2 Print #1, Chr(Var("&H" & Mid(Stringa(ContatoreStringa),I,2))); Next I Next ContatoreStringa End Function
In fin dei conti fare il programma che crea il modulo è come un fare un ocx che formatta qualsiasi file. Una volta creato va bene per sempre. Sembra lungo, ma si fa in 10 minuti
![]()

Rispondi quotando