Несколько странная задача:
Есть библиотека на C под Windows 64-bit, в которой есть функция
process(char *command)
которая запускает процесс следующим образом:
f = popen(command, "r");
fread(f, ......);
pclose(f);
Соотвественно, command будет выполнена через cmd.exe
Задача следующая: запустить некое приложение myapp, чтобы оно запустилось
после(!) того, как произойдёт возврат из функции process.
Грубо говоря, нужно запустить фоновый процесс, а из него приложение myapp с задержкой.
Пробовал 3 метода:
- Передавать в качестве command такую строку
start "" cmd /c \"timeout 3 && myapp\"
-- не работает, всё равно происходит ожидание, так как cmd не завершается до окончания запущенной задачи
- Запускать powershell, а из него Start-Job -- не работает, powershell не завершается до окончания фоновой задача, т.е. всё равно происходит ожидание
- Использовать schtasks /sc once -- как-то работает, но запускать может только в целое число минут, нельзя указать секунды
Условие такое: библеотеку менять нельзя, запускать процесс можно только через process().
Винда голая, есть только базовые приложения.