Mi pequeña duda y error es que uso el comando "attrib" y para esto primero tengo que posicionarme en la unidad, en el cmd, todo me sale bien con el sendkeys, pero al momento de publicarla osea de empaquetarla para su instalacion, el sendkeys lo manda a la primera ventana activa y si el usuario tiene activas otras pues no funciona, quiero saber como hacerlo directamente con el process.diagnostic pero no e logrado me salga o de alguna otra manera, les comparto el codigo a ver si me pueden echar una mano.
Código:
Imports System.IO
Imports System
Imports System.Diagnostics
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim unidad As String
unidad = ComboBox1.SelectedItem
If unidad <> "" Then
unidad = ComboBox1.SelectedItem.ToString.Substring(0, 2)
MsgBox("Extrayendo archivos", MsgBoxStyle.OkOnly, "Informacion")
ComboBox1.Enabled = False
Shell("cmd.exe /k " + unidad)
SendKeys.Send("attrib /s /d -r -h -s -a")
SendKeys.Send("{ENTER}")
SendKeys.Send("DEL *.lnk")
SendKeys.Send("{ENTER}")
SendKeys.Send("exit")
SendKeys.Send("{ENTER}")
TextBox1.Text = "El programa esta extrayendo sus archivos ocultos, por favor no presione ninguna tecla hasta completar el proceso ... El programa le indicara Finalizado cuando termine de desinfectar sus archivos"
TextBox1.Enabled = False
If ProgressBar1.Value < ProgressBar1.Maximum Then
ProgressBar1.Value += 5
If ProgressBar1.Value = ProgressBar1.Maximum Then MsgBox("Finalizado!")
End If
Me.Show()
Button1.Enabled = False
Button2.Enabled = True
Else
MsgBox("Seleccione una unidad", MsgBoxStyle.Critical, "Error")
End If
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Button2.Enabled = False
For Each vUnidad As String In Directory.GetLogicalDrives()
ComboBox1.Items.Add(vUnidad)
Next vUnidad
ProgressBar1.Minimum = 0
ProgressBar1.Maximum = 5
ProgressBar1.Value = 0
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
End Class