2016-05-05 109 views
0

在我的C#應用​​程序中,我使用ITask Task Scheduler界面來創建Task into Task Scheduler。我可以創建任務,但在分配應用程序名稱時遇到問題。 每次我創建一個任務「啓動程序」(應用程序名稱)不包含在雙引號中,即使我從代碼中追加雙引號並使用ITask::SetApplicationName()方法設置應用程序名稱,它不起作用。ITask :: SetApplicationName具有空間問題的應用程序名稱

當我嘗試從任務計劃程序編輯任務時出現真正的問題。實際的路徑和參數被搞砸了(請參考圖片)。 「G:\ Some Name WithSpace \ Build \ Some.exe」這是我的實際應用程序名稱。

enter image description here

注意:如果我從MS任務計劃程序創建相同的它用雙引號追加。

+0

你逃避的原始字符串的引號中使用雙引號的應用程序路徑的方式嗎? MS代碼正在解析您的命令行以達到「C:\ App Args」的合理預期。請嘗試「\」C:\ App Args \「」? –

+0

@KenBrittain,是的,但也沒有用。一旦將該值傳遞給ITask :: SetApplicationName()方法,它將不使用引號進行分配。 – Davy

回答

0

嘗試過許多不同的方式與ITask :: SetApplicationName()方法,並沒有工作過,最後發現使用Task Scheduler Managed Wrapper

using (TaskService ts = new TaskService(@"\\RemoteServer")) 
{ 
    TaskDefinition td = ts.NewTask(); 
    td.RegistrationInfo.Description = "Does something"; 

    // Create an action that will launch Notepad whenever the trigger fires 
    td.Actions.Add(new ExecAction("notepad.exe", "\"c:\\Some Folder\\test.log\"", null)); 

    // Register the task in the root folder 
    ts.RootFolder.RegisterTaskDefinition(@"Test", td); 
} 
相關問題