CGI-BBS > CGI > Perl > ブラウザからnotepadを起動することは可能でしょうか?


カレッヂ
カレッヂ


質問者 Perlを使いこなしたい  投稿日 2006/9/26(火) 17:20:31
ブラウザからPerlを使ってnotepadを起動することは可能でしょうか?
※notepadはサーバー側で起動してかまいません。

以下のようなCGIを書いてみたのですが
コマンドプロンプトでperl test.cgiでは動いたのですが、
ブラウザからでは起動しませんでした。

【test.cgi】
#!c:\perl\bin\perl
system(1,'notepad.exe');
print "Content-Type:text/html \n\n";
print << "__HTML__";
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>印刷テスト画面</title>
</head>
<body>
ノートパッド起動しました。
</body>
</html>
__HTML__

ちなみに
system(1,'notepad.exe'); の所を system(1,'dir');
としたら普通に動きました。

【環境】
WindowsXP,Apache2.2,Perl5.8.8

宜しくお願いいたします。

【習熟度】多少の設置経験

回答者 nobody  [削除]  投稿日 2006/9/28(木) 21:14:48
運が良ければ、これで動くかも知れません...

まず、Administrators(管理者)権限でログインします。つぎに、サービスからではなく、手動でApacheを起動します。
もし、Apacheがサービスとして起動しているのであれば、それを停止させてから、手動でApacheを起動します。

※Apacheの手動での起動方法は、Apacheをインストールしたディレクトリにある、
 \bin\httpd.exeを、ダブルクリックするだけです。

運がよければ、これだけで動くようになると思います。

ちなみに、ご希望のような動作には、Win32::Processモジュールを利用されるほうが良いでしょう。
また、自己のレベルアップには良い事だと思いますが、Windowsシステムの理解に自信が持てないようであれば、
実用として使うのは避けたほうが宜しいと思いますよ。Windowsシステムの隠れた特権を悪用される可能性もあります。

質問者 Perlを使いこなしたい  [削除]  投稿日 2006/9/29(金) 10:21:33
nobody様 ご返信ありがとうございます。

httpd.exeをダブルクリックで運よく起動できました。
ただ、これがどういう意味なのか理解できておりません。
※Apacheのセキュリティに関わる設定情報あたりを読み込まずに
 http通信だけできているのかな〜? と憶測しております。

Win32::Processモジュールについては、まだ確認しておりません。
勉強したいと思います。

>また、自己のレベルアップには良い事だと思いますが、
>Windowsシステムの理解に自信が持てないようであれば、
>実用として使うのは避けたほうが宜しいと思いますよ。
>Windowsシステムの隠れた特権を悪用される可能性もあります。

ご忠告ありがとうございます!
Windowsシステムの隠れた特権というのが分からないので、
理解できるようになってから実用として使いたいと思います。


このページは終了したので返信(回答)は書きこめません
 


Web裏技