Console won't open when launching console application on startup VB.NET - vb.net

I have a console application that I can't seem to make launch properly on system startup.
I've debugged it by putting together a really simple console application that's simply just
Sub Main()
Console.WriteLine("This is a console application")
Console.ReadLine()
Environment.Exit(0)
End Sub
And even that won't work. The application is launching, I can see it in the task list. But the console interface isn't displaying, and that's the problem.
I've tried both using the Start Up folder and Windows Task Scheduler to get it to come up, neither seem to work.
Is there some registry setting somewhere I might change?
Any help would be awesome.
Thanks.

According to Microsoft, the task will only run interactively if the "Run only when user is logged in" radio button is selected.
"You can specify that a task should run even if the account under which the task is scheduled to run is not logged on when the task is triggered. To do this, select the radio button labeled Run whether user is logged on or not . If this radio button is selected, tasks will not run interactively. To make a task run interactively, select the Run only when user is logged on radio button."
Source: https://technet.microsoft.com/en-us/library/cc722152.aspx?f=255&MSPPError=-2147217396

Related

Show confirmation prompt when Stop button is clicked

Intellij IDEA has this stop button, which stops an application:
The problem I'm having is that usually I run multiple configurations for different parts of application, and when I want to stop just one application, I usually click multiple times this button which closes all running applications.
I know that if I click just once on the button I can select which app I want to stop, but I always forget about it.
Can I configure a prompt like "Are you sure you want to stop [all apps/app xyz]?

Halt code at dialog (msgbox()) command in IDE

