问题描述
我一直在创建一个Powershell脚本来显示Toast通知,此代码有效,但是toastnotification对象上有一种我不知道如何使用的方法:
$Load = [Windows.UI.Notifications.Toastnotificationmanager,Windows.UI.Notifications,ContentType = WindowsRuntime]
$Load = [Windows.Data.Xml.Dom.XmlDocument,Windows.Data.Xml.Dom.XmlDocument,ContentType = WindowsRuntime]
[Windows.UI.Notifications.Toastnotificationmanager]::CreatetoastNotifier($App).Show($ToastXml)
查看[Windows.UI.Notifications.Toastnotificationmanager]对象,有一个名为“ GetForUser()”的方法 https://docs.microsoft.com/en-us/uwp/api/windows.ui.notifications.toastnotificationmanager.getforuser?view=winrt-19041
此方法需要Windows.System.User对象作为输入。 https://docs.microsoft.com/en-us/uwp/api/windows.system.user?view=winrt-19041
我尝试了以下代码
$Load = [Windows.System.User,Windows.System,ContentType = WindowsRuntime]
$users = [Windows.System.User]::FindAllAsync()
$ users是没有任何方法的“ System .__ ComObject”。
所以问题是,如何在PowerShell中获得可以与Windows.UI.Notifications.Toastnotificationmanager的GetForUser()方法一起使用的Windows.System.User?
我也尝试过托管代码
$code = @"
using Windows.System;
namespace CUser
{
public static class GetUsers{
public static void Main(){
IReadOnlyList<User> users = await User.FindAllAsync(UserType.LocalUser,UserAuthenticationStatus.LocallyAuthenticated);
User user = users.FirstOrDefault();
}
}
}
"@
Add-Type -TypeDeFinition $code -Language CSharp
但是会出现错误: “类型或名称空间名称'System'在名称空间'Windows'中不存在(是 您缺少程序集引用吗?)“
我不确定哪个程序集或dll包含“ Windows.System”引用。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)