
Quote from Talker on January 16, 2024, 7:22 pmI have an application that records and sets a mouse position via command-line arguments (I got some help with this from R Cohen :-)).
It works fine when it's a regular application (although no GUI, it shows in the taskbar).
However, I want to make this a tray application so that it won't clutter the user's taskbar. But when I make it a tray application the command-line arguments won't work...As a tray app, the executable appears somewhere in the middle of Windows Task Manager on my system.
If you click the tray icon it immediately moves to the top of Windows Task Manager and the command-line arguments start to work again.So to make the command-line arguments work in a tray application (when in "sleeping" state) each statement/command would first have to activate the actual program. Is this correct? If so, how can I accomplish that?
Or is there a better way to do this?
I attached the pub
I have an application that records and sets a mouse position via command-line arguments (I got some help with this from R Cohen :-)).
It works fine when it's a regular application (although no GUI, it shows in the taskbar).
However, I want to make this a tray application so that it won't clutter the user's taskbar. But when I make it a tray application the command-line arguments won't work...
As a tray app, the executable appears somewhere in the middle of Windows Task Manager on my system.
If you click the tray icon it immediately moves to the top of Windows Task Manager and the command-line arguments start to work again.
So to make the command-line arguments work in a tray application (when in "sleeping" state) each statement/command would first have to activate the actual program. Is this correct? If so, how can I accomplish that?
Or is there a better way to do this?
I attached the pub
Uploaded files:
Quote from Talker on February 6, 2024, 2:17 amStill no response.. :-(
Still hoping ;-)
For now, I have settled for the Taskbar solution which is a bit clunky, but at least it now properly receives the command line arguments. May also not be a bad thing because a lot of users don't have the tray icons visible. So they actually wouldn't know if the app was already running.
Anyway, thought I'd share the "end" product with you. I develop Add-ons for Dragon (previously known as Dragon NaturallySpeaking). It is the leading speech recognition program and it has options to script mouse positions. However, that can be a little bit tedious, particularly for Dragon newbies. Besides, many mouse positions are only needed temporarily.
And this is where VisualNeo comes in. I've only recently become aware of the command line options in VisualNeo and Robert Cohen from RCMedia taught me how to use them. They can be easily included in Dragon voice commands.
Here is my video demonstrating the power of combining VisualNeo with Dragon voice control:
https://youtu.be/clOkaTDuRhE
Still no response.. :-(
Still hoping ;-)
For now, I have settled for the Taskbar solution which is a bit clunky, but at least it now properly receives the command line arguments. May also not be a bad thing because a lot of users don't have the tray icons visible. So they actually wouldn't know if the app was already running.
Anyway, thought I'd share the "end" product with you. I develop Add-ons for Dragon (previously known as Dragon NaturallySpeaking). It is the leading speech recognition program and it has options to script mouse positions. However, that can be a little bit tedious, particularly for Dragon newbies. Besides, many mouse positions are only needed temporarily.
And this is where VisualNeo comes in. I've only recently become aware of the command line options in VisualNeo and Robert Cohen from RCMedia taught me how to use them. They can be easily included in Dragon voice commands.
Here is my video demonstrating the power of combining VisualNeo with Dragon voice control:

Quote from Vadim on February 7, 2024, 9:07 am@talker
There are plugins that can be useful when working with the command line. Maybe some of them will help you to solve the problem.
alConsolePlugin 1.1 (Artyom Breineneng)
dec_Plus 1.9 (David Esperalta)
rlFunctions 2.6s (Reynold E. Lariza)
hpwRuby (Hans-Peter Wickern)
rtFileSystemMgt 1.4.3b (Ron Marie Services)
dmCMDLine (Dembel)
You can find them here.
There are plugins that can be useful when working with the command line. Maybe some of them will help you to solve the problem.
alConsolePlugin 1.1 (Artyom Breineneng)
dec_Plus 1.9 (David Esperalta)
rlFunctions 2.6s (Reynold E. Lariza)
hpwRuby (Hans-Peter Wickern)
rtFileSystemMgt 1.4.3b (Ron Marie Services)
dmCMDLine (Dembel)
You can find them here.

Quote from Darbdenral on February 7, 2024, 11:02 pmHi @talker
I may have a solution that could work for you using a different technique. It depends on whether the sending app (sending command line) is built with one of the following languages: VisualNeoWin , Python or Php. If it is, the solution would require using my ezPipes plugin to communicate, not the command line. The receiving app would need to be actively running, in taskbar, etc. ready to receive instructions.
if so, contact me and I'll work with you to insure it works correctly in your situation.
Hi @talker
I may have a solution that could work for you using a different technique. It depends on whether the sending app (sending command line) is built with one of the following languages: VisualNeoWin , Python or Php. If it is, the solution would require using my ezPipes plugin to communicate, not the command line. The receiving app would need to be actively running, in taskbar, etc. ready to receive instructions.
if so, contact me and I'll work with you to insure it works correctly in your situation.

