プロが教えるわが家の防犯対策術!

バックグラウンドで実行されるプログラムを作るにはどうすればよいのですか?
あと自分自身へのリンクを自動で作成するにはどうすればいいのですか?
win xp borland c++です。

A 回答 (4件)

特別なことは何もする必要はありません。

どんなふうにプログラムを作っても、そのプログラムを実行すれば他のプログラムに対してバックグラウンドで実行されます。

リンクの作成にはIShellLinkインターフェースを使用します。使用方法は参考URLをご覧ください。また「IShellLink」で検索すると使用例がたくさん出てきます。

http://msdn.microsoft.com/library/en-us/shellcc/ …

参考URL:http://msdn.microsoft.com/library/en-us/shellcc/ …
    • good
    • 1

バックグラウンドで実行される、というのがサービスのことをさしているのだとすると、自分で作るのは結構大変だったとおもいます。



私も昔1回しか作ったことがないのでうろ覚えですが、
すべてのサービスはサービスコントロールマネージャ(SCM)と呼ばれるシステムにより管理されますので、おつくりになったプログラムもこのSCMに対して登録してあげる必要があります。

サービスで動作するプログラムは通常のmain/WinMainのほかにSCMからサービスとして呼び出されたときに実行されるServiceMain関数を持ちます。
また、SCMから呼び出される一時停止、停止、再開などの操作をハンドルするHandler関数を備えなければなりません。
詳しくはWin32SDKヘルプを参照ください。
http://msdn.microsoft.com/library/default.asp?ur …

また、自分で全部作らなくてもsc.exeで通常のプログラムをサービスとして動作させることもできるようです。
詳しくは以下を参照ください。

参考URL:http://support.microsoft.com/default.aspx?scid=k …
    • good
    • 0

#1の方もおっしゃられていますが「バックグラウンドで実行されるプログラム」を作るのでしたら、とくに何も考える必要はありません。


ただ単に、出来たプログラム(アプリ)をバックグラウンドで動かせばよいわけですから。

質問を
「あるプログラムを実行すると、そいつが別プログラムをバックグラウンドで起動して、何かをするためには・・・」
と(勝手に)拡大解釈するならば、
子プロセスを生成する fork() というシステムコールがあったように思います。

使い方までは詳しくわからないですけど。
    • good
    • 0

Borland C++のことは知らないですが、VisualStudioならATLを使えば30分もあれば、一丁前のサービスプログラムが作れますよ。

要するにCOMなんですが、Borlandならどうするのかな・・・。

参考URL:http://program.station.ez-net.jp/special/vc/atl/ …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!