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

How to? Start a program on log on elevated abovenormal

Discussion in 'Support' started by mathewsdw, May 20, 2014.

  1. mathewsdw

    Joined:
    May 24, 2010
    Messages:
    855
    Likes Received:
    0
    This is pretty simple. I want to start the Windows magnify program (C:\Windows\System32\Magnify.exe) on log on with above-normal priority (important) and elevated (not so much). One approach which doesn't work is to place "C:\Program Files\JPSoft\TCMD16x64\TCmd.exe" /C Start /AboveNormal /Elevated /PGM C:\Windows\System32\Magnify.exe in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. Putting the command in a batch file and executing that doesn't work either. Nor does preceding the "Start" with either "/C" or "/K". I really don't understand what I'm doing wrong here; how do I make this work?
     
  2. vefatica

    Joined:
    May 20, 2008
    Messages:
    7,883
    Likes Received:
    29
    How does it not work? Does anything at all happen?

    A scheduled task (trigger = log on, run with highest privileges) should work and dispense with any UAC prompts.

    I'd use TCC instead of TCMD.

    When I try this
    Code:
    g:\tc16\tcmd.exe /c start /elevated /pgm notepad
    TCMD starts ... then notepad (with UAC prompt) ... then TCMD hangs around with no tabs open I've config'd it to run with no tabs).

    TCC understands "/C" to mean "execute the command, then exit". TCMD processes "/C" (differently from TCC) only when it's last on TCMD's command line (see "starting TakeCommand"). Otherwise, I imagine it just passes it on to TCC.
     
  3. mathewsdw

    Joined:
    May 24, 2010
    Messages:
    855
    Likes Received:
    0
    Vince, Take Command itself starts OK but the magnify app doesn't run (I only want this to be started once immediately after log on and I also want a Take Command session to be started at log on). And I definitely want the magnify app to run at an above normal priority; in the past I ran it just at the default priority and that just didn't do it in many circumstances (I'm quite dependent on the magnify app and having it not run for ten or more seconds at a time just doesn't cut it). I see no way to start a program in the task scheduler with an increased priority, although I must admit I really don't know what priority programs started by the task scheduler are started with in the first place.
     
  4. thedave

    Joined:
    Nov 13, 2008
    Messages:
    254
    Likes Received:
    2
    I would guess that using Task Scheduler to start the Take Command session elevated, and then using Take Command to start the magnify app as high priority is your best bet.

    I'd also agree with starting TCC rather than TCMD.
     
  5. Mezlo

    Joined:
    May 12, 2014
    Messages:
    18
    Likes Received:
    0
    Task scheduler has the "Run with highest privileges" option. But using a logon script would probably work better than trying to use TCC/TCMD to launch magnify.
     
  6. vefatica

    Joined:
    May 20, 2008
    Messages:
    7,883
    Likes Received:
    29
    This works from the Start\Run dialog.
    Code:
    g:\tc16\tcc.exe /c start /abovenormal /elevated /pgm magnify
    But MAGNIFY.EXE starts with normal priority and you get the UAC prompt.
    Later, I can successfully change magnify's priority with the PRIORITY command but ...
    (1) this must be done by an elevated TCC
    (2) I can't use _STARTPID because TCC doesn't get _STARTPID for a GUI app
    A script (big.btm) like this, run elevated, works.
    Code:
    start magnify.exe
    delay 2
    priority %@pid[magnify.exe] above
    So I suspect the only way you'll get it to work is with a task ...
    trigger: logon
    command: [path]\tcc.exe
    args: /c [path]\big.btm
    run with highest privs
    If you check "Allow run on demand" you'll be able to test later with SCHTASKS /RUN /TN <taskname>.

    Another approach is ...
    Make such a task as above with no triggers and use SCHTASKS /RUN /TN <taskname> in your logon script.
     

Share This Page