- PR -

Webからexeを起動するには?

1
投稿者投稿内容
damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2004-12-03 11:00
こんにちは。
C#で開発したWebアプリからC#で開発したWinアプリを
起動したいのですが、その方法を教えてください。
よろしくお願いします。
ぢゃん♪
大ベテラン
会議室デビュー日: 2003/06/12
投稿数: 208
お住まい・勤務地: 都内
投稿日時: 2004-12-03 11:21
引用:

damepgさんの書き込み (2004-12-03 11:00) より:

こんにちは。
C#で開発したWebアプリからC#で開発したWinアプリを
起動したいのですが、その方法を教えてください。
よろしくお願いします。


条件が分からなさ過ぎ……質問を見直してみませんか?

  • Windowsアプリケーションの置き場所は?
    (サーバに置いてあるか、クライアントに置いてあるか)
  • そのWindowsアプリケーションを、どのプロセス空間で起動する?
    (サーバ側で実行するか、クライアント側で実行するか)
  • そのWindowsアプリケーションは、ユーザインタフェースを持つ?
    (GUIを持つWindowsフォームか、GUIを持たないコンソールアプリケーションか)

これらの条件が違うだけでも、答えがまったく異なるんですが……。

[ メッセージ編集済み 編集者: ぢゃん♪ 編集日時 2004-12-03 11:25 ]
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2004-12-03 11:25
<html>
<head>
<script language="VBScript">
Dim oShell
Set oShell = CreateObject("WScript.Shell")
oShell.Run("notepad.exe")
Set oShell = Nothing
</script>
</head>
<body>
</body>
</html>

別にC#だろうとC++だろうとなんでも起動できますよ。
damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2004-12-03 13:53
情報不足ですみません。

exeはサーバに存在し、サーバで実行します。
GUIはプログレスバーのみ存在します。

よろしくお願いします。

引用:

ぢゃん♪さんの書き込み (2004-12-03 11:21) より:
引用:

damepgさんの書き込み (2004-12-03 11:00) より:

こんにちは。
C#で開発したWebアプリからC#で開発したWinアプリを
起動したいのですが、その方法を教えてください。
よろしくお願いします。


条件が分からなさ過ぎ……質問を見直してみませんか?

  • Windowsアプリケーションの置き場所は?
    (サーバに置いてあるか、クライアントに置いてあるか)
  • そのWindowsアプリケーションを、どのプロセス空間で起動する?
    (サーバ側で実行するか、クライアント側で実行するか)
  • そのWindowsアプリケーションは、ユーザインタフェースを持つ?
    (GUIを持つWindowsフォームか、GUIを持たないコンソールアプリケーションか)

これらの条件が違うだけでも、答えがまったく異なるんですが……。

[ メッセージ編集済み 編集者: ぢゃん♪ 編集日時 2004-12-03 11:25 ]

ぢゃん♪
大ベテラン
会議室デビュー日: 2003/06/12
投稿数: 208
お住まい・勤務地: 都内
投稿日時: 2004-12-03 14:02
引用:

damepgさんの書き込み (2004-12-03 13:53) より:

exeはサーバに存在し、サーバで実行します。


ならば System.Diagnostics.Process クラスの Start メソッドでしょう。
詳しくは System.Diagnostics.Process クラスのヘルプを参照してください。
http://www.microsoft.com/japan/msdn/library/ja/cpref/html/frlrfsystemdiagnosticsprocessmemberstopic.asp

ただ、大丈夫だとは思いますが、
引用:

GUIはプログレスバーのみ存在します。


のアプリケーションが、ちゃんと自動的に終了する設計かどうか、というのも確認してください。
そうでないと、「実行したはいいが……用済みの幽霊プロセスが残ってしまう」となりかねませんので。
(「ユーザインタフェースを持つ」かどうかを気にしたのは、この点が理由です。)
damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2004-12-03 15:56
こんにちは。

下記をソースに組み込んでみましたが、notepadが起動してaaaa.txtの
中身が見れません。
タスクマネージャで見るとnotepadは起動しているようです。

Process.Start(@"c:\winnt\notepad.exe", "C:\aaaa.txt");
ぢゃん♪
大ベテラン
会議室デビュー日: 2003/06/12
投稿数: 208
お住まい・勤務地: 都内
投稿日時: 2004-12-03 16:47
ああ、心配したとおり……。

引用:

damepgさんの書き込み (2004-12-03 15:56) より:

下記をソースに組み込んでみましたが、notepadが起動してaaaa.txtの
中身が見れません。
タスクマネージャで見るとnotepadは起動しているようです。

Process.Start(@"c:winntnotepad.exe", "C:aaaa.txt");


見えないのは当たり前です。
あくまでも "サーバPCでローカルログオンしていない" リモートユーザ(「ASPNET」や「NETWORK SERVICE」)による実行ですので。

それに、サーバ側でGUIアプリケーションを起動したところで、誰が操作するんですか?
たとえばサーバ側でメモ帳を起動しても、[ファイル(F)]-[終了(X)]なんていう操作を……いったい誰が……。

もし、サーバ側でメモ帳のような、GUI操作の必要なアプリケーションを起動する、ということを期待しているならば、Windows Terminal Services(略してWTS)とかを考えてみてはどうです?

http://www.microsoft.com/japan/windowsserver2003/techinfo/overview/termserv.mspx

[ メッセージ編集済み 編集者: ぢゃん♪ 編集日時 2004-12-03 16:50 ]
1

スキルアップ/キャリアアップ(JOB@IT)