有没有办法检测特定文件夹是否被用作 Windows 中云存储的本地存储?本地云存储文件夹的默认名称似乎是云提供商的名称(例如 OneDrive、Google Drive、Dropbox),并且本地云文件夹具有独特的图标。本地存储中的文件夹和文件也有额外的图标来指示它们的同步状态。但是,用户可以重命名本地云存储文件夹。是否有任何可从 C# 访问的文件夹属性允许我确定文件夹是否为本地云存储?
当我使用以下注册表项将条目添加到 Windows 资源管理器上下文菜单时:
[HKEY_CURRENT_USER\SOFTWARE\Classes\*\shell]
[HKEY_CURRENT_USER\SOFTWARE\Classes\*\shell\Similar Files]
[HKEY_CURRENT_USER\SOFTWARE\Classes\*\shell\Similar Files\command]
@="%AppData%\\FindAlike\\AddRightClickFile.bat \"%1\""
Run Code Online (Sandbox Code Playgroud)
我收到一个错误
Windows cannot access the specified device, path or file. You may not have the appropriate permissions to access the item.
Run Code Online (Sandbox Code Playgroud)
如果我将文件 AddRightClickFile.bat 复制到 C:\Windows\System32 并将注册表项更改为
[HKEY_CURRENT_USER\SOFTWARE\Classes\*\shell]
[HKEY_CURRENT_USER\SOFTWARE\Classes\*\shell\Similar Files]
[HKEY_CURRENT_USER\SOFTWARE\Classes\*\shell\Similar Files\command]
@="AddRightClickFile.bat \"%1\""
Run Code Online (Sandbox Code Playgroud)
没有错误发生。但是,我想将 AddRightClickFile.bat 存储在 %Appdata%\FindAlike 中。
AddRightClickFile.bat 中的代码是
reg add "HKEY_CURRENT_USER\Software\FindAlike" /f /v "TestFilePath" /t REG_SZ /d %1
Run Code Online (Sandbox Code Playgroud)
有什么方法可以让 .bat 文件从上下文菜单命令运行,同时将它存储在 %AppData% 的子文件夹中?
编辑
我使用以下代码在代码中创建了注册表项:
RegistryKey rk = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Classes\*\shell\Similar Files\command");
string sValue = @"%AppData%\FindAlike\AddRightClickFile.bat ""%1""";
rk.SetValue("",sValue, RegistryValueKind.ExpandString);
Run Code Online (Sandbox Code Playgroud)
并设置 …
在 Mac 桌面上部署 c# 应用程序需要什么软件?MS 已经发布了 Visual Studio 2017 for Mac,但我想可能需要其他应用程序来打包应用程序以供下载和安装。有谁知道需要什么?对于 Windows,VS Professional 包括 InstallShield LE,其他选项是 Wix 和 InstallAware,但我不知道 Mac 桌面应用程序需要什么。
windows ×2
batch-file ×1
c# ×1
cloud ×1
contextmenu ×1
directory ×1
installation ×1
macos ×1
onedrive ×1