メインコンテンツへスキップ
  1. Posts/

スクリーンショット画像の連番を変更するVBScript

·2 分· loading · loading · · ·
VBScript
kame404
著者
kame404
こんにちは! kame404 です🥰 「軽さ」と「美味しさ」を両立した食べ物のCGを作ります。
目次

Windowsでは、PrentScreen + Windowsキーを押すことでスクリーンショットを撮ることができますが、保存される画像名はScreenshot (24).pngのように連番が付与されます。この連番の数字は、以下のレジストリの箇所を編集することで変更することができます。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ScreenshotIndex

しかし、いちいちレジストリを編集するのは面倒なので、VBScriptを作りました。

kame404/Screenshot-Index-Updater

A simple VBScript to update the Screenshot Index value in the Windows Registry.

VBScript
1
0

使い方
#

実行は自己責任でお願いします
  1. VBScriptをダウンロードする
  2. ダウンロードしたファイルを展開して実行する
    管理者権限が必要かもしれません
  3. 任意の数字を入力する

スクリプト
#

実行がブロックされる場合は、以下のスクリプトをメモ帳などのテキストエディタに保存して実行できます。

Option Explicit

Dim regKey, value, newValue
Const HKEY_CURRENT_USER = &H80000001

Set regKey = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
regKey.GetDWORDValue HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Explorer", "ScreenshotIndex", value

newValue = InputBox("Current ScreenshotIndex value is " & value & ". Please enter the new value:", "Update ScreenshotIndex", value)

If Not IsNull(newValue) And newValue <> "" Then
  If IsNumeric(newValue) Then
    If CLng(newValue) >= 0 And CLng(newValue) <= 9999999 Then
      regKey.SetDWORDValue HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Explorer", "ScreenshotIndex", CLng(newValue)
      MsgBox "ScreenshotIndex value has been updated from " & value & " to " & newValue & "."
    Else
      MsgBox "Invalid input. ScreenshotIndex value must be a number."
    End If
  Else
    MsgBox "Invalid input. ScreenshotIndex value must be a number."
  End If
Else
  MsgBox "No update made."
End If

フローチャート
#

graph TB A(Get current value of ScreenshotIndex) --> B[Input new value for ScreenshotIndex] B --> |OK| C{Is new value a number?} C --> |Yes| D[Is new value between 0 and 9999999?] D --> |Yes| E[Update ScreenshotIndex to new value] D --> |No| F(Show Invalid input ScreenshotIndex value must be a number.) C --> |No| F E --> G(Show ScreenshotIndex value has been updated.) B --> |Cancel| H(No update made.)