Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

OSD /C issue

I want to use OSD to show updates from a detached batch script.
Each OSD message should stay on until the next OSD message takes over.
How do I do that, OSD /C doesn't seem to work as I expected. Consider this fragment:
PHP:
osd /top /right /n 1111
delay 2
osd /c /top /right /n 2222
I think it should show 1111 for 2 seconds then 2222 forever. Instead here it shows 1111 for 2 seconds then nothing (cleared).
I tried several variations but I can't get 2222 to show. It almost seems like option /c is broken, or I don't get it.
 
On Mon, 08 Sep 2008 04:12:39 -0500, Stefano Piccardi <>
wrote:


>PHP:
>---------
>osd /top /right /n 1111
>delay 2
>osd /c /top /right /n 2222
>---------
>I think it should show 1111 for 2 seconds then 2222 forever. Instead here it shows 1111 for 2 seconds then nothing (cleared).
>I tried several variations but I can't get 2222 to show. It almost seems like option /c is broken, or I don't get it.

If I put those three lines in a batch file and run it, after the two-second
delay I see the "cancel batch" prompt. And when that happens, WinDbg shows

C++ EH exception - code e06d7363 (first chance)
C++ EH exception - code e06d7363 (first chance)

I don't know what's happening. What you want to do seems reasonable.
 
If I put those three lines in a batch file and run it, after the two-second delay I see the "cancel batch" prompt... I don't know what's happening. What you want to do seems reasonable.
Yes, I had weird things happening with OSD /C, I couldn't even describe some...
 
|I want to use OSD to show updates from a detached batch script.
| Each OSD message should stay on until the next OSD message takes over.
| How do I do that, OSD /C doesn't seem to work as I expected. Consider this
fragment:
|
| PHP:
| ---------
| osd /top /right /n 1111
| delay 2
| osd /c /top /right /n 2222
| ---------
| I think it should show 1111 for 2 seconds then 2222 forever. Instead here
it shows 1111 for 2 seconds then nothing (cleared).
| I tried several variations but I can't get 2222 to show. It almost seems
like option /c is broken, or I don't get it.

osd /top /right /time=seconds /n display text
 
osd /top /right /time=seconds /n display text
Thank you but this isn't what I need; /time=seconds will remove the OSD after 2 seconds. In my first post I was using delay 2 to signify any arbitrary amount of time that it takes the script to process statements between the first OSD and the next one.
 
Stefano Piccardi wrote:

> I want to use OSD to show updates from a detached batch script.
> Each OSD message should stay on until the next OSD message takes over.
> How do I do that, OSD /C doesn't seem to work as I expected. Consider
> this fragment:
> PHP Code:
> | | osd /top /right /n 1111
> delay 2
> osd /c /top /right /n 2222
> | |
> I think it should show 1111 for 2 seconds then 2222 forever. Instead
> here it shows 1111 for 2 seconds then nothing (cleared).
> I tried several variations but I can't get 2222 to show. It almost seems
> like option /c is broken, or I don't get it.

OSD /C is intended to kill an existing OSD, not to restart another one.
It will not work in combination with any other OSD options.

Rex Conn
JP Software
 
On Mon, 08 Sep 2008 21:17:23 -0500, rconn <> wrote:


>OSD /C is intended to kill an existing OSD, not to restart another one.
> It will not work in combination with any other OSD options.

What about OSD /C invoking the "cancel batch" prompt?
 
OSD /C is intended to kill an existing OSD, not to restart another one.
It will not work in combination with any other OSD options.
I think OSD /C attempts to kill the batch file, that's why I don't see any other OSDs following an OSD /C
Code:
osd /top /right /n 1111
delay 2
osd /c
osd /time=2 /top /right /n 2222
Results in
Code:
C:\boot>alias osd
TCC: Not an alias "osd"

C:\boot>qbat.bat
osd /top /right /n 1111
delay 2
osd /c

Cancel batch job C:\boot\qbat.bat ? (Y/N/A) :
 
On Wed, 10 Sep 2008 04:27:26 -0500, Stefano Piccardi <>
wrote:


>I think OSD /C attempts to kill the batch file, that's why I don't see any other OSDs following an OSD /C
>
>Code:
>---------
>osd /top /right /n 1111
>delay 2
>osd /c
>osd /time=2 /top /right /n 2222
>---------
>Results in
>Code:
>---------
>C:\boot>alias osd
>TCC: Not an alias "osd"
>
>C:\boot>qbat.bat
>osd /top /right /n 1111
>delay 2
>osd /c
>
>Cancel batch job C:\boot\qbat.bat ? (Y/N/A) :

You can get around it with the likes of "ON BREAK DELAY /M 0". If you really
want to use ON BREAK for other purposes you'll have to get fancy, maybe a local
alias to wrap "OSD /C" in its own break handler and restore the old one, or a
"newosd" subroutine that will do the same.
 
You can get around it with the likes of "ON BREAK DELAY /M 0". If you really
want to use ON BREAK for other purposes you'll have to get fancy, maybe a local
alias to wrap "OSD /C" in its own break handler and restore the old one, or a
"newosd" subroutine that will do the same.
Thanks Vince, I have decided to use sysutils:OS in this case.
 

Similar threads

Back
Top