通知
すべてクリア
Topic starter
2005年4月11日 9:17 AM
WinXP SP1、VC++6.0です
ファイルがあるフォルダにあると自動で検知し、色変換、解像度変換を行って印刷するプ
ログラムを作っています
連続してファイルが検知されると、処理をシーケンシャルに実行していきます
このとき、OSのスプーラーに印刷するドキュメントが、ある一定のサイズ(どうも、物理
メモリサイズのように思える)を超えると、印刷するプリンタのヘッドがさくさく動かな
くなります
これを、回避するために、OSのスプールの状態を見て、処理を実行するかしないか判断す
るようにしたいのですが、スプールの状況を取得できる関数はありますか?
取得したい情報は、
・スプールにたまっているドキュメントの数
・スプールにたまっているドキュメントの個々のサイズ
です
よろしくお願いします
2005年4月11日 9:47 AM
EnumJobs ?
外してたらご容赦。
Topic starter
2005年4月21日 5:05 PM
いろいろ試した結果、スプーラの状態は取得できませんでした
さらに考えた結果、以下で取得した利用可能メモリサイズが小さくなると、速度が遅くな
ることが分かったので、任意のサイズ以下になったら印刷処理を行わないようにしました
MEMORYSTATUS memStat;
memStat.dwLength = sizeof(MEMORYSTATUS);
GlobalMemoryStatus(&memStat);
DWORD avPhys = memStat.dwAvailPhys;