Quote from Talker on February 9, 2024, 2:00 am@Vadim
Thank you for the links. There are quite a few interesting plug-ins there I had not yet heard of. I will check them out.
An alternative, faster approach would surely be welcome. But I don't think Dragon (the sending application) is built with any of the above languages. I suspect it was programmed in C++.
Thank you for the links. There are quite a few interesting plug-ins there I had not yet heard of. I will check them out.
An alternative, faster approach would surely be welcome. But I don't think Dragon (the sending application) is built with any of the above languages. I suspect it was programmed in C++.
Quote from mishem on February 9, 2024, 12:39 pm@talker
Look at this plugin, if I understand your problem correctly.
alStartUp Plugin
This is a replacement for the standard "Startup action". As you know, "Startup action" takes place after drawing the main window of your project. This plugin executes commands from the specified procedure (AlStartup) at startup prior for rendering the window, before it becomes visible. This plugin is made to activate the system tray applications with empty "Startup action", so they begin to work immediately without displaying the main window (or blinking if the first "Startup action" command is set to setvar "[WindowState]" "Minimized"), but can be useful in many cases when you need to override standard startup action this way.Usage:
1) Place alStartupInit command in any scenario of your project (except for standard Startup action of course)
2) Create "AlStartup" subroutine and place your startup actions here.Note: This plugin is intended to use only with registered Neobook versions, not for trials. However, in debug mode plugin always works.
Look at this plugin, if I understand your problem correctly.
alStartUp Plugin
This is a replacement for the standard "Startup action". As you know, "Startup action" takes place after drawing the main window of your project. This plugin executes commands from the specified procedure (AlStartup) at startup prior for rendering the window, before it becomes visible. This plugin is made to activate the system tray applications with empty "Startup action", so they begin to work immediately without displaying the main window (or blinking if the first "Startup action" command is set to setvar "[WindowState]" "Minimized"), but can be useful in many cases when you need to override standard startup action this way.
Usage:
1) Place alStartupInit command in any scenario of your project (except for standard Startup action of course)
2) Create "AlStartup" subroutine and place your startup actions here.
Note: This plugin is intended to use only with registered Neobook versions, not for trials. However, in debug mode plugin always works.

Quote from Darbdenral on February 9, 2024, 1:15 pmQuote from Talker on February 9, 2024, 2:00 amAn alternative, faster approach would surely be welcome. But I don't think Dragon (the sending application) is built with any of the above languages. I suspect it was programmed in C++.
Hi @talker,
The plugin comes with a fast Windows terminal console app (which can be used as the sending application) that is run with a command line, one of which is any string parameter. Your running tray app, hidden, using ezPipes would immediately detect a new message is available, read the message from memory, parse and process as needed. It should be real fast..Is the Dragon launch command configurable? The command your currently using to pass parameters to your VisualNeoWin app? If so, it should work.
A typical command sent to launch the console app (renamed) could look like this: rec.exe "." "Recorder" "GMP"
In your Recorder App, the string "GMP" would be received in the OnPipeMessage subroutine as variable [OnServerMessage].Anyways, I hope you find a solution, otherwise contact me and I'll work with you.
Quote from Talker on February 9, 2024, 2:00 amAn alternative, faster approach would surely be welcome. But I don't think Dragon (the sending application) is built with any of the above languages. I suspect it was programmed in C++.
Hi @talker,
The plugin comes with a fast Windows terminal console app (which can be used as the sending application) that is run with a command line, one of which is any string parameter. Your running tray app, hidden, using ezPipes would immediately detect a new message is available, read the message from memory, parse and process as needed. It should be real fast..
Is the Dragon launch command configurable? The command your currently using to pass parameters to your VisualNeoWin app? If so, it should work.
A typical command sent to launch the console app (renamed) could look like this: rec.exe "." "Recorder" "GMP"
In your Recorder App, the string "GMP" would be received in the OnPipeMessage subroutine as variable [OnServerMessage].
Anyways, I hope you find a solution, otherwise contact me and I'll work with you.

Quote from Talker on February 10, 2024, 2:52 amThank you Mishem!
Yes, I used alStartupInit before in this project, but it didn't work. Now I know why: I had it in Startup :-(.
This time I put it in Page Properties and now it works.The next issue was the Taskbar icon becoming visible (and staying visible) after sending a command line argument for playback of the mouse position (strangely enough this did not occur with the command line argument to record the mouse position).
Anyway, I've solved this with zmShowIcon "False" (zmFunctions 1.0b) in both Page Properties and Activate.
Looks like it's all functional now with just the tray icon :-).
Brad,
I am curious if your plug-in will deploy faster than my current project does. I will contact you about it.
Thank you Mishem!
Yes, I used alStartupInit before in this project, but it didn't work. Now I know why: I had it in Startup :-(.
This time I put it in Page Properties and now it works.
The next issue was the Taskbar icon becoming visible (and staying visible) after sending a command line argument for playback of the mouse position (strangely enough this did not occur with the command line argument to record the mouse position).
Anyway, I've solved this with zmShowIcon "False" (zmFunctions 1.0b) in both Page Properties and Activate.
Looks like it's all functional now with just the tray icon :-).
Brad,
I am curious if your plug-in will deploy faster than my current project does. I will contact you about it.