SCCLient.exe: C# Windows Служба работает как система, как мне открыть URL-адреса CCM_Application? - PullRequest
0 голосов
/ 13 марта 2020

SCClient.exe может открываться для указанного c пакета модели приложения (CCM_Application) через URL-адреса, отформатированные как softwarecenter: SoftwareID = {вставьте здесь свойство идентификатора CCM_Application Id}. У меня есть windows служба в C#, которая пытается оценить, доступен ли пакет модели приложения пользователю с помощью класса WMI:

ROOT\CCM\CLIENTSDK\CCM_Application.

Если пакет доступно, я хочу запустить URL-адрес приложения, которое затем откроет scclient для пользователя с scclient, отображающим информацию о приложении. Поскольку я работаю как система, следующее не работает

Process.Start(softwarecenter:SoftwareID=someRandomAppId)

Процесс запускается, но пользовательский интерфейс отсутствует, поскольку процесс запускается в контексте системы. Таким образом, я нахожусь в ситуации, когда мне нужно запустить этот URL-адрес как пользователь, а просто использовать win32Api.dll для олицетворения вошедшего в систему пользователя и запустить URL-адрес, так как пользователь не будет работать, так как по какой-то причине URL-адрес отсутствует ' не распознается, даже если URL-адрес распознается, когда я пытаюсь использовать Process.Start (URL) в консольном приложении.

...