Jump to content
Sign in to follow this  
Tim Net

running script as service and controling Audio Out.

Recommended Posts

Tim Net


I know how to make a script to play a sound file. I know how to load a script(.exe) as a Windows service. I'd like to have a service which does not require a user to be logged on yet can play music via the audio out jack on a laptop. While this might sound like a streaming app, it needs to run as a service(no user logged in) and is completely local to the single audio out(speakers) jack.

How can I control a sound playing as a service?



Share this post

Link to post
Share on other sites
Tim Net

This is bad for security. When I posted this, I figured that the most direct methods would not work. I figured that there must be some isolation when managing the sound between user mode (me opening Windows Media Player) and SYSTEM services using the _soundplay(). There is not. I added some logging as I expected to try and figure out why the sound file was not playing.

I wrote a very small sound.au3 which just plays a filly pathed .mp3.

#include <Sound.au3>

$sound=_SoundOpen("D:\scripts\AutoIT\Audio\Do you hear what I hear.mp3")

while 1

FileWriteline("D:\scripts\AutoIT\Audio\Activity.log",@hour & ":" & @min & ":" & @SEC & ",Start" )

$play = _SoundPlay($sound,0)

FileWriteline("D:\scripts\AutoIT\Audio\Activity.log",@hour & ":" & @min & ":" & @SEC & "," & $play )


$stop = _SoundStop($sound)

FileWriteline("D:\scripts\AutoIT\Audio\Activity.log",@hour & ":" & @min & ":" & @SEC & "," & $stop )



Compiled it and ran it in my session. No probem, I hear it.

I then added an AT job to run the sound.exe via the scheduler under the SYSTEM account. 45 seconds later when the clock turned, the sound plays!

at 5:49 D:\scripts\AutoIT\Audio\Sound.exe

I then used inetsrv and srvany to load the sound.exe as a service called 'Sound'. Running as SYSTEM again, it played the music.

@echo off

cd /d "%~dp0"

instsrv.exe Sound "%~dp0srvany.exe"

reg add HKLM\SYSTEM\CurrentControlSet\Services\Sound\Parameters

reg add HKLM\SYSTEM\CurrentControlSet\Services\Sound\Parameters /t REG_SZ /v Application /d "%~dp0Sound.exe"

net start Sound

I am perplexed that this is possible. Problem solved.


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  


Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.