Title quite much says it all.
In VB6, and in VBA/Access it was possible to hit break key, and jump into debug mode when using the msgbox() command.
Is there a way to do this in vb.net (desktop/winforms) applications?
Often, some code will toss up a dialog box, and it is rather nice then to jump into debug mode as a result of that message box having been displayed.
Edit
Ok, hitting pause button in most applications work, but in this application, when I hit pause, then I get this:
Edit two:
Ok, I have discovered the reason for this behavior. I have the application Frame work box un-checked. The reason for this is I did't want to specify the main application form as startup form, and I desired additional control over what occurs if the main startup form (that I don't specify) is closed. Thus, my main application form is launched via application.Run(my form)
It thus seems that due to starting the main form as a new separate application thread (which is the result of using application.Run(), then you can't use ctrl-break, or more common use/hit the pause button in the IDE to halt the code. Hitting pause will thus display that the application is running a main app thread, which indeed is the case since I use applicaiton.Run() to launch the main form from the classic and traditional Sub Main().
Edit 3
A way to fix this, and enable the pause key to work is to un-check in tools->debugging the [ ] Enable Just My Code. This will thus allow debug mode of the other "main" application thread.
Hmm. [CTRL][BREAK] clears the dialog box. However, clicking the pause button in the IDE will do what you want.
Alternatively, select Debug > Break All from the menu.

How to stop all running process before a new run in intellij

Is there any way to configure a run configuration in IntelliJ which will stop all running process before running a new run?
I always forget to stop the previous run. So I hit to the point where it says the port is busy by the previous run. So I have to stop the previous run and restart the new run. That takes a long time. I am wondering there should be some way to simplify this process. Please let me know any idea?
p.s: I tried the macro to record multiple steps. That is not working correctly.
As JB Nizet said in the comments, you can check the Single instance only checkbox in the Run/Debug Configurationspanel.
According to the documentation:
Single instance only. In this case, a confirmation dialog box will show up every time you try to launch run/debug configuration, when one instance of the same type is still running.
If you click OK in the confirmation dialog box, the first instance of the runner will be stopped, and the next one will take its place.
If this checkbox is not selected, you can launch as many instances of the runner as required. As the result, each runner will start in its own tab of the Run tool window.

How to schedule a .vbs script with UI elements?

I am new to vb scripting. I need to schedule a windows task which can run a vbs file.
The script opens up a application from its shortcut, feeds username and password and performs login.
In other words, I need to automate the restart process.
The scripts runs as expected when opened manually but scheduler cannot not run it.
I think the problem is with those UI elements(used for login).
Please suggest how to get through it.
Thank you!
AppActivate does not itself restore the window if it is for some reason minimized.
You can try to find the reason why it's minimized (maybe it has something to do with the batch calling the vbs calling the application, I cannot really say) or you can try a little hack in the vbscript like the following:
After the AppActivate do a:
oShell.SendKeys "% r"
This is equivalent of Alt+SpaceBar, r so it opens the windows dialog for Maximize, Minimize, Restore options and choses "Restore".
Note that this might only be r on english copies of windows. If you use another Language manually open that menu by pressing Alt+SpaceBar and looking what the actual hotkey on your system is (it would be underlined in the dialog). Afterwards replace the r in the script with whatever hotkey is used in your language.

How can I enable the Windows Server Task Scheduler History recording?

I have a Windows Server 2008 with scheduled tasks running, mainly .bat files calling PHP files. I have 2 users on the server, one Admin and the other is a Standard user.
I used the Standard User to clear the history log in the Task Scheduler History tab using the Event Viewer. Now it won't record any history anymore. All of the scheduled tasks no longer have history in the History tab. However, the Last Run Result returns 0x0 and the schedulers are working fine.
Please advise.
Step 1: Open an elevated Task Scheduler (ie. right-click on the Task Scheduler icon and choose Run as administrator)
Step 2: In the Actions pane (right pane, not the actions tab), click Enable All Tasks History
That's it. Not sure why this isn't on by default, but it isn't.
I have another possible answer for those wondering why event log entries are not showing up in the History tab of Task Scheduler for certain tasks, even though All Task History is enabled, the events for those tasks are viewable in the Event Log, and all other tasks show history just fine. In my case, I had created 13 new tasks. For 5 of them, events showed fine under History, but for the other 8, the History tab was completely blank. I even verified these tasks were enabled for history individually (and logging events) using Mick Wood's post about using the Event Viewer.
Then it hit me. I suddenly realized what all 8 had in common that the other 5 did not. They all had an ampersand (&) character in the event name. I created them by exporting the first task I created, "Sync E to N", renaming the exported file name, editing the XML contents, and then importing the new task. Windows Explorer happily let me rename the task, for example, to "Sync C to N & T", and Task Scheduler happily let me import it. However, with that pesky "&" in the name, it could not retrieve its history from the event log. When I deleted the original event, renamed the xml file to "Sync C to N and T", and imported it, voila, there were all of the log entries in the History tab in Task Scheduler.
The adjustment in the Task Scheduler app actually just controls the enabled state of a certain event log, so you can equivalently adjust the Task Scheduler "history" mode via the Windows command line:
wevtutil set-log Microsoft-Windows-TaskScheduler/Operational /enabled:true
To check the current state:
wevtutil get-log Microsoft-Windows-TaskScheduler/Operational
For the keystroke-averse, here are the slightly abbreviated versions of the above:
wevtutil sl Microsoft-Windows-TaskScheduler/Operational /e:true
wevtutil gl Microsoft-Windows-TaskScheduler/Operational
I think the confusion is that on my server I had to right click the Task Scheduler Library on left hand side and right click to get the option to enable or disable all tasks history.
Hope this helps
Here is where I found it on a Windows 2008R2 server.
Elevated Task Scheduler
Click on "Task Scheduler Library"
It appears as an option on the right hand "Actions" panel.
This may help others where there is no option to Enable/Disable the history anywhere in Task Scheduler.
Open Event Viewer (either in Computer Management or Admin Tools > Event Viewer).
In Event Viewer make sure the Preview Pane is showing (View > Preview Pane should be ticked)
In the left hand pane expand Application and Service Logs then Microsoft, Windows, TaskScheduler and then select Operational.
You should have Actions showing in the preview pane with two sections - Operational and below that Event nnn, TaskScheduler. One of the items listed in the Operational section should be Properties. Click this item and the Enable Logging option is on the General tab.
My problem was that the maximum log size had been reached and even though the overwrite old events option was selected it wasn't logging new events. I suspect that might have been a permissions issue but I changed it to Archive when full and all is now working again.
Hope this helps someone else out there. If you don't have the options I've mentioned above I'm sorry, but I don't know where you should look.
Win 8.1 Pro
Brian Clark's answer above worked for me, but I'm posting here for those who may have to follow a slightly different sequence as I did.
When I ran Control Panel > Administrative Tools > Right Click Task Scheduler - 'Run as Administrator', I found the Actions pane to already contain the following action:
Disable All Tasks History
So my machine already had History enabled. But my machine needed to disable history first, then go back and 'Enable All Tasks History'. After that, my History showed up and I received no more errors. I'm assuming that action performed some type of initialization or setup that was never done properly from all the way back to OS installation.
I will also add that I had to exit Task Scheduler and reenter it before I could toggle the History Enable/Disable setting back and forth.
As noted earlier, there is an option to turn on or off History provided you open up task manager under the elevated "Administrator" mode (right click on the Task Scheduler program/shortcut and choose "Run As Administrator"). Then under "Tasks" is your spot to stop or start History.