1

CreateProcessAsUser作成したサービスを使用して、アプリケーションとプロセスを起動しようとしています。メモ帳、IE などのアプリケーションを開く試みは成功しました。しかし、UWP アプリケーションである Groove Music を開こうとすると障害が発生します。

コマンド プロンプトから Groove Music を開こうとすると、フォルダが非表示になり、アクセスが拒否されました。

STARTUPINFO si;
PROCESS_INFORMATION pi;
LPTSTR szCmdline = _tcsdup(TEXT("C:\Program Files\WindowsApps\Microsoft.ZuneMusic_10.18102.10531.0_x64__8wekyb3d8bbwe\Music.UI.exe"));
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
HANDLE t1,t2;
OpenProcessToken(gethandle(_T("explorer.exe")), TOKEN_DUPLICATE | TOKEN_QUERY | TOKEN_ASSIGN_PRIMARY | TOKEN_ADJUST_PRIVILEGES , &t2);
DuplicateTokenEx(t2, 0, NULL, SecurityImpersonation,TokenPrimary, &t1);
CreateProcessAsUser(t1,NULL,szCmdline,NULL,NULL,TRUE,0,NULL,NULL,&si,&pi)) 

私が書いたプログラムから UWP アプリケーションを起動する方法はありますか? または、明らかな方法がありませんか?

4

1 に答える 1