Autorun

giovedì 08 aprile 2004 - 15.38

pecos81 Profilo | Junior Member

Ciao a tutti,
ho fatto un'applicazione che si avvii all'avvio di server (2000 e 2003).
Per realizzarlo ho messo una chiave nel registro in

HKEY_LOCAL_MAHCINE\SOFTWARE\Microsoft\CurrentVersion\Run

che punti all'indirizzo del mio eseguibile. funziona, però lo scopo è di intercettare i riavvii, ma parte anche quando ci si collega in terminal server.
Come posso evitarlo?

Brainkiller Profilo | Guru

Puoi creare uno script in batch di questo tipo e metterlo nel Run:

@echo off
IF %SESSIONNAME% <> "Console" GOTO :Start
GOTO :Exit

:Start
calc.exe

:exit

Che cosa succede, viene verificato se la variabile di sessione SESSIONNAME è diversa a Console.
Se è diversa significa che sei in una sessione Terminal se è uguale significa che eti sei loggato interattivamente. Se è diversa fa un Goto alla sottoprocedura Start che lancia il comando calc.exe che è la calcolatrice.
Tu lo sostituisci con il path o con l'eseguibile del tuo programma.
ciao

david

pecos81 Profilo | Junior Member

Grazie mille,

la tua saccenza è veramente invidiabile!

Ciao

Brainkiller Profilo | Guru

Non esagerare, è una delle possibili soluzioni, forse neanceh la migliore, però credo sia funzionale.
:)
ciao
david

pecos81 Profilo | Junior Member

Per la cronaca, comunque la versione sintatticamente corretta è la seguente:

@echo off
IF %SESSIONNAME% == Console GOTO :Start
GOTO :Exit

:Start
Mio programma

:exit

Brainkiller Profilo | Guru

Ok :)
naturalmente. Poi modifichi a tuo piacimento.
ciao

david
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5