右键菜单的配置可以通过修改注册表实现。其基本项架构是如下配置,其中 command 参数可以是 %1 或 %V 或 %V %1 或 %V %1 %2 等。不同位置右键的配置位置不同,可以分为三类。
1 2 3 4 5
   | XXX/     (Default)='通过 XXX打开'     Icon='C:\Users\Administrator\Desktop\XXX.exe'     command/         (Default)="`"$exe_path`" `"%1`""
   | 
选中文件时的右键菜单:
相关内容在 Registry::HKEY_CLASSES_ROOT\*\shell 下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
   | $exe_path='C:\Users\Administrator\Desktop\Cursor.exe' $program_name='Cursor' $message='通过Cursor打开' $reg_base_path='Registry::HKEY_CLASSES_ROOT\*\shell' $reg_path="$reg_base_path\$program_name" $reg_command_path="$reg_path\command"
  if (-not (Test-Path $reg_path)) {     New-Item $reg_path -Force }
  Set-ItemProperty -Path $reg_path -Name '(Default)' -Value $message New-ItemProperty -Path $reg_path -Name 'Icon' -Value $exe_path
  New-Item -Path $reg_command_path -Force Set-ItemProperty -Path $reg_command_path -Name '(Default)' -Value "`"$exe_path`" `"%1`""
   | 
 
选中文件夹时的右键菜单:
相关内容在 Registry::HKEY_CLASSES_ROOT\Directory\shell 下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
   | $reg_base_path='Registry::HKEY_CLASSES_ROOT\Directory\shell' $program_name='Cursor' $message='通过Cursor打开' $reg_path="$reg_base_path\$program_name" $reg_command_path="$reg_path\command"
  if (-not (Test-Path $reg_path)) {     New-Item $reg_path -Force }
  Set-ItemProperty -Path $reg_path -Name '(Default)' -Value $message New-ItemProperty -Path $reg_path -Name 'Icon' -Value $exe_path
  New-Item -Path $reg_command_path -Force Set-ItemProperty -Path $reg_command_path -Name '(Default)' -Value "`"$exe_path`" `"%1`""
   | 
选中文件夹背景时的右键菜单:
相关内容在 Registry::HKEY_CLASSES_ROOT\Directory\Background\shell 下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
   | $reg_base_path='Registry::HKEY_CLASSES_ROOT\Directory\Background\shell' $program_name='Cursor' $message='通过Cursor打开' $reg_path="$reg_base_path\$program_name" $reg_command_path="$reg_path\command"
  if (-not (Test-Path $reg_path)) {     New-Item $reg_path -Force }
  Set-ItemProperty -Path $reg_path -Name '(Default)' -Value $message New-ItemProperty -Path $reg_path -Name 'Icon' -Value $exe_path
  New-Item -Path $reg_command_path -Force Set-ItemProperty -Path $reg_command_path -Name '(Default)' -Value "`"$exe_path`" `"%V`""
   |