1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

OSD /C issue

Discussion in 'Support' started by Stefano Piccardi, Sep 8, 2008.

  1. Stefano Piccardi

    Joined:
    May 31, 2008
    Messages:
    376
    Likes Received:
    2
    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 
    //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.
     
  2. vefatica

    Joined:
    May 20, 2008
    Messages:
    7,971
    Likes Received:
    30
    On Mon, 08 Sep 2008 04:12:39 -0500, Stefano Piccardi <>
    wrote:


    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.
     
  3. Stefano Piccardi

    Joined:
    May 31, 2008
    Messages:
    376
    Likes Received:
    2
    Yes, I had weird things happening with OSD /C, I couldn't even describe some...
     
  4. Rex Clark

    Joined:
    May 30, 2008
    Messages:
    57
    Likes Received:
    0
    osd /top /right /time=seconds /n display text
     
  5. Rex Clark

    Joined:
    May 30, 2008
    Messages:
    57
    Likes Received:
    0
    Sorry I should have mentioned i use V8 so i'm not sure about the /c option
     
  6. Stefano Piccardi

    Joined:
    May 31, 2008
    Messages:
    376
    Likes Received:
    2
    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.
     
  7. rconn

    rconn Administrator
    Staff Member

    Joined:
    May 14, 2008
    Messages:
    9,870
    Likes Received:
    83
    Stefano Piccardi 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.

    Rex Conn
    JP Software
     
  8. vefatica

    Joined:
    May 20, 2008
    Messages:
    7,971
    Likes Received:
    30
    On Mon, 08 Sep 2008 21:17:23 -0500, rconn <> wrote:


    What about OSD /C invoking the "cancel batch" prompt?
     
  9. Stefano Piccardi

    Joined:
    May 31, 2008
    Messages:
    376
    Likes Received:
    2
    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) :
     
  10. vefatica

    Joined:
    May 20, 2008
    Messages:
    7,971
    Likes Received:
    30
    On Wed, 10 Sep 2008 04:27:26 -0500, Stefano Piccardi <>
    wrote:


    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.
     
  11. Stefano Piccardi

    Joined:
    May 31, 2008
    Messages:
    376
    Likes Received:
    2
    Thanks Vince, I have decided to use sysutils:OS in this case.
     

Share This Page