{"id":19723950,"url":"https://github.com/wraith13/svcicon","last_synced_at":"2026-06-09T04:31:55.717Z","repository":{"id":83857423,"uuid":"101366400","full_name":"wraith13/svcicon","owner":"wraith13","description":"Windows のサービスの稼働状態をタスクバーの通知領域で監視及び開始/終了などの操作をする為のツールです。","archived":false,"fork":false,"pushed_at":"2017-10-24T12:53:04.000Z","size":223,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-28T00:59:59.829Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wraith13.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE_1_0.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-25T04:36:21.000Z","updated_at":"2017-08-25T17:17:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"c1defd2e-097e-46ae-96b7-6b4532f1b7d3","html_url":"https://github.com/wraith13/svcicon","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wraith13/svcicon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wraith13%2Fsvcicon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wraith13%2Fsvcicon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wraith13%2Fsvcicon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wraith13%2Fsvcicon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wraith13","download_url":"https://codeload.github.com/wraith13/svcicon/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wraith13%2Fsvcicon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34092253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T23:24:02.788Z","updated_at":"2026-06-09T04:31:55.699Z","avatar_url":"https://github.com/wraith13.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# svcicon\n\nWindows のサービスの稼働状態をタスクバーの通知領域で監視及び開始/終了などの操作をする為のツールです。\n\n## 使用方法\n\n下のような感じで引数を与えてください。(全て省略すると usage が表示されます。)\n\n```cmd\nsvcicon.exe [サービス名[@コンピュータ名] [アイコンファイル名 [アイコンインデックス値]]]\n```\n\n### 自動起動について\n\nWindows のログイン時に自動的に起動するような仕組みは作ってないので必要に応じて [ファイル名を指定して実行] ( [田]+[R] ) から `shell:startup` を開いてショートカットを登録してください。\n\n### 使用例\n\n```cmd\nsvcicon.exe w3svc\n```\n\nWorld Wide Web 発行サービス(w3svc) の稼働状態の監視と操作ができるアイコンがタスクバーの通知領域に表示されます。通知領域のアイコンには default のモノを使用。\n\n\u003e [コンピューターの管理] → [サービスとアプリケーション] → [サービス] で表示されるサービスの一覧から目的のサービスを選択し [プロパティ] を表示すると svcicon の引数で指定できる [サービス名] を確認できます。\n\n## ビルド方法\n\n### 前準備\n\n#### [Visual Studio](https://www.visualstudio.com/)\n\nVisual Studio のインストールは C++ コンパイラと Windows SDK が含まれるようにしてください。\nVisual Studio 2017 より新しい Visual Studio や通常と異なるパスにインストールした場合などは `.\\source\\solomon\\conf\\config.%COMPUTERNAME%.cmd` を作成し\n\n```cmd\n@SET VCVARSALL_PATH=C:\\Program Files\\Microsoft Visual Studio\\2017\\Community\\VC\\Auxiliary\\Build\\vcvarsall.bat\n```\n\nといった感じで vcvarsall.bat のパスを指定してください。\n\n\u003e 非推奨となりますが、その他の C++ コンパイラでもビルドすることは可能です。 Borland C++ Compiler でのビルドは[こちら](#solomon-を使わない-borland-c-compiler-でのビルド非推奨)を参照してください。 mingw でのコンパイルは .\\source\\Makefile を使ってビルドしてください。( [@mattn](https://github.com/mattn) さんが [neticon](https://github.com/wraith13/neticon) 用に対応してくださった[ヤツ](https://github.com/wraith13/neticon/blob/master/source/Makefile)を丸パクりしただけで動作確認してません。 )\n\n#### [solomon](https://github.com/wraith13/solomon)\n\nsolomon についてはこのプロジェクトのローカルコピーのパスが `C:\\github\\wraith13\\svcicon` である場合に  `C:\\github\\wraith13\\solomon` のように隣にローカルコピーを用意する分には設定の必要はありませんがそれ以外のパスに用意した場合は `.\\source\\solomon\\conf\\config.%COMPUTERNAME%.cmd` を作成し\n\n```cmd\n@SET SOLOMON_MAIN_CMD=C:\\github\\wraith13\\solomon\\cmd\\main.cmd\n```\n\nといった感じで solomon の main.cmd のパスを指定してください。\n\n\u003e 非推奨となりますが、 solomon がなくともビルドすることは可能です。詳細は[こちら](#solomon-を使わない-vc-でのビルド非推奨)を参照してください。\n\n### ビルドの実行\n\nコマンド プロンプトから次の cmd を実行します。\n\n```cmd\n.\\source\\solomon\\build.cmd\n```\n\n正常にビルドが完了すれば コマンド プロンプト の文字が緑色になり `.\\snapshot\\result\\` にビルドされたバイナリがビルドのタイプ別に出力されます。\n\n\u003e この cmd に限らずこのプロジェクトの cmd の実行は削除対象となるディレクトリなどを除けば基本的にどのカレントディレクトリからの実行でも構いません。\n\n次の cmd を実行しておくと `.\\source\\` ディレクトリ下の変更を検知しファイルが更新される度に自動的にビルドが実行されます。\n\n```cmd\n.\\source\\solomon\\auto.build.cmd\n```\n\n### リリース用パッケージの作成\n\n事前にビルドを行った上で、コマンド プロンプトから次の cmd を実行すると `.\\release\\` ディレクトリにリリース用パッケージが作成されます。\n\n```cmd\n.\\make.release.package.cmd\n```\n\n### solomon を使わない VC でのビルド(非推奨)\n\n最初に `.\\source\\solomon\\build\\subcmd\\build.cmd` の内容を次のように書き換えます。\n\n```cmd\n@REM\n@REM build\n@REM\n\n@SETLOCAL\n@CALL \"%CALL_VCVARSALL_CMD%\" %VCVARSALL_ARG% \u003eNUL\n\n@REM リソースコンパイル\nrc %SVCICON_MACRO% .\\svcicon.rc\n\n@REM 通常コンパイル\ncl \".\\svcicon.cpp\" %VC_CL_ARG% %SVCICON_MACRO% /EHsc /MP /W4 /Fesvcicon.exe /link %VCLINKER_ARG% svcicon.res\n\n@ENDLOCAL\n```\n\n上の書き換えが済んだ上で、次のいずれかの cmd を実行してください。\n\n```cmd\n\".\\source\\solomon\\build\\debug x86 ansi.cmd\"\n```\n\n```cmd\n\".\\source\\solomon\\build\\release x64 unicode.cmd\"\n```\n\n```cmd\n\".\\source\\solomon\\build\\release x86 unicode.cmd\"\n```\n\nビルドに成功すると `.\\source\\svcicon.exe` が作成されます。\n\n\u003e 必要応じて `.\\source\\solomon\\build\\subcmd\\increment.version.cmd` を実行するか、あるいは手作業で `VERSION.cmd` 内のビルド番号をインクリメントしてください。 solomon でのビルジ時は全てのビルドに成功すると自動的に `.\\source\\solomon\\build\\subcmd\\increment.version.cmd` が呼び出されます。\n\n### solomon を使わない Borland C++ Compiler でのビルド(非推奨)\n\n`.\\source\\BUILD.h` の内容を次のように書き換えます。( BUILD の定義は区別がつけば基本的になんでも構いません。 )\n\n```c++\n#define BUILD Borland Build\n```\n\n`.\\source\\VERSION.h` の内容を手業で編集しバージョン情報を設定してください。\n\n以上の前準備が済めば次のコマンドでビルドできます。( Borland C++ Compiler のパス設定やライブラリパス等々の設定が済んでる前提 )\n\n```cmd\nbcc32 -tWM -O1 -c svcicon.cpp\nbrcc32 svcicon.rc\nilink32 -aa svcicon.obj, svcicon.exe, , c0w32.obj import32.lib cw32mt.lib, , svcicon.res\n```\n\n## ファイル/ディレクトリ構成\n\n### .\\readme.md\n\nこのファイルです。\n\n### .\\LICENSE_1_0.txt\n\nこのソフトウェアで採用しているライセンス\n\n### .\\make.release.package.cmd\n\nリリース用パッケージ作成バッチです。\nこのバッチが行うのはリリース用パッケージの作成のみであり、事前に別途ビルドが実行されている必要があります。\n\n### .\\release\\\n\nリリース用パッケージ作成バッチによって作成されるリリース用パッケージが格納されるディレクトリです。\n\n### .\\snapshot\\\n\nsolomon によって作成されるディレクトリです。\n\n### .\\snapshot\\master\\\n\nsolomon がビルド時に .\\source\\ ディレクトリをミラーしたディレクトリです。\n.\\testsnap\\ ディレクトリへは .\\source\\ から直接ミラーされるのではなく、こちらのディレクトリから間接的にミラーされます。\nこうすることでビルド中にソースコードを変更されてもソースコードとそのビルド結果の組み合わせがブレることがないようにしています。\n\n### .\\snapshot\\result\\\n\nsolomon によって作成されたビルドされた結果のファイルが格納されるディレクトリです。\n\n### .\\snapshot\\misssed.compile\\\n\nsolomon でのビルドに失敗した時のソースディレクトリがこちらに保存されます。\n\n\u003e 全保存されるので必要に応じて古いヤツは削除してください。\n\n### .\\snapshot\\passed.compile\\\n\nsolomon でのビルドに成功した時のソースディレクトリがこちらに保存されます。\n\n\u003e 全保存されるので必要に応じて古いヤツは削除してください。\n\n### .\\snapshot\\solomon.data\\\n\nsolomon が前回の実行結果を保存しておく為のディレクトリです。\n\n### .\\source\\\n\nソースディレクトリです。\n基本的にビルドに必要な全てのファイルはこのディレクトリに含まれ、また同時にビルドに不要なファイルは含みません。\n\n### .\\source\\resource\\\n\nリソース関連のディレクトリです。\n\n### .\\source\\solomon\\\n\nsolomon 関連のディレクトリです。\n\n### .\\source\\solomon\\build.cmd\n\nビルドを実行するバッチファイルです。このコマンドの実行には solomon が必要になります。\n\n### .\\source\\VERSION.cmd\n\n次回ビルド時に .\\source\\VERSION.h に展開されるバージョン番号が格納されるバッチファイルです。ビルドが成功する度に自動的にビルド番号がインクリメントされます。メジャーバージョン及びマイナーバージョンについては通常手作業でこのファイルを編集することで設定します。\n\n\u003e 次回ビルド用のバージョン情報となる為、ビルドのプロセスが一通り終わった段階では最新ビルドよりビルド番号が一つ進んだ状態になります。\n\n### .\\testsnap\\\n\nsolomon がビルドを行う時に実際に対象のビルドを実行するディレクトリです。\n\n## ライセンス\n\nBoost Software License - Version 1.0 を採用しています。\n詳細は [.\\LICENSE_1_0.txt](./LICENSE_1_0.txt) を参照してください。\n\n日本語参考訳: http://hamigaki.sourceforge.jp/doc/html/license.html\n\n## バージョン採番ルール\n\n### バージョン表記のフォーマット\n\n`A.BB.CCC`\n\n### メジャーバージョン番号(`A`)\n\n明らかな非互換の変更が行われた際にインクリメント。\n桁数は不定。\n\n### マイナーバージョン番号(`BB`)\n\n機能追加や上位互換と判断できる仕様変更が行われた際にインクリメント。\n桁数は2桁固定。\n\n### ビルド番号(`CCC`)\n\nバグフィックスや仕様変更というほどでもない微細な修正が行われた際にインクリ\nメント。\n桁数は3桁固定。\n\n### 細則\n\n* 各番号は0始まりとする。\n* 固定桁に足りない場合は先頭を0埋めする。\n* 番号が固定桁で足りなくなった場合は、上位の番号をインクリメントする。\n* 上位の番号がインクリメントされた場合、下位の番号は0にリセットする。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwraith13%2Fsvcicon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwraith13%2Fsvcicon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwraith13%2Fsvcicon/lists"}