Newsgroup: it.comp.lang.visual-basic
Titolo: ctrl+alt+canc codice...

salve a tutti
qualcuno potrebbe darmi qualche spiegazione su questa porzione di codice 
che ho prelevato dal NG? grazie
Option Explicit
Const RSP_SIMPLE_SERVICE = 1
Const RSP_UNREGISTER_SERVICE = 0
Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Private Declare Function RegisterServiceProcess Lib "kernel32" _
              (ByVal dwProcessID As Long, ByVal dwType As Long) As Long
Public Sub RegisterAsService()
     Dim pid As Long, rsp As Long
     pid = GetCurrentProcessId()
     rsp = RegisterServiceProcess(pid, RSP_SIMPLE_SERVICE)
End Sub
Public Sub UnregisterAsService()
     Dim pid As Long, rsp As Long
     pid = GetCurrentProcessId()
     rsp = RegisterServiceProcess(pid, RSP_UNREGISTER_SERVICE)
End Sub
Private Sub Form_Load()
     RegisterAsService
End Sub
Private Sub Form_Unload(Cancel As Integer)
     UnregisterAsService
End Sub

 End Sub
Quando scarichi la tua finestra, il processo abbinato alla stessa viene
de-registrato dai servizi.

grazie lupo x la spiegazione...sn solo un newbie io :P
ma tutto il resto a che cosa serve?
grazie
       ciao


 ma tutto il resto a che cosa serve?
Il resto? E che ne so?! Stando a Lokar (e non ho dubbi) dovrebbe servire a
registrare/deregistrare un processo come servizio. No, non chiedermi come lo
faccia:
Sei, dici, un newbie (e io mi chiedo come mai affrontare un problema del
genere...), dici anche di non avere l'Help (e 'sta cosa, qui, ne fa scattare
piů d'uno... capitomihai?), lascio volutamente stare (ho notato il tuo
apprezzabile sforzo) l'uso delle abbreviazioni inintelleggibili, ma come
pensi, scusa la schiettezza, di capire alcune cose (quante? molte!)?
Comunque:
'    Ti obbliga a dimensionare/dichiarare tutte le variabili
Option Explicit
'    Dichiara due costanti e assegna alle stesse un valore
Const RSP_SIMPLE_SERVICE = 1
Const RSP_UNREGISTER_SERVICE = 0
'    Dichiara nome e parametri di due funzioni API
Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Private Declare Function RegisterServiceProcess Lib "kernel32" _
              (ByVal dwProcessID As Long, ByVal dwType As Long) As Long
'    Questa Sub provvede, quando chiamata col suo nome, a recuperare
l'IDentificatore del processo corrente e a registrarlo (nota il parametro
corrispondente alla prima costante) come servizio
Public Sub RegisterAsService()
     Dim pid As Long, rsp As Long
     pid = GetCurrentProcessId()
     rsp = RegisterServiceProcess(pid, RSP_SIMPLE_SERVICE)
End Sub
'    Quest'altra Sub (se noti č praticamente identica alla precedente),
quando chiamata col suo nome (ovviamente diverso da quello della
precedente), provvede a recuperare l'IDentificatore del processo corrente e
a de-registrarlo (nota il parametro corrispondente alla seconda costante)
dai servizi
Public Sub UnregisterAsService()
     Dim pid As Long, rsp As Long
     pid = GetCurrentProcessId()
     rsp = RegisterServiceProcess(pid, RSP_UNREGISTER_SERVICE)
End Sub
Private Sub Form_Load()
'        Con questa chiamata chiami la prima Sub
     RegisterAsService
End Sub
Private Sub Form_Unload(Cancel As Integer)
'        Con questa chiamata chiami la seconda Sub
     UnregisterAsService
End Sub
Prego. Mi devi una birra. ;-)

 che ho prelevato dal NG? grazie
punti a favore:
1) adesso usi la qu anziche' la q
2) (forse) vuoi imparare
punti a sfavore:
1) e' gia' da alcuni giorni che infesti il NG a mo' di mordi e fuggi
2) non hai dato alcun segno di capire i piu' o meno velati inviti ad
applicare la netiquette prevista dal manifesto
3) se tu avessi letto il manifesto sapresti che i threads vanno continuati
dove sono iniziati
4) non hai l'help, il che' vuol dire che probabilmente il <tuo> Vb e'
piratato
5) probabilmente non vuoi perdere tempo a capire per conto tuo le cose
6) evidentemente non hai voglia neppure di utilizzare gli strumenti in linea
tipo
http://groups.google.com/advanced_group_search?hl=it
dove puoi trovare tutte le risposte alle domande che hai posto
6) evidentemente non vuoi neppure investire soldi nell'acquisto di un
qualche buon libro!
risultato:
attento ai plonk!! ;o)
beppe

Super Cut
Attenzione a giocare con i servizi, poichè se l'applictivo presenta qualche
bacco, potrebbe anche rendere instabile l'Host


Tabacco e Venere!
Comunque registerstacippa funziona solo su win 9x AFAIR (che di suo non e'
una roccia).
Ciaotutti,
*

 End Sub
Analogamente all'evento Load del Form, l'evento Unload e' una subroutine
che viene eseguita come ultima alla chiusura del programma.
Al suo interno viene richiamata la subroutine UnregisterAsService
definita in precedenza.
Ed ora che con calma e pazienza ti ho risposto per l'ultima volta ad un
post contrario in molti modi alla netiquette, rinnovo l'invito a leggere
il manifesto del newsgroup, in calce sotto la mia firma: lettura
d'obbligo per chiunque posti in questo spazio virtuale.
Pena un bel plonk: grazie e arrivederci.
Lokar
--
Sito Comune: 
http://www.it-lang-vb.net/
Manifesto: 
http://www.it-lang-vb.net/docs/Manifesto.txt

 su NT. Non saprei dire 2000/XP.
Infatti ero rimasto molto stupito da quelle costanti 0 e 1.
A me risultava che su NT e 2000 le costanti fossero 100 e 101.
Comunque io uso NTSVC.OCX, e, purchè nel codice non si usino API, è di una
stabilità a prova di bomba.
Ciao
Alberto
PS: Comunque nel task manager appare lo stesso....

 Tabacco e Venere!
riduce l'homo in cenere

 Pena un bel plonk: grazie e arrivederci.
Ma ci stava un'altra birra! ;-)
PS: Acetone, secondo me (e non so bene il perchè, sarà il caldo) sei stato
trattato, più volte, in modo "particolare". Tieni in buon conto i ripetuti
consigli che ti sono stati dati (e non mi riferisco certo alle istruzioni di
VB). A te costerà davvero poco seguirli e dimostrare rispetto per le regole
di questa comunità e per i suoi abitanti. Se non lo farai (e, certo, nessuno
può obbligarti), dovrai subirne le conseguenze, ... velatamente anticipate.

 puň obbligarti), dovrai subirne le conseguenze, ... velatamente
anticipate.
e cosě sia.