
No.5ベストアンサー
- 回答日時:
>ところで裏で常駐するコンソールアプリは、出来ればスタートアップで
>起動させたいのですが、起動後、タスクバーに表示させないように出来るでしょうか?
参考URLにはWindowsNT系では という限定付きで出来るような事が書いてあります。
この場合は、コンソールアプリケーションを制御するアプリケーション経由で
CreateProcess()を使って起動する必要がありますね。
参考URL:http://www.microsoft.com/japan/developer/winds/f …
URL拝見しました。丁度開発環境がNTだったんですよ。(^^
CreateProcess()を使えば画面表示させずに起動できそうですね。
これからCreateProcess()の引数を勉強します(^^;
No.7
- 回答日時:
> この先、メンテなどで表示する必要が出てくる場合は
> 表示、非表示の情報をINIファイルから読み込んで
> CreateProcess()の引数を操作しようと思っているのですが、
> いかがなものでしょうか?
それでもいいですけど、アプリケーションのオプションにする
という手もありますよ。
xxx.exe /d
デバッグオプション
みたいなやつです。

No.6
- 回答日時:
>mkiiさん
これってなんか目的のものと違うと思いますけど・・・
これってUNIXでの端末無しでのコマンド実行(標準出力が/dev/nullになる)と同じなのでは?
また、このFAQのだと、バックグラウンドでプロセスは走りますが、ウィンドウをアクティブに出来ません。(ShowWindow()しようにも対象のWindowHandleが無い)
なので
>起動後、タスクバーに表示させないように出来るでしょうか?
はOKですが、その後、そのWindowをActiveに出来ません。
この回答への補足
基本的に表示する必要があるものがないので、何も表示されなくても構わないのです。
この先、メンテなどで表示する必要が出てくる場合は
表示、非表示の情報をINIファイルから読み込んで
CreateProcess()の引数を操作しようと思っているのですが、
いかがなものでしょうか?

No.4
- 回答日時:
出来なくは無い、と思います
ただ、通常のConsoleApplicationプロジェクトではなく、WindowApplicationで作成し、そのプログラム内でAllocConsole、FreeConsoleしてやる必要があるでしょうが・・・
タスクトレイにアイコンを常駐させるため、CreateWindowしてそのウィンドウを非表示にしておく必要もあるでしょう。(タスクトレイでのイベントはこの非表示ウィンドウのウィンドウプロシージャで受け取り、処理させます)
んー、でもこの方法だとConsoleに来るイベントを取得できないですねぇ
最小化イベント発生時にタスクバーではなく、タスクトレイに引っ込めるような挙動をさせるのであればグローバルフックでメッセージをトラップする必要があるんですが・・・たしか出来なかったような・・・
構造的に無理臭い部分があるのは確かですね
まっとうな方法としてはWin32ベースでConsoleを自作するのが妥当でしょうね
No.2
- 回答日時:
> Console Applicationをタスクトレイに常駐できるのでしょうか?
できないんじゃないかなあ。
タスクトレイにプログラムを登録する API Shell_NotifyIcon() では、
引数の構造体に、タスクトレイのアイコンをクリックしたときのメッセージを
通知するウィンドウのハンドルを指定するようになっている。
ウィンドウを作成する為には、アプリケーションのインスタンスハンドルが
必要だけど、Console Application では、それが手に入らない(Window
アプリケーションであれば WinMain の引数として手に入れられる)。
やったことはないけど、メッセージの通知先ハンドルを NULL にしても
登録できちゃうかもしれない。でも、喩え、登録できたとしても、メッセージの
処理ができないんだったら、タスクトレイにアイコンをただ表示しているだけ
なので、常駐しているプログラムの意味が無いもんね。
No.1
- 回答日時:
やれないことはないのでは?
少し前のApache+ApacheRapperはそんな感じで
動作していましたよ。
要するにコンソールアプリケーションの実行画面を
非表示にするようにタスクトレイに常駐するソフトで
制御してやれば、何とかなるのでは?
ではでは☆
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WSH(VBScript)でアプリケーショ...
-
コンソールアプリケーションの...
-
FOM出版の公認テキスト&問題集...
-
フレームワーク「4.8.1」で、[S...
-
Macターミナルで実行中のプログ...
-
sleep()関数について
-
「単体テスト」に関する深刻な...
-
C言語プログラミングについて i...
-
LISPで・・・
-
c++でmatからvectorへの変換の...
-
メッセージボックスのボタン名変更
-
メモリのセグメント違反の解決...
-
Windows10でDOSゲーム
-
VBSの処理中一旦処理を止めて再...
-
USJでの割り込み
-
vba GetAsyncKeyState関数について
-
Pythonで仮想通貨の自動売買が...
-
PCIデバイスのコンフィグレーシ...
-
VB2005でWin32APIを用いてRS-23...
-
C#.net FTPでホームディレクト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WSH(VBScript)でアプリケーショ...
-
フレームワーク「4.8.1」で、[S...
-
VB.NETでMessageBoxを表示した...
-
コンソールアプリケーションの...
-
SetWindowPosについて
-
pccNTmon.exeとntrtscan.exeの違い
-
Accessフォームからの外部アプ...
-
初回接続の遅い原因について
-
Console Applicationをタスクト...
-
VBSでのSendKeysでの画面の最小化
-
イラストレーターCS4のシリアル...
-
Vba アプリケーションが立ち上...
-
MFCアプリケーションでの終了コ...
-
実行時のコマンドプロンプトを...
-
C#でGUI・CUIの判断する仕方を...
-
アプリケーションをVBS(WSH?)で...
-
OSによるWinExecの動...
-
vb6で異なるのプロジェクト間で...
-
SYSTEM権限でプロセス機動
-
何点かあるのですが・・・
おすすめ情報