コード例 #1
0
        // ====================================================================================================
        //
        // ====================================================================================================
        public static bool SatoOpen(ref IntPtr Handle, string PrintName, string DocumentName, ref string ErrMsg)
        {
            bool SatoOpenFLG = false;

            try
            {
                typDocInfo sDocInfo = new typDocInfo();
                Int32      Level    = 1;

                // プリンタハンドルを取得します
                if (!OpenPrinter(PrintName, ref Handle, IntPtr.Zero))
                {
                    ErrMsg = "プリンタハンドルの取得に失敗しました。";
                    return(SatoOpenFLG);
                }

                // 印刷ジョブの設定
                sDocInfo.strDocName    = DocumentName;
                sDocInfo.strOutputFile = null;
                sDocInfo.strDatatype   = null;

                // 印刷のために文書がスプールされたことを印刷スプーラに通知します
                if (!StartDocPrinter(Handle, Level, sDocInfo))
                {
                    ErrMsg = "スプーラの通知に失敗しました。";
                    return(SatoOpenFLG);
                }

                SatoOpenFLG = true;
            }
            catch (Exception e)
            {
                // ====================================================================================================
                // エラーが発生した場合にエラー時の処理を記述します
                // ====================================================================================================
                ErrMsg = e.Message;
            }

            // 戻り値の設定
            return(SatoOpenFLG);
        }
コード例 #2
0
 private static extern bool StartDocPrinter(IntPtr hPrinter, Int32 level, [In, MarshalAs(UnmanagedType.LPStruct)] typDocInfo di);