プロが教えるわが家の防犯対策術!

現在VB2005を利用して文字列をプリンタから出力するプログラムを制作しています。
OSがXPのパソコンを使ってこのプログラムを実行すると、印刷できるのですが、OSがVistaのパソコンから実行するとエラーが出てしまいます。
XP・Vistaともに Microsoft.NET Framework 2.0 が入っており、VB2005も正常に動作しています。
また、通常使うプリンタの設定もしています。

実行時に出力されるエラーの内容は下記のとおりです。
//ここから---------------------------------------
System.ComponentModel.Win32Exception: アクセスが拒否されました。
場所 System.Drawing.Printing.StandardPrintController.OnStartPrint(PrintDocument document, PrintEventArgs e)
場所 System.Windows.Forms.PrintControllerWithStatusDialog.OnStartPrint(PrintDocument document, PrintEventArgs e)
場所 System.Drawing.Printing.PrintController.Print(PrintDocument document)
場所 System.Drawing.Printing.PrintDocument.Print()
場所 Admin.B02_10_10_SeatturnPrint.btnPrintOut_Click(Object sender, EventArgs e) 場所 C:\パス\B02_10_10_SeatturnPrint.vb:行 74
//ここまで---------------------------------------

理由がわからず困っています。どうかご助力お願いします。

A 回答 (1件)

とりあえず参考


http://www.microsoft.com/japan/msdn/vstudio/supp …

サービスパックは適用してますよね?
    • good
    • 0
この回答へのお礼

アドバイスいただきありがとうございます。サービスパックは適用しています。
昨日この問題を自力解決することができたので報告させていただきます。
原因はUACでした。UACはWindows Vistaに搭載されたセキュリティ機能で、ウイルスなどの影響を抑えるために、管理者権限のユーザが実行しても、プログラムを通して印刷命令が走るため、命令が実行されないようにするといった機能です。
プロパティを変更してあげると正常に動作するようになりました。
また何か困りましたら質問させていただきます。ありがとうございました。

お礼日時:2008/02/19 00:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!