Newsgroup: it.comp.lang.c++
Titolo: GetRegistryKey

ciao a tutti....  vorrei sapere s equalcuno di voi mi puo' dire come si
usa la funzione "SetRegistryKey"  e  "GEtRegKey" in C++...magari
facendomi anche un esempio per ognuna...
Si possono usare anche in Visual Basic?
Inoltre vorrei anche sapere cos'e' l"Address Of Entry Point"  che
compare nell'anteprima di una applicazione windows...
c'e' una funzione che lo rileva e/o lo imposta?...
Grazie,a tutti...
P.S.....vi prego.rispondetemi!!
Alberto.

c'e' una funzione che lo rileva e/o lo imposta?...
Viene impostato in fase di link, ma, ATTENZIONE: puoi usare
qualcosa di diverso dal default solo se non fai NESSUN uso
del runtime C/C++ (praticamente nessuna funzione della libreria
standard del C, men che meno del C++!!!) -- un caso, in teoria,
possibile, ma in pratica` cosi` peculiare da poterlo serenamente
escludere.
Viene rilevato leggendo ed esaminando il formato "PE" degli
EXE (ci sono librerie che ti aiutano a farlo, come la imagehlp).
Alex

Ciao,grazie mille per la risposta,vedo che ti dai da fare in questo
ng...
Bhe,visto che,da come mi rispondi,sembra che io abbia avanzato ipotesi
non molto esatte riguardo le funzioni su cui volevo saperne di
piu',vorrei esporre il mio problema:
devo scrivere un programma che impedisca ad altri programmi di caricarsi
in memoria dopo un certo periodo "di prova".
Vorrei,in particolar modo,far si' che il mio programma rilevasse dei
parametri di un file da controllare,e li facesse propri,in modo che
quando l'utente clicca sull'icona del programma che vuole
caricare,venisse caricato al suo posto il programma scritto da me.
Programma che, a sua volta, bloccherebbe il caricamento del programma
richiesto,nel caso fosse scaduto il peiodo di prova.
Mi hanno accennato vagamente anche che ogni "form" in windows ha un suo
codice peculiare,e che io potrei rilevare quello del form principale del
mio programma ,e far in modo di associarlo all'icona di un qualsiasi
programma da controllare.Cosě facendo verrebbe caricato il mio
programma,che potrebbe contenere le istruzioni che a sua volta
andrebbero a caricare il programma richiesto dall'utente,se non fosse
scaduto il periodo di prova.
Spero di esser satto abbastanza chiaro,e di non esser stato noioso...
Grazie in anticipo,Alberto.

Grazie in anticipo,Alberto.
Prego.  Per studiare la registry, oltre alla documentazione di Windows,
sia in linea sia su libri, usa REGEDIT o REGEDT32, che ti permettono
di leggere (e scrivere, ma STAI ATTENTO, non ci vuol niente a rendere
una macchina inusabile!!!) la registry stessa e studiarne i dettagli.
Sotto HKEY_CLASSES_ROOT vediamo le estensioni dei vari tipi
di file; ad esempio, una chiave .bas, con un contenuto ("Default")
pari a VisualBasic.Module.  Andiamo allora a vedere la chiave
chiamata VisualBasic.Module e vediamo che ha una sottochiave
DefaultIcon (che identifica col suo contenuto l'ottava delle icone
in vb5.exe come icona da usare per quel tipo di file) e una shell
con sottochiave open con sottochiave command che finalmente
identifica cosa fare al doppio click su quell'icona: lanciare vb5.exe
con quel file come parametro (identificato da un %1 dopo la path
di vb5.exe nel contenuto della sottochiave command).
Ora, anche da programma, tu puoi scandirti tutta la registry (o
meglio la sua parte HKEY_CLASSES_ROOT) con questa logica
e cambiare le stringhe-comando associate alle icone (o piu`
propriamente ai tipi di file) che ti interessano (dovrai poi anche
cercare gli shortcut [shell links] verso quel programma, e cambiare
anche quelli, come pure le EXE stesse, ma questi sono ulteriori
problemi che potrai porti in futuro).  Solo tieni presente che il tuo
lavoro serve sostanzialmente solo contro gli utenti piu` ingenui,
quelli che non solo non sanno queste cose (ampiamente spiegate
in ogni libro di Norton e simili per "power user"...:-) ma neppure
i semplici trucchetti di shift-right-click e di Windows Explorer che
accennavo prima...
Alex