OpenSCManager

サービスを制御するには、まずOpenSCManagerで、SCManagerをオープンして、ハンドルを取得する。

OpenSCManagerA function (winsvc.h) - Win32 apps | Microsoft Docs
Win32 Windowsサービスを開始する StartService - s-kita’s blog

コンソールアプリ
コンソールアプリ

コンソールアプリ。

空のプロジェクト
空のプロジェクト

空のプロジェクト。

OpenSCManagerで、SC_HANDLEのhSCMを取得する。
SC_MANAGER_CONNECTは、接続権限を持つハンドルといったところかな。

基本的にサービスは管理者権限が要りそうなのでマニフェストを用意しておく
基本的にサービスは管理者権限が要りそうなのでマニフェストを用意しておく

基本的にサービスは管理者権限が要りそうなのでマニフェストを用意しておく。
(ただし、ここではまだasInvokerにしてる。)

app.manifestを登録
app.manifestを登録

app.manifestを登録。

hSCM = 0x00544c98
続行するには何かキーを押してください . . .

hSCMを取得できた。

Sample/winapi/OpenSCManager/OpenSCManager/src/OpenSCManager at master · bg1bgst333/Sample · GitHub