Convertir AUMID en nom d’application C #

Étant donné AppUserModelID (AUMID) Existe-t-il un moyen d’obtenir le nom de l’application à partir de ces données (sans tenter de manipuler une chaîne sur AppUserModelID)?

Je cherche un appel api pour gérer ceci ou quelque chose de ce genre.

Dans le cas ci-dessous, le nom de l’application serait “Microsoft Edge”.

 

Comment puis-je modifier le code suivant pour accepter un AUMID au lieu d’un nom d’application.

 function Pin-App { param( [ssortingng]$appname, [switch]$unpin ) try{ if ($unpin.IsPresent){ ((New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() | ?{$_.Name -eq $appname}).Verbs() | ?{$_.Name.replace('&','') -match 'Unpin from Start'} | %{$_.DoIt()} return "App '$appname' unpinned from Start" }else{ ((New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() | ?{$_.Name -eq $appname}).Verbs() | ?{$_.Name.replace('&','') -match 'Pin to Start'} | %{$_.DoIt()} return "App '$appname' pinned to Start" } }catch{ Write-Error "Error Pinning/Unpinning App! (App-Name correct?)" } } 

cette fonction powershell fonctionnera en fournissant “Microsoft Edge” comme nom de l’application.

Si vous souhaitez rechercher une application Store / UWP dans le shell:AppsFolder par son filtre AUMID par l’atsortingbut Path au lieu de par son nom. Pour les applications Store, l’atsortingbut Path contient le AUMID de l’application.

Notez que pour les applications de bureau, l’atsortingbut Path donne un chemin réel à l’exécutable.

Au lieu d’essayer de trouver le nom de l’application à partir de l’AUMID, ajoutez-les simplement à l’aide de leur AUMID.

Jeez:

 function Pin-App { param( [ssortingng]$aumid, [switch]$unpin ) try{ if ($unpin.IsPresent){ ((New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() | ?{$_.Path -eq $aumid}).Verbs() | ?{$_.Name.replace('&','') -match 'Unpin from Start'} | %{$_.DoIt()} return "App '$aumid' unpinned from Start" }else{ ((New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() | ?{$_.Path -eq $aumid}).Verbs() | ?{$_.Name.replace('&','') -match 'Pin to Start'} | %{$_.DoIt()} return "App '$aumid' pinned to Start" } }catch{ Write-Error "Error Pinning/Unpinning App! (App-Name correct?)" } }