У меня есть сервис, который должен добавить URL-адреса в кеш IE вошедшего в систему пользователя
Для этого я сначала получаю токен пользователя с OpenProcessToken и позвонить ImpersonateLoggedOnUser
Я попытался добавить URL с помощью 2 методов
CommitUrlCacheEntryW(urlToEnterWithPrefix, 0, ExpireTime, LastModifiedTime, URLHISTORY_CACHE_ENTRY | NORMAL_CACHE_ENTRY, NULL, 0, NULL, NULL);
Оба метода работают нормально, когда процессы выполняются от имени вошедшего в систему пользователя, но не работают, когда он работает под локальной системой
CommitUrlCacheEntryW статистика документации, которая:
WinINet не поддерживает серверные реализации. Кроме того, это
не должны использоваться из службы. Для серверных реализаций или
службы используют службы Microsoft Windows HTTP (WinHTTP).
Но я не мог найти какой-либо метод в WinHTTP что соответствует CommitUrlCacheEntryW
Я хотел бы помочь со следующими вопросами:
После изменения API CommitUrlCacheEntryW я обнаружил, что он проверяет
Если какая-либо из проверок верна, она существует с кодом ошибки 0x80070078
Итак, то, чего я хотел достичь, невозможно из сервиса
Других решений пока нет …