プログラムでワークフローを開始することは、それに関する多くの投稿やスレッドのおかげで、もはや問題ではありません。間違いなく答えは、適切なパラメーターを指定して以下のメソッドを使用することです。
SPWorkflowManager.StartWorkflow(...)
上記の方法を使用するたびに、アイテムに対してワークフローが問題なく実行されます。(リスト ビューでワークフロー ステータスをクリックして) ワークフロー履歴ページに移動すると、ワークフローの開始者がシステム アカウント (開始者: システム アカウント) に設定されていることがわかります。さて、問題は、上記の方法を使用してワークフローを開始し、特定のユーザーとして実行できるかどうかです。