Как передать параметры в планировании задачи Windows в C ++? - PullRequest
1 голос
/ 19 сентября 2019

Я пишу код для планирования задачи Windows (программа C ++ .dll), используя код из MSDN Пример запуска по времени .Я не могу понять, как передать параметр командной строки в мой .dll, в примере только путь к исполняемому файлу, как показано ниже,

wstring wstrExecutablePath = _wgetenv( L"WINDIR");
wstrExecutablePath += L"\\SYSTEM32\\NOTEPAD.EXE";

, но для запуска этого файла DLL полная команда должна бытьrundll32.exe "c:\\test.dll" MainFunction для XP и rundll32.exe c:\\test.dll MainFunction для win10

, поэтому я не могу добиться этого на примере Microsoft, нет способа передать параметры в.

также я пытался использовать функцию WinExec (кодкак показано ниже), он преуспевает в win10,

WinExec("schtasks /Create /TN WIN10 /SC DAILY /ST 10:00 /TR \"RUNDLL32.EXE c:\\test.dll MainFunction\"",SW_NORMAL);

, но терпит неудачу в winXP (с последующим кодом), так как в WinXP ему нужно "" для пути к файлу, поэтому действие в планировщике задач должно быть rundll32.exe "c:\test.dll" MainFunction,

WinExec("schtasks /create /TN XP /TR \"rundll32.exe C:\\test.dll MainFunction\" /SC DAILY /ST 10:00:00 /RU System", SW_NORMAL);

Пожалуйста, дайте мне несколько советов, заранее спасибо.

...