vb.netexeautostart

Exe working only if started manually but I want it to start automatically


I have done a simple VB application with this code:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim procName As String = Process.GetCurrentProcess().ProcessName
        Dim processes As Process() = Process.GetProcessesByName(procName)

        If processes.Length > 1 Then
            Process.GetProcessesByName("keyinput")(0).Kill()
        End If

    End Sub


    Public Sub type(ByVal int As Double, str As String)
        For Each c As Char In str
            SendKeys.Send(c)
            System.Threading.Thread.Sleep(int * 1000)
        Next
    End Sub

    Sub vai()
        Dim line As String = ""
        If File.Exists("trans.txt") Then
            Using reader As New StreamReader("trans.txt")
                Do While reader.Peek <> -1
                    line = reader.ReadLine()
                    type(0.155, line)
                    'SendKeys.Send(line)
                    SendKeys.Send("{ENTER}")
                Loop
            End Using

            File.Delete("trans.txt")
        End If
    End Sub


    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        vai()
    End Sub

Basically the timer in it check if a file exists, read it and type the content simulating the keyboard. I want this exe to start automatically when user login, it does it, apparently, I can see the form1 pop up but doesn't really works. Everyting is fine only if I run it manually by double-clicking the icon. Why and what can I do? Thanks

ps. i already tried to execute it with windows task manager, or putting a shortcut in the windows startup folder, or calling it from a cmd

EDIT: when app starts automatically , process is running, but windows form is showing like this enter image description here

Instead starting manually is showing like this: enter image description here


Solution

  • It was a Windows task scheduler fault, that for some reason didn't executed the exe correctly at logon. I've solved the issue by using Task Till Down and everything works fine now.