ターミナルサービスで、サービスからログインユーザ権限のGUIアプリを起動する方法 – プログラミング – Home

ターミナルサービスで、サービスからログ...
 
通知
すべてクリア

ターミナルサービスで、サービスからログインユーザ権限のGUIアプリを起動する方法


マサシ
 マサシ
(@マサシ)
ゲスト
結合: 14年前
投稿: 2
Topic starter  

Windows2008などのターミナルサービス環境で動作するサービスアプリについて質問があ
ります。

アプリの構成は、主にファイル更新を監視するアップデーター(サービス(※S))とログイ
ンユーザ権限で
動作する常駐アプリ(タスクトレイ常駐のGUIアプリ(※C))になります。

やりたいことは、アップデーター(※S)が、※Cの更新があった場合、各ログインユーザ
が起動している
※Cを停止し、更新後に改めて※Cを各ログインユーザ権限で起動(ユーザのデスクトップ
上に表示)します。

わからないことは以下の2つです
1,ターミナルプロセス環境でもログインユーザ権限でGUIアプリの起動(ユーザのデスク
トップ上に)は技術的に可能か?
2,全体のイメージ的には、各ログイン中のユーザ トークンを取得して
CreateProcesAsUser()を使用して
※Cのモジュールを起動する方法で実装は可能か?

XPなどの通常のログインユーザでGUIアプリをサービスから起動させる方法は、
CreateProcessAsUser()を使用した以下の方法を参考にして実装は可能なようで、
現在ソースを見ながら勉強しています。
http://singleoyaji.seesaa.net/article/118410364.html


引用解決済
トピックタグ
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

 アップデーター(※S)はうまくいったのですか?
タスクバーへの常駐ソフトとなると難しいです。
 ・サービスソフトとしてのレジストリー登録
 ・GUIソフトのタスクバー登録
 ・サービスソフトからGUIソフトを起動する。
 ・何か不具合があった場合はただちにサービスソフトとGUIソフトは
  共に異常終了する。
簡単に考えても4項目ありました。
まだまだありそうです。
「Windows2008などのターミナルサービス環境」ってWindows2008 Server
ですよね。
「Windows Server」ログインの管理がWindow 7/vistaと違う可能性が大きいです。
リンク先はWindowsvistaなので違う可能性がありますね。
 UAC回避はおいといてサービスプログラム+タスクバーへの常駐ソフトを重点に
考えてみたらどうでしょうか?


返信引用
マサシ
 マサシ
(@マサシ)
ゲスト
結合: 14年前
投稿: 2
Topic starter  

返信ありがとうございました。
アップデーター(サービス(※S))と、常駐アプリ(ログインユーザで動作(※C))の機能実
装は完了しています。
知りたかったのは、サービスからログインユーザのディスクトップ(ログインユーザの権
限で)へGUIアプリ(※C)を起動させる方法です。

いろいろ調べてみたところ、実装が難しそうなので別途方法を考えています。
※Cの終了時に自分自身を起動させるためのモジュールを起動。※Sが※Cを更新後に先ほ
どのモジュールで※Cを起動させる方法が簡単そうなので、この方法で実装が可能か考え
ています。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

 うーーん、常駐アプリとサービスプログラムの場合、レジストリー登録するので、
一度特権ユーザーでインストールすれば次回からはログインユーザーの問題はないと
思っていました。
 UACは別格なんですね。
解決策が見つかりそう見たいですが、インストール対象がサーバーOS見たいなので、
慎重に考えた方がいいですね。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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