- PR -

プロセス処理について

1
投稿者投稿内容
SOLOSA
会議室デビュー日: 2008/01/11
投稿数: 16
投稿日時: 2008-06-03 09:55
PDFファイルの印刷についてご質問です。

以下コードのようにPDF印刷を実行しているのですが、
後処理を追加すると 以下のExceptionエラーが発生してしまします。
(exception)
TargetInvocationExceptionはハンドルされませんでした。
・・・
Application.Run(new Form1());←エラー箇所(エントリポイント)

後処理を追加するとエラー発生することは分かっているのですが、原因が
分りません。なんとなく、プロセス処理に原因があるような気がしてます。

<コード>
ある特定のフォルダを監視しており、フォルダ内にPDFが作成されると印刷実行し、印刷終了後,別のフォルダに移動するという処理です。

//イベントハンドラ
private void FolderWatch_Changed(〜〜){
switch (e.ChangeType){
case System.IO.WatcherChangeTypes.Created:
Print処理関数(e.FullPath);
Move処理関数(e.FullPath, 後処理フォルダフルパス + @"\\" + e.Name);
break;


//Print処理関数
private void Print処理関数(string FileName) {
System.Diagnostics.ProcessStartInfo psi = new system.Diagnostics.ProcessStartInfo();
//パスを取得する
psi.FileName = @"C:\\Program Files\\Adobe\\Reader 8.0\\Reader\\AcroRd32.exe";
//コマンドラインを指定
psi.Arguments = @"/t /n " + FileName;
// 実行
Process p = System.Diagnostics.Process.Start(psi);
// まだ閉じていない場合
if (!p.HasExited)
{
// すぐには閉じれないので1秒待つ
p.WaitForExit(1000);
// AcrobatReaderを閉じる
p.CloseMainWindow();
p.Close();
p.Dispose();
}
}

//Move処理関数
private void Move処理関数(string Start_path,string Dest_path)
{
System.IO.File.Move(Start_path, Dest_path);
}

1

スキルアップ/キャリアアップ(JOB@IT)