Я пишу код для планирования задачи 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);
Пожалуйста, дайте мне несколько советов, заранее спасибо.