任意のプログラムをサービス起動する方法

scコマンドのオプションで、 createを利用します。
※ ヘルプにも記載されていますが、等号と値の間にはスペースが必要です。
 なので、binpath=の後には、半角スペースが必須です。
※ Windows Vista以降のOSはユーザーアカウント制御(UAC)にも注意してください。
 管理者としてコマンドプロンプトを実行しなければなりません。
 
 
使用例:
C:\Windows\system32>sc create notepad binpath= "C:\Windows\notepad.exe"
[SC] CreateService SUCCESS
 
以下のようにレジストリ上には登録されていました。
 
 
 
--- 以下、sc createヘルプの内容 ---
説明:
        レジストリおよびサービス データベースのサービス エントリを作
使用法:
        sc <server> create [サービス名] [binPath= ] <オプション1>
        <オプション2>...

オプション:
注意: オプション名には等号が含まれています。
      等号と値の間にはスペースが必要です。
 type= <own|share|interact|kernel|filesys|rec>
       (既定値 = own)
 start= <boot|system|auto|demand|disabled|delayed-auto>
       (既定値 = demand)
 error= <normal|severe|critical|ignore>
       (既定値 = normal)
 binPath= <BinaryPathName>
 group= <LoadOrderGroup>
 tag= <yes|no>
 depend= <依存関係 (スラッシュ (/) で区切られています)>
 obj= <AccountName|ObjectName>
       (既定値 = LocalSystem)
 DisplayName= <表示名>
 password= <パスワード>


■ 削除するには・・・
scコマンドのオプションで、 deleteを利用します。
 
使用例:
C:\Windows\system32>sc delete ipmsg
[SC] DeleteService SUCCESS
 
 
--- 以下、sc deleteヘルプの内容 ---  
説明:
        レジストリからサービス エントリを削除します。
        サービスが実行しているか、または別の処理がサービスに対して
        オープン ハンドルを持っている場合は、そのサービスは単に
        削除するようにマークされます。
使用法:
        sc <サーバー> delete [サービス名]
 

[参考になるURL]
・ITpro連載記事