PrintPocketCEでは、PocketPCアプリケーションにおいてPrintPocketCEを使って、Pocket
Wordやリッチテキスト、プレーンテキストファイルからバックグラウンドで印刷できるように、コマンドラインパラメータパススルーをサポートしています。ただし、コマンドラインを使って、直接Eメールの印刷をすることは現在できません。以下のパラメータは、コマンドラインを使ってパスすることができます。
サポートされているコマンドライン /F<filename> -
印刷するフルパス及びファイル名をパスします。このパラメータはPocket Wordまたはリッチテキストまたはプレーンテキストファイルでなければなりません。
/Q - 「クイック印刷」を指定し、「プリンタ選択」ダイアログをスキップします。 /P - 「プレーンテキスト」を指定し、Pocket
Wordまたはリッチテキストをプレーンテキストとして印刷します。 /R<registration code> -
PrintPocketCE登録ライセンスキーをパスし、PrintPocketCEを正式登録版として印刷します。 /E - エクステンドエラーコードをリターンします。
/I - InboxEmailリスト表示からの開始を強制実行します。 /W - Pocket
Wordファイルリスト表示からの開始を強制実行します。 ------------------ Pocket Excel Options ----------------
/A<filename> - 印刷するフルパス及びファイル名をパスします。 /X - Pocket
Excelファイルリスト表示からの開始を強制実行します。 /XAn - Pocket Excel印刷範囲: 0="Full
Spreadsheet", 1="Selection", 2="Populated", 3="Custom"
/XAFn - カスタム印刷範囲 "From" cell /XATn - カスタム印刷範囲
"To" cell /XSn - Sheet to print (0-9) /XZn
- 印刷倍率: 0="Normal - 100%", 1="Fit to Page", 2="Custom"
/XZCn - 印刷倍率カスタムパーセント: 25 - 250 (%) /XHn - 行・列ヘッダーを含める
(1=TRUE, 0=FALSE) /XGn - グリッドラインを含める (1=TRUE, 0=FALSE)
/XBn - 背景色を含める(1=TRUE, 0=FALSE) /XCn - スプレッドシートを中央に揃える
(1=TRUE, 0=FALSE) /XQ - 印刷オプション画面をスキップします(注意:/XQ and /Qを発行すると、すべての設定ダイアログがスキップされます。/XQは/Qを一緒に発行しなくても使用できますが、/XQを発行せずに/Qだけ発行しても、Pocket
Excel印刷オプション画面で「クイック印刷」を選択できますので/Qは無視されます。) リターン値: "GetExitCodeProcess()"
機能を使って、PrintPocketCEが無事印刷したかどうかを確認できます。通常、エラーは0をリターンし、無事プリントしたときは1をリターンします。/Eオプションをパスしていると、GetLastError()機能でリターンするのと同じエラーコード(下記参照)をGetExitCodeProcess()でリターンします。
◆ERROR_SUCCESS ◆ERROR_INVALID_FUNCTION ◆ERROR_OPERATION_ABORTED
◆ERROR_FILE_NOT_FOUND ◆ERROR_PRINT_CANCELLED 例:下記がCreateProcess()を使ってPrintPocketCEで"ActiveSync
EULA.psw"を印刷するときのC言語でのプログラム例です。/Qパラメータでクイック印刷モードを指定し、設定画面をスキップして印刷するよう指定します。
PROCESS_INFORMATION pi; //Start up PrintPocketCE and pass filename and
set QuickPrint mode //(PrintPocketCEを起動し、filenameをパスし、QuickPrintモードを設定します)
bval=CreateProcess(_T("\\Program Files\\PrintPocketCE.exe"), _T("/Q
/F \\My Documents\\ActiveSync EULA.psw"), NULL,NULL,FALSE,0, NULL, NULL,
NULL, &pi); if (bval==0) { //Error starting PrintPocketCE //(PrintPocketCE起動エラー)
dval=GetLastError(); } else { // Lets wait until PrintPocketCE finishes
printing //(PrintPocketCEが印刷を終了するまで待ちます) CloseHandle(pi.hThread);
WaitForSingleObject(pi.hProcess, INFINITE); //PrintPocketCE is done... lets
see if it was successful //(PrintPocketCEが終了しました。無事終了したかどうか待ちます) DWORD
dwExit; GetExitCodeProcess(pi.hProcess, &dwExit); if (dwExit==0) {
//Handle error //(ハンドルエラー) } CloseHandle(pi.hProcess); }
Pocket Excelのファイルを印刷したい場合、上記のCreateProcessコールを以下のように変更することによって実行することが可能です。
bval=CreateProcess(_T("\\Program Files\\PrintPocketCE.exe"),
_T("/Q /XQ /XA0 /XS0 /XZ1 /XH1 /XG0 /XB1 /XC1 /A \\My Documents\\Invoice.pxl"),
NULL,NULL,FALSE,0, NULL, NULL, NULL, &pi); |