Ragazzi chiedo scusa.
è la prima volta che realizzo un'applicazione in visual basic e quindi la domanda potra apparirvi anche banale
in pratica l'applicazione non fa altro che simulare la pressione della barra spaziatrice all'interno di un'applicazione esterna.
Il tutto funziona correttamente eccetto quando l'applicazione che deve ricevere il messaggio risulta iconizzata
come posso ovviare al problema.
Ringrazio tutti anticipatamente.
Di seguito il codice utilizzato
codice:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim nomeFile As String
Dim file As String
Dim app() As String
Dim startAutomatico As Integer
file = My.Computer.FileSystem.ReadAllText("CFG.txt")
app = file.Split(";")
NumericUpDown4.Value = app(0)
NumericUpDown3.Value = app(1)
startAutomatico = app(2)
TextBox1.Text = app(3)
If (startAutomatico) Then
Button1.Enabled = False
NumericUpDown1.Enabled = False
NumericUpDown2.Enabled = False
NumericUpDown3.Enabled = False
NumericUpDown4.Enabled = False
Button3.Enabled = False
Button4.Enabled = False
Dim pid As Integer
Dim p() As Process
p = Process.GetProcessesByName("nomedelprocesso")
If (p.Length = 0) Then
pid = Shell(TextBox1.Text)
Else
pid = p(0).Id
End If
AppActivate(pid)
My.Computer.Keyboard.SendKeys(" ", True)
Timer1.Interval = (NumericUpDown3.Value * 60 * 1000) + (NumericUpDown4.Value * 3600 * 1000) + 1
Timer1.Enabled = True
End If
End Sub
Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
End Sub
Private Sub OpenFileDialog2_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog2.FileOk
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
NumericUpDown1.Enabled = True
NumericUpDown2.Enabled = True
NumericUpDown3.Enabled = True
NumericUpDown4.Enabled = True
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
NumericUpDown1.Enabled = False
NumericUpDown2.Enabled = False
NumericUpDown3.Enabled = False
NumericUpDown4.Enabled = False
Timer1.Interval = (NumericUpDown3.Value * 60 * 1000) + (NumericUpDown4.Value * 3600 * 1000) + 1
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Button1.Enabled = False
NumericUpDown1.Enabled = False
NumericUpDown2.Enabled = False
NumericUpDown3.Enabled = False
NumericUpDown4.Enabled = False
Button3.Enabled = False
Button4.Enabled = False
Dim pid As Integer
Dim p() As Process
p = Process.GetProcessesByName("nomedelprocesso")
If (p.Length = 0) Then
pid = Shell(TextBox1.Text)
Else
pid = p(0).Id
End If
AppActivate(pid)
My.Computer.Keyboard.SendKeys(" ", True)
Timer1.Enabled = True
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Button1.Enabled = True
Button3.Enabled = True
Button4.Enabled = True
Timer1.Enabled = False
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
OpenFileDialog2.ShowDialog()
TextBox1.Text = OpenFileDialog2.FileName
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim pid As Integer
Dim p() As Process
p = Process.GetProcessesByName("nomedelprocesso")
If (p.Length = 0) Then
pid = Shell(TextBox1.Text)
Else
pid = p(0).Id
End If
AppActivate(pid)
My.Computer.Keyboard.SendKeys(" ", True)
End Sub
Private Sub NumericUpDown3_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NumericUpDown3.ValueChanged
End Sub
End Class