Newsgroup: it.comp.lang.visual-basic
Titolo: -> estrarre l'icona da un file EXE

si puo' fare?
Cioe' dopo averla ricavata in qualche modo,la si puo' inserire in una
Picture?
-- 
Rispondetemi solo sul NewsGroup. Grazie
   (il mio indirizzo e' alterato)

...

A memoria:
Devi usare le api: ExtractIcon() (e/o ExtractIconEx()) e poi disegnarle du
una picturebox/form con DrawIcon().
Ciao

...

!! IMPORTANTE !!
Ricordati di usare la DestroyIcon() una volta che l'icona non ti serve più!
Ciao

Occupa così tanta memoria un'icona? (perdonami il ragionamento MS-style)


> Ricordati di usare la DestroyIcon() una volta che l'icona non ti serve
più!
Pensa che un'icona 16x16x16col può occupare fino a 16Mb di ram :)
A parte gli scherzi, è comunque buona norma rimettere le cose a posto dopo
averle usate, e questo non solo per le icone.
Comunque se non le rilasci e continui ad allocarle fai presto ad esaurire la
memoria, per quanta tu ne abbia.
Ciao

scusa l'ignoranza,ma potesti dirmi anche che parametri devo passargli?


 memoria, per quanta tu ne abbia.
In Win9x ne ha sempre 64k, indipendentemente dall'hardware.

scusa l'ignoranza,ma potesti dirmi anche che parametri devo passargli?
es: incolla questo in un form vuoto
Private Sub Form_Paint()
    Dim IconCount As Long
    Dim hIcon As Long
    Dim Explorer As String
    Dim i As Long
    Explorer = Environ("WINDIR") & "\Explorer.exe"
    IconCount = ExtractIcon(App.hInstance, Explorer, -1&)
    For i = 0 To IconCount
        hIcon = ExtractIcon(App.hInstance, Explorer, i)
        Call DrawIcon(Me.hDc, i * 48, 16, hIcon)
        DestroyIcon (hIcon)
    Next i
End Sub
In alternativa puoi settare Form1.Autoredraw = true e metterlo in
Form_Load() o dove vuoi.
Ciao

 pwd su un file e poi criptarlo e quando mi serve poterla rileggere...
uhmmm....
come fai a sapere che mi chiamo Fabio? (beh, non è che ci voglia molta
fantasia visto il nick, ma...)
magari ti riferisci a qualcun altro? mah...
effettivamente avevo postato una classe (Crypto.cls) sul sito comune, non ho
controllato se l'hanno pubblicata...
cmq, questo è un esempio di utilizzo, traccia due pulsanti su un form
nel Command1_Click scrivi (cioè: incolla    :))
    'salva in un file la password che hai scritto, criptata...
    Dim Crypter As Crypto
    Dim PassWord As String
    Set Crypter = New Crypto
    PassWord = InputBox("Inserire la password da salvare")
    'Faberè la chiave, puoi mettere ciò che vuoi,
    'basta che poi metti la stessa anche nell'altra routine...
    PassWord = Crypter.Encrypt(PassWord, "Faber", True)
    Set Crypter = Nothing
    Open "c:\windows\desktop\PW.crp" For Output As #1
    Print #1, PassWord
    Close #1
'*******************************************************
nel Command2_Click:
    'apre il file e legge la password, poi la decifra
    Dim PassWord As String
    Open "c:\windows\desktop\PW.crp" For Input As #1
    Line Input #1, PassWord
    Close #1
    Dim Crypter As Crypto
    Set Crypter = New Crypto
    PassWord = Crypter.Decrypt(PassWord, "Faber", True)
    Set Crypter = Nothing
    MsgBox PassWord, vbInformation
'************ end code **************
premi il primo pulsante, poi il secondo... poi vai a vedere cosa c'è scritto
nel file!
Ciao
*Faber*
P.S.: un'altra cosa che non ho capito: che c'entra il testo quotato che hai
messo nel messaggio?!

Allora prima di tutto grazie 1000 ora provo subito...
So che ti chiami Fabio perchè ho provato a rispondere...e il tuo indirizzo
riportava il tuo nome.
Secondo per il testo quotato ero di corsa e non l'ho cancellato... Scusa...
Giulia
PS. Se ho ancora bisogno ti chiedo posso
mailto:
vi...@virgilio.it

 PS. Se ho ancora bisogno ti chiedo posso
no, dai...
(scroll scroll...)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
ma si che puoi!  :)
Ciao ciao
Faber

Eccomi qui non funzionano alcune cose
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior = 0   'vbNone
  MTSTransactionMode = 0   'NotAnMTSObject
End
mi da errore su multiUse... cosa sono queste dichiarazioni prima di option
Explicit non è che manca qualcosa?
o poi su Dim Crypter as Crypto mi dice tipo definito dall'utente non
definito...
Grazie ancora

 definito...
dopo aver cancellato quelle righe, controlla che il nome della classe sia
Crypto (attenta: non il nome del file, ma la proprietà Name della classe...)
funzica?  :)
Faber

Funziona benissimo... ti ringrazio ancora e complimenti per la funzione. Ti
volevo solo chiedere una cosa nel codice da inserire nel primo pulsante
    'salva in un file la password che hai scritto, criptata...
    Dim Crypter As Crypto
    Dim PassWord As String
    Set Crypter = New Crypto
    PassWord = InputBox("Inserire la password da salvare")
    'Faberč la chiave, puoi mettere ciņ che vuoi,
    'basta che poi metti la stessa anche nell'altra routine...
    PassWord = Crypter.Encrypt(PassWord, "Faber", True)
    Set Crypter = Nothing
    Open "c:\windows\desktop\PW.crp" For Output As #1
    Print #1, PassWord
    Close #1
cosa rappresenta "Faber"?
Giulia

 cosa rappresenta "Faber"?
è la stringa che viene usata per effettuare la codifica (e quindi per
decodifica della password), puoi mettere quella che vuoi...
se non fosse un sistema di codifica con una parola chiave, sarebbe molto ma
molto più facile decodificarla... invece così, anche se uno sa qual è
l'algoritmo, non sapendo la parola chiave deve faticare un bel po' per
trovare la password     :)
spero di essere stato chiaro...
Ciao!
Faber