サービスとして起動するには? – プログラミング – Home

サービスとして起動するには?
 
通知
すべてクリア

[解決済] サービスとして起動するには?


wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
Topic starter  

Win2000/XP VC++6.0
おおざっぱな質問で申し訳ないのですが
クライアント(問い合わせ)→サーバー(起動アプリケーション選択)→
サーバー(データ検索等)
のようなことを
スタンドアロンでできているプログラムを機能分割して実現できる
サンプル探しています
>サーバー(起動アプリケーション選択)
この部分をWin2000のサービスとして起動したいのですが
サンプル、例題を知っていたら教えてください
MSDNだったらキーワードなど教えてください
(MSDN 2001.10月リリースを使用しています)


引用未解決
トピックタグ
YuO
 YuO
(@YuO)
ゲスト
結合: 24年前
投稿: 252
 

キーワードではなく,URLですが……。

とりあえず,
・ControlService API [日本語]
http://www.microsoft.com/japan/developer/library/default.asp?URL=/japan/developer/library/jpwinpf/_win32_controlservice.htm
・Services [英語]
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/services_0p0z.asp
あたりを参照するとよいかと。
#サービスを作成したことがないので,このくらいしかわかりませんが……。


返信引用
みみみ
 みみみ
(@みみみ)
ゲスト
結合: 23年前
投稿: 14
 

特別なケースについて必ずしも当てはまる話ではありませんが・・・
実行権限(ユーザ)がsystemになる以外、サービスexeは実行形式exeと同等であり、Win32
APIなども普通に使えます。(shellからユーザアプリケーションが起動できるほど同等で
ないですが)
よって特段にサービスと断ったのサンプルは要らない(→ない)と思います。また
クライアントのリクエストがWebとかデータベースなど汎用的な手段のとき、実行ファイルを
サービス形式にする必要はなく作成が簡単なので、通常それらを利用してシステム設計すると
おもわれます。

Oracle or SQL-Server:クライアントのOBDCドライバで実装
http: ISAPI形式のdllで実装しIISサービスを使う


返信引用
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
Topic starter  

YuOさん、ありがとうございます、参考にさせていただきます

みみみさん、のご意見は一度でもそれなりのご経験ある方には、この文章でわかるのでしょう
けど、私のようにスタンドアロンPG数本しか作成したことが無く、ネット系のjavaや
htmlの仕事を業務としてしたことが無いものには理解不能です
作成不要としても「ControlService API 」が用意されているのならどこかに
例題が無いとは思えないのですが?
それに私の思っている使用目的と違っていても「コントロールパネル」→「サービス」
と言うものが現存し使用されていますので

見た目だけでの質問ですが、もう少しご協力お願いします


返信引用
みみみ
 みみみ
(@みみみ)
ゲスト
結合: 23年前
投稿: 14
 

簡単なサービス.exeの作成方法を説明します。

VC6の新規作成で「ATL COM AppWizard」を起動します。サービスexeを選択してサービス
プロジェクトを作成してください。
これで一式そろった空のサービスのコードとプロジェクトが作成されます。
これをコンパイルしてコマンドラインからMyService.exe /Serviceと実行してください。
するとコントロールパネルから制御できるMyServiceサービスが作成されてるはずです。
(デフォルトでは手動起動になってます。コントロールパネルで起動してください。)

全部で10分ぐらいでできます。

このMyService.exeは通常の起動[Ctrl f5]やデバッグモード[f5]でも起動できます。

作成されたコードにはGetMessageとDispatchMessageのメッセージループがあるので
外部からのメッセージはここに来ます。(WM_QUITなど)
よってこの前後にMyServerアプリケーションのコードを書くことになるとおもいます。
アクセス権がsystemユーザであること以外普通のアプリケーションと同じAPI操作がで
きます。→WinSockの制御、ローカルファイルの入出力、データベース・・・etc、

なおVC.netでは同じ事ができますがコードがほとんどブラックボックス化されているので
あまり参考になりません。


返信引用
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
Topic starter  

みみみさん、ありがとうございます
また、べつの質問の時よろしくお願いします


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました