Principale utente con più risposte
[vb.net]Copiare un file in esecuzione automatica

Domanda
-
Risposte
-
Ciao Gabriele97,
come ti indicava Massimo la soluzione non è certo delle più eleganti.
comunque per aggiungere in Esecuzione Automatica il tuo file startserver.exe puoi utilizzare il codice che ti ho indicato nel link della prima risposta.
Imports IWshRuntimeLibrary Public Class Form1 Dim StartupFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.Startup) Dim shortcutFilePath As String = StartupFolder & "\MyShortcut.lnk" ' Add/create the shortcut to the Startup folder Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim WshShell As WshShellClass = New WshShellClass Dim MyShortcut As IWshRuntimeLibrary.IWshShortcut ' The shortcut will be created in the Startup folder MyShortcut = CType(WshShell.CreateShortcut(shortcutFilePath), IWshRuntimeLibrary.IWshShortcut) 'Specify target file full path MyShortcut.TargetPath = Application.StartupPath & "\YourAppName.exe" ' e.g. MyShortcut.TargetPath = "C:\WINDOWS\system32\calc.exe" MyShortcut.Save() End Sub 'Remove the shortcut from the Startup folder Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If IO.File.Exists(shortcutFilePath) Then IO.File.Delete(shortcutFilePath) End If End Sub End Class
Ciao
Renato Marzaro MVP Visual Basic
- Contrassegnato come risposta Gabriele97 domenica 16 gennaio 2011 18:08
Tutte le risposte
-
Sembra che Gabriele97 abbia detto :
salve,
come faccio a copiare un eseguibile nella cartella esecuzione automatica di XP in modo tale che questo viene poi eseguito in modo automatico all'avvio del sistema operativo?Il percorso della cartella dell'avvio automatico la puoi recuperare utilizzando la seguente istruzione:
Dim path = Environment.GetFolderPath(Environment.SpecialFolder.Startup)
Per la copia del file puoi utilizzare il metodo Copy della classe File.
-
Ciao Gabriele97,
devi aggiungere al Folder startup un collegamento al tuo file eseguibile.
trovi un esempio di come aggiungere (e rimuovere) tale collegamento a questo link
http://social.msdn.microsoft.com/Forums/en-IE/vbgeneral/thread/de45c3b4-ac9c-4b24-82b5-4ad5fd33379d
Ciao
Renato Marzaro MVP Visual Basic
-
ok, grazie per la risposta. Quello che voglio fare è creare un'applicazione. Questa applicazione esegue semplicemente questa istruzione nell'evento load
Process.Start("C:\app\app.exe")
poi app.exe e l'applicazione che verrà quindi eseguita all'avvio.
giusto?
-
ok, grazie per la risposta. Quello che voglio fare è creare un'applicazione. Questa applicazione esegue semplicemente questa istruzione nell'evento load
Process.Start("C:\app\app.exe")
poi app.exe e l'applicazione che verrà quindi eseguita all'avvio.
giusto?
Ciao Gabrile97,
perdonami ma non ho capito nulla :-(
Se vuoi far eseguire in 'Esecuzione Automatica' APP.EXE devi creare un collegamento ad APP.EXE e posizionarlo nel Folder di StartUp di Windows
Mi sfugge come antra in gioco l'altra applicazione di cui parli e di cui non capisco il significato ...s cusa sicuramente è un mio limite.
Tieni presente che inserire una applicazione nel folder di starup è solitamente compito del SoftWare che utilizzi per creare il pacchetto di installazione che poi utilizzerai per installare il tuo programma non di un programma.
Ciao
Renato Marzaro MVP Visual Basic
-
allora, praticamente ho creato un'applicazione per un mio amico che ha bisogno di creare una chat. Bene, quindi si va a creare il lato server e client. Lui editerà il lato client, il lato server è già bello e pronto. Bene, li ho detto che bisogna avviare il Server per far funzionare il Client. Visto che lui è un po' sbadato, mi ha detto che attraverso una voce di menù, voleva che si andasse ad avviare il server all'avvio del PC. bene, ora cosa devo fare. Nella cartella di questo programma è presente.
client.exe
server.exe
startserver.exe
startserver è un semplice applicativo di linea di comando, che va ad avviare in background il file server.exe
quindi
ora quindi, attraverso quella voce di menù, vado a copiare nella cartella esecuzione automatica di XP, il file startserver.exeProcess.Start("C:\app\server.exe")
-
Gabriele97 ha detto questo domenica :
allora, praticamente ho creato un'applicazione per un mio amico che ha bisogno di creare una chat. Bene, quindi si va a creare il lato server e client. Lui editerà il lato client, il lato server è già bello e pronto. Bene, li ho detto che bisogna avviare il Server per far funzionare il Client. Visto che lui è un po' sbadato, mi ha detto che attraverso una voce di menù, voleva che si andasse ad avviare il server all'avvio del PC. bene, ora cosa devo fare. Nella cartella di questo programma è presente.
client.exe
server.exe
startserver.exe
startserver è un semplice applicativo di linea di comando, che va ad avviare in background il file server.exe
quindi
Process.Start("C:\app\server.exe")ora quindi, attraverso quella voce di menù, vado a copiare nella cartella esecuzione automatica di XP, il file startserver.exe
Attento perchè in questo modo non viene sempre avviata l'applicazione ma solo quando l'utente si connette. Per un server sarebbe opportuno creare un servizio di windows, in grado di partire anche senza che l'utente sia connesso o un web service.
-
Ciao Gabriele97,
come ti indicava Massimo la soluzione non è certo delle più eleganti.
comunque per aggiungere in Esecuzione Automatica il tuo file startserver.exe puoi utilizzare il codice che ti ho indicato nel link della prima risposta.
Imports IWshRuntimeLibrary Public Class Form1 Dim StartupFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.Startup) Dim shortcutFilePath As String = StartupFolder & "\MyShortcut.lnk" ' Add/create the shortcut to the Startup folder Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim WshShell As WshShellClass = New WshShellClass Dim MyShortcut As IWshRuntimeLibrary.IWshShortcut ' The shortcut will be created in the Startup folder MyShortcut = CType(WshShell.CreateShortcut(shortcutFilePath), IWshRuntimeLibrary.IWshShortcut) 'Specify target file full path MyShortcut.TargetPath = Application.StartupPath & "\YourAppName.exe" ' e.g. MyShortcut.TargetPath = "C:\WINDOWS\system32\calc.exe" MyShortcut.Save() End Sub 'Remove the shortcut from the Startup folder Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If IO.File.Exists(shortcutFilePath) Then IO.File.Delete(shortcutFilePath) End If End Sub End Class
Ciao
Renato Marzaro MVP Visual Basic
- Contrassegnato come risposta Gabriele97 domenica 16 gennaio 2011 18:08
-