- - PR -
ASP.NETでデフォルトプリンタを切り替えたい
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-03-08 14:02
Webアプリケーションを作成しています。
そのアプリケーションでは、デフォルトプリンタに対して印刷を実行するため、 デフォルトプリンタを切り替えて出力先を変えたいと考えています。 しかし、SetDefaultPrinterでデフォルトプリンタが切り替わりません。 ---------- <%@ Page Language="VBScript" Debug="true" AspCompat="true" runat="server" %> <html> <body> <% Dim PrinterName = "プリンタ名" Dim WshNetwork = Server.CreateObject("WScript.Network") WshNetwork.SetDefaultPrinter( PrinterName ) Dim pd As New System.Drawing.Printing.PrintDocument Dim dpn = pd.PrinterSettings.PrinterName %> デフォルトプリンタは<% Response.Write( dpn ) %>です。</p> </body> </html> ---------- 上記Webアプリケーションを動かしても、出力されるのは もともと設定されていたデフォルトプリンタ名です。 このWebアプリケーションは、ASP.NETの偽装機能で Administratorに割り当ててあります。 Administratorは"プリンタ名"プリンタにアクセス出来るので、 アクセス権限の問題では無いと思っています。 実際、上記処理をWSHに書き換えて、Administratorでログオンして 実行すると、デフォルトプリンタが切り替わりました。 Webアプリケーション内でEnumPrinterConnectionsメソッドを 使ってネットワークプリンタ一覧を取得すると読み出せたため、 プリンタへのアクセスは出来ていると思われます。 また、デフォルトプリンタへの出力も正常に出来ています。 どうにも原因がわかりません。どなたかアドバイスをお願いします。 | ||||||||
|
投稿日時: 2006-03-08 14:42
クライアント側のデフォルトプリンタを変更してサーバ側で確認しているように見えるんだが。。。
| ||||||||
|
投稿日時: 2006-03-08 15:14
スクリプトコードはサーバサイドでしか動いていないはずですが…。 念のためにサーバからクライアントに届くパケットをチェックしましたが、 スクリプトコードはまったく含まれていませんでした。 | ||||||||
|
投稿日時: 2006-03-08 21:37
Adiminstrator に偽装しているんですよね?Administrator のデフォルトプリンタが変わっていたりして。 | ||||||||
|
投稿日時: 2006-03-09 08:43
Administratorでログオンして確認しましたが、デフォルトプリンタは 変わっていませんでした。 Webアプリケーションは今のところAdministratorのアカウントで 動かしているので、Administratorのデフォルトプリンタが 変わっていたら、それはそれでOKなんですが…。 | ||||||||
|
投稿日時: 2006-03-09 09:06
PrinterName の実際の値は、Administrator でのプリンタ名でなければならないと思いますが、 プリンタ フォルダの名称で設定しているのでしょうか? ローカルのプリンタなどは試されました? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-03-09 09:14
実際には"プリンタ名"のところには、Administratorでログインして プリンタ一覧を表示した際に表示されるプリンタ名を設定しております。 EnumPrinterConnectionsで取得されるプリンタ名も同じ名称なので、 これで正しいと思っているのですが…。 |
1