gpt4 book ai didi

windows - 用于创建具有属性的快捷方式的 Powershell 脚本

转载 作者:行者123 更新时间:2023-12-04 17:19:30 26 4
gpt4 key购买 nike

我正在关注这个msdn文档。我想创建一个具有两个属性 AppUserModelIdToastActivatorCLSID 的快捷方式。我如何使用 powershell 实现此目的。

基本上我想转换以下代码并通过 powershell 脚本创建快捷方式。

_Use_decl_annotations_
HRESULT DesktopToastsApp::InstallShortcut(PCWSTR shortcutPath, PCWSTR exePath)
{
ComPtr<IShellLink> shellLink;
HRESULT hr = CoCreateInstance(CLSID_ShellLink, nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&shellLink));
if (SUCCEEDED(hr))
{
hr = shellLink->SetPath(exePath);
if (SUCCEEDED(hr))
{
ComPtr<IPropertyStore> propertyStore;

hr = shellLink.As(&propertyStore);
if (SUCCEEDED(hr))
{
PROPVARIANT propVar;
propVar.vt = VT_LPWSTR;
propVar.pwszVal = const_cast<PWSTR>(AppId); // for _In_ scenarios, we don't need a copy
hr = propertyStore->SetValue(PKEY_AppUserModel_ID, propVar);
if (SUCCEEDED(hr))
{
propVar.vt = VT_CLSID;
propVar.puuid = const_cast<CLSID*>(&__uuidof(NotificationActivator));
hr = propertyStore->SetValue(PKEY_AppUserModel_ToastActivatorCLSID, propVar);
if (SUCCEEDED(hr))
{
hr = propertyStore->Commit();
if (SUCCEEDED(hr))
{
ComPtr<IPersistFile> persistFile;
hr = shellLink.As(&persistFile);
if (SUCCEEDED(hr))
{
hr = persistFile->Save(shortcutPath, TRUE);
}
}
}
}
}
}
}
return hr;
}

我写了一个简单的脚本来创建快捷方式,但不确定如何标记上述两个 Prop

function set-shortcut {

param ( [string]$SourceLnk, [string]$DestinationPath )

$WshShell = New-Object -comObject WScript.Shell

$Shortcut = $WshShell.CreateShortcut($SourceLnk)

$Shortcut.TargetPath = $DestinationPath

$Shortcut.Save()

}

最佳答案

为什么不直接使用 MS powershellgallery.com 中的预构建模块/脚本来确定它们是否解决了您的用例,而不是从头开始重写。除非这是一种学习努力。尽管如此,查看下面的底层代码可能会有所帮助。

Find-Module -Name '*shortcut*'

# Results
<#
Version Name Repository Description
------- ---- ---------- -----------
2.2.0 DSCR_Shortcut PSGallery PowerShell DSC Resource to create shortcut file.
...
1.0.6 PSShortcut PSGallery This module eases working with Windows shortcuts (LNK and URL) files.
...
#>


Find-Script -Name '*Shortcut*'
# Results
<#
Version Name Repository Description
------- ---- ---------- -----------
...
1.0.0.0 New-DeskTopShortCut PSGallery Create a desktop shortcut
#>

关于windows - 用于创建具有属性的快捷方式的 Powershell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67116442/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com