🟩 もくじ
Windowsをローカルアカウントでインストールする|Microsoftはあなたのデータを盗む
■【プライバシーを守れ】なぜMicrosoftアカウントは嫌われるのか?ローカルアカウントとの違いを徹底解説【利便性と引き換え】
■【Windows 11 22H2】インストール時のMicrosoft アカウント必須を回避!インストール後のローカルアカウント変更方法も徹底解説
- Windowsをインストールするときは、必ずローカルアカウントでインストールしないと、とんでもない目に遭う。
- WindowsをMicrosoftアカウントでインストールすると、いくつかのフォルダーが勝手にOneDriveと同期され、[OneDriveの容量が足りないから金を払え]と脅される仕組みになっている、とんだボッタクリ商法である。
Windowsの設定を[個人のプライバシーを保護する]ように設定し直す|Microsoftはあなたのデータを盗む
■個人のプライバシーを保護する:Windows 11と10による設定の見直し方法│知識と情報のお宝WEBサイト
Open-Shell
■GitHub - Open-Shell/Open-Shell-Menu: Classic Shell Reborn.
普段使いのインターネット・ブラウザーは、Firefoxがおすすめ|Linuxの多くのディストリビューションにおいて、Firefoxがプレインストールされる仕様になっている
■デスクトップ、モバイル、エンタープライズ用 Firefox をダウンロード - Mozilla
GeekUninstaller|インストール済みソフトウェア一覧表出力機能
■「GeekUninstaller」アプリケーションのアンインストールを支援するソフト - 窓の杜
AutoHotKey
[AutoHotKey.ahk]の中で日本語の文字置換をする場合は[AutoHotKey|v1.1]ではなく[AutoHotKey|v2.0]が必要になる
■AutoHotKey v1->v2への移行 ~Emacs-likeなキーバインド設定編~ #Windows - Qiita
■Changes from v1.1 to v2.0 | AutoHotkey v2
公開されているコードの多くが[AutoHotKey|v1.1]のコードであるため、[AutoHotKey|v1.1]のコードを[AutoHotKey|v2.0]のコードに自動置換するユーティリティを使う必要もある
※[自動置換するユーティリティ]は完全ではなく、[AutoHotKey.ahk]を走らせてみて、エラーコードを見て、コードを手直しする必要もある。
■GitHub - mmikeww/AHK-v2-script-converter: AHK v1 -> v2 script converter
[AutoHotKey.ahk]ファイルの中身[AutoHotKey|v2.0]をインストールし、かつ、[AutoHotKey|v2.0]のコードでコーディングしなければ、[AutoHotKey.ahk]の中で日本語の文字置換をするコードは稼働しない
; 2025-05-07 23:09更新
; AutoHotkeyはWindows専用であり、Linux・macOSには非対応である。
; AutoHotkey.exe〔メイン実行ファイル〕とAutoHotkey.ahk〔デフォルトスクリプト〕の
; [AutoHotkey]というファイル名部分をリネームする場合は、
; 実行ファイルとスクリプトのベース名を必ず一致させる必要がある。
; 例:MyScript.exe と MyScript.ahk のように揃える。
; AutoHotkey.exeは、Windowsのログインセッションごとに
; 複数プロセスを起動できるが、
; 同一スクリプトの多重起動はデフォルトで排他制御され、
; 既存プロセスが優先され、新規プロセスは終了される。
; AutoHotkey.ahk〔スクリプトファイル〕は
; 文字コードを[UTF-8 with BOM:必須]、
; 改行コードを[CR+LF(Windows形式):推奨]で保存する。
; ■<a href="https://www.onlinemictest.com/ja/keyboard-test/" target="_blank" rel="nofollow">キーボードテスト – あなたのキーボードをテストしましょう</a><br>
; ●●●[AHK Quick Convertor V2]を使ってコードをコンバートしてある
; ■<a href="https://github.com/mmikeww/AHK-v2-script-converter?tab=readme-ov-file" target="_blank" rel="nofollow">GitHub - mmikeww/AHK-v2-script-converter: AHK v1 -> v2 script converter</a><br>
; 全角/半角|vkF3 または vkF4
; 変換|vk1C
; 無変換|vk1D
; カタカナ/ひらがな/ローマ字|vkF2
; windows|#
; Alt|!
; Ctrl|^
; Shift|+
; 左のモディファイアキーを使用(NT系専用)|<
; 右のモディファイアキーを使用(NT系専用)|>
; AutoHotkey 2.0:空白文字:\s = [ `t`r`n]
; AutoHotkey 2.0:空白文字以外:\S = [^ `t`r`n]
; グローバル変数は、最新のAutoHotkey 2.0以上では、何もしなくても、以下のように宣言するだけで常駐する
; global jpChars := "一-龯ぁ-ゖァ-ヶ0-9A-Za-z!-/:-@[-`{-~ 〜々〆〻「」『』【】《》〈〉“”‘’・…※"
; global Hankaku := "[!-~&&[^.?!]]"
global jpChars := "一-龯ぁ-んァ-ヶーA-Za-z0-9!-/:-@[-`{-~ 々〆〻「」『』【】《》〈〉“”‘’・…※〜"
global hankaku := "!-~"
ScrollLock::Send "^!1"
+Pause::Send "^!3"
Pause::Send ("^!2")
; Shift + Alt + Tを押すと、Ctrl + Alt + 0〔更新時刻取得〕を押したことにする。
+!t::Send "^!0"
; Shift + Alt + Iを押すと、Ctrl + Alt + 1〔更新時刻取得〕を押したことにする。
+!i::Send "^!1"
; Shift + Alt + Cを押すと、Ctrl + Alt + 2〔LibreOffice Calc〕を押したことにする。
+!c::Send "^!2"
; Shift + Alt + Dを押すと、Ctrl + Alt + y〔Hugo実行〕を押したことにする。
+!d::Send "^!y"
; Shift + Alt + Bを押すと、Ctrl + Alt + x〔BunBackup〕を押したことにする。
+!b::Send "^!x"
; Shift + Alt + Gを押すと、Ctrl + Alt + 7〔BlueGriffon〕を押したことにする。
+!g::Send "^!7"
; Shift + Alt + Sを押すと、Ctrl + Alt + 5〔サクラエディタでファイルを開く〕を押したことにする。
+!s::Send "^!5"
; Shift + Ctrl + 7 でバッククォート〔AutoHotkeyのエスケープ文字〕を入力
+^7::Send "{text}``"
; AutoHotkey v2.0で Shift + Alt + M を押した際にサクラエディタでのソートの後にマージする
+!m::
{
Send "{Ctrl Down}" ; Ctrlキーを押す
Send "v" ; vキーを入力
Send "a" ; aキーを入力
Send "{Ctrl Up}" ; Ctrlキーを離す
Send "{Alt Down}" ; Altキーを押す
Send "a" ; aキーを入力
Send "m" ; mキーを入力
Send "{Alt Up}" ; Altキーを離す
Send "{Enter}" ; Enterキーを入力
Send "{Ctrl Down}" ; Ctrlキーを押す
Send "a" ; aキーを入力
Send "c" ; cキーを入力
Send "{Ctrl Up}" ; Ctrlキーを離す
}
; ●●●Windowsキー + w キーを同時押ししてWZ Editor 10を起動する
#UseHook ; UseHookをOnにした状態で使用
#w::
{
key := "w"
ErrorLevel := !KeyWait(key, "T0.3")
If(ErrorLevel){ ; 長押しした場合
Run("C:\Program Files (x86)\sakura\sakura.exe C:\Users\" A_UserName "\Documents\note-archive.html")
ErrorLevel := !KeyWait(key)
return
}
ErrorLevel := !KeyWait(key, "D, T0.2")
If(!ErrorLevel){ ; 2度押しした場合
Run("C:\Program Files (x86)\sakura\sakura.exe C:\Users\" A_UserName "\Documents\bookmarkstoday.html")
ErrorLevel := !KeyWait(key)
return
}else{ ; 短押しした場合
Run("C:\Program Files\WZ EDITOR 10\wzeditor.exe")
ErrorLevel := !KeyWait(key)
return
}
}
; ●●●Windowsキー + s キーを同時押ししてサクラエディターを起動する
#UseHook ; UseHookをOnにした状態で使用
#s::
{
key := "s"
ErrorLevel := !KeyWait(key, "T0.3")
If(ErrorLevel){ ; 長押しした場合
Run("C:\Program Files (x86)\sakura\sakura.exe C:\Users\" A_UserName "\Documents\note-archive.html")
ErrorLevel := !KeyWait(key)
return
}
ErrorLevel := !KeyWait(key, "D, T0.2")
If(!ErrorLevel){ ; 2度押しした場合
Run("C:\Program Files (x86)\sakura\sakura.exe C:\Users\" A_UserName "\Documents\bookmarkstoday.html")
ErrorLevel := !KeyWait(key)
return
}else{ ; 短押しした場合
Run("C:\Program Files (x86)\sakura\sakura.exe")
ErrorLevel := !KeyWait(key)
return
}
}
^Tab::
{
if (KeyWait("c", "D T0.5") = 0) ; cキーが0.5秒以内に押されないのを待つ
{
; cキーが押された場合
Send "^a" ; すべてを選択
Send "^v" ; クリップボードの内容を貼り付ける
Send "{Enter}" ; [Enter]
}
else
{
; cキーが押されなかった場合
Send "^a" ; すべてを選択
Send "^v" ; クリップボードの内容を貼り付ける
}
}
^+Tab::
{
if (KeyWait("c", "D T0.5") = 0) ; cキーが0.5秒以内に押されないのを待つ
{
; cキーが押された場合
Send "^a" ; すべてを選択
Send "^v" ; クリップボードの内容を貼り付ける
}
else
{
; cキーが押されなかった場合
Send "^a" ; すべてを選択
Send "^v" ; クリップボードの内容を貼り付ける
}
}
; ●●●[Shift]+[Tab]で全選択貼り付け
+Tab::
{
Send "^a" ; すべてを選択
Send "^v" ; クリップボードの内容を貼り付ける
}
; ●●●[Alt]+[z]で読点[、]
!z::
{
Send "," ; 、
Send "{Space}" ; 変換
Sleep(80) ; 間をあける
Send "{Enter}" ; 確定
}
; ●●●[Alt]+[x]で句点[。]
!x::
{
Send "." ; 、
Send "{Space}" ; 変換
Sleep(80) ; 間をあける
Send "{Enter}" ; 確定
}
; ●●●[Ctrl]+[無変換]で全選択貼り付け
^vk1D::
{
Send "^a" ; すべてを選択
Send "^v" ; クリップボードの内容を貼り付ける
}
; ●●●[Alt]+[無変換vk1D]でハイライト箇所のワードでGoogle検索
!vk1D::
{
Send("^c")
Sleep(450)
ClipboardText := A_Clipboard
if (ClipboardText != "")
{
Run("https://www.google.com/search?q=" ClipboardText)
}
return
}
; ●●●[Alt]+[Space]でハイライト箇所のワードでGoogle検索
!Space::
{
Send("^c")
Sleep(450)
ClipboardText := A_Clipboard
if (ClipboardText != "")
{
Run("https://jp.mercari.com/search?keyword=" ClipboardText)
}
return
}
; ●●●[無変換vk1D]+[Space]でハイライト箇所のワードでAmazon検索
vk1D & Space::
{
Send("^c")
Sleep(450)
ClipboardText := A_Clipboard
if (ClipboardText != "")
{
Run("https://www.amazon.co.jp/s?k=" ClipboardText)
}
return
}
; ●●●[無変換vk1D]単独はマウス左クリック
vk1D::
{
MouseClick("left", , , , , "down")
KeyWait("vk1D")
MouseClick("left", , , , , "up")
return
}
; ●●●[Ctrl]+[Back Space]で[ブラウザ戻る]
^Backspace::
{
Send("{Browser_Back}")
return
}
; ●●●[Shift]+[Ctrl]+[Back Space]で[ブラウザ進む]
+^Backspace::
{
Send("{Browser_Forward}")
return
}
; ●●●vk1C 変換キー=クリップボードを数学定義ファイルに追記する
vk1C:: ; 任意のキー割り当て(ここでは vk1C)
{
Clipwait(2)
text := A_Clipboard
if (text != "") {
filePath := "C:\Drawers\Description\数学定義.md"
FileAppend("`r`n●●●`r`n" text, filePath, "UTF-8")
Run('"C:\Program Files\WZ EDITOR 10\wzeditor.exe" "' filePath '"')
; WZ EDITOR の起動を待ってからキー操作を送信
Sleep(400)
Send("{R}")
Sleep(400)
Send("{Ctrl down}{PgDn}{Ctrl up}{End}")
Sleep(400)
Send("{Enter}")
Sleep(400)
Send("{F2}")
} else {
MsgBox("クリップボードにテキストがありません。")
}
}
; ●●●vkF2 ひらがな/カタカナキー=ドラッグしてハイライトされた文字列を引用する
vkF2::
{
Send("{Ctrl down}{.}{Ctrl up}")
Sleep(250)
Send("{Q}{Q}")
Sleep(250)
Send("{Ctrl down}{a}{c}{Ctrl up}")
Sleep(100)
Send("{Enter}")
Sleep(100)
Send("{Enter}")
return
}
; ●●●AppsKeyの押し方で動作を変える。
; ■<a href="https://pouhon.net/ahk-keywait/2848/" target="_blank" rel="nofollow">[AutoHotKey]1つのキーで3つの機能!長押しや2度押しに機能を割り当てる</a><br>
; ■<a href="https://ameblo.jp/hinatahugu29/entry-12842214165.html" target="_blank" rel="nofollow">【AutoHotKey】今のキーボードに合わせたカスタマイズに向けて【情報収集】 | ふぐのようす</a><br>
#UseHook ; UseHookをOnにした状態で使用
AppsKey::
{
key := "AppsKey"
ErrorLevel := !KeyWait(key, "T0.3")
If (ErrorLevel) { ; 長押しした場合:MIFES
Run('C:\Program Files\MIFES11\MIW.exe')
KeyWait(key)
return
}
ErrorLevel := !KeyWait(key, "D, T0.2")
If (!ErrorLevel) { ; 2度押しした場合:【旧:短押しの処理】Ctrl+. や GG 送信など
Send("!p") ; Alt+P を送信 (確実に戻すためにシンプルに記述)
Sleep(300) ; 待て
A_Clipboard := ""
Send("^a")
Sleep(50)
Send("^c")
if ClipWait(0.5) {
Send("{Enter}")
}
KeyWait(key)
return
} else { ; 短押しした場合:【旧:2度押しの処理】Alt+C 送信など
Send("!c") ; Alt+C を送信 (確実に戻すためにシンプルに記述)
Sleep(300) ; ポップアップの表示を待つ
; クリップボードを一旦空にしてからコピーを試みる
A_Clipboard := ""
Send("^a") ; 全選択
Sleep(50)
Send("^c") ; コピー
; クリップボードにデータが入ったか少し待つ(最大0.5秒)
if ClipWait(0.5) {
Send("{Enter}")
}
KeyWait(key)
return
}
}
; ●●●
^Up::
{
MouseMove(0, -10, 0, "R")
return
}
; ●●●
^!Up::
{
MouseMove(0, -50, 0, "R")
return
}
; ●●●
^Down::
{
MouseMove(0, 10, 0, "R")
return
}
; ●●●
^!Down::
{
MouseMove(0, 50, 0, "R")
return
}
; ●●●
^Left::
{
MouseMove(-10, 0, 0, "R")
return
}
; ●●●
^!Left::
{
MouseMove(-50, 0, 0, "R")
return
}
; ●●●
^Right::
{
MouseMove(10, 0, 0, "R")
return
}
; ●●●
^!Right::
{
MouseMove(50, 0, 0, "R")
return
}
; ●●●
; ●●●
; ●●●
; ●●●
#Requires AutoHotkey v2.0
; 保持する最大履歴数
global maxHistory := 1000
global historyStack := []
global isInternalAction := false
OnClipboardChange(ClipChanged)
ClipChanged(dataType) {
global historyStack, isInternalAction
if (isInternalAction) {
isInternalAction := false
return
}
if (dataType = 1) {
text := A_Clipboard
if (text = "")
return
; 直前と同じ内容の連続コピーは重複して積まない
if (historyStack.Length > 0 && historyStack[historyStack.Length] = text)
return
historyStack.Push(text)
if (historyStack.Length > maxHistory)
historyStack.RemoveAt(1)
}
}
; [Win + V] : スタックから最新のテキストを取り出して貼り付け(ポップ)
#v:: {
global historyStack, isInternalAction
if (historyStack.Length > 0) {
isInternalAction := true
A_Clipboard := historyStack.Pop()
Sleep(50)
Send("^v")
} else {
ToolTip("履歴がありません")
SetTimer(() => ToolTip(), -1000)
}
}
; [Win + Shift + V] : 現在蓄積されている履歴の一覧を確認する
#+v:: {
global historyStack
if (historyStack.Length = 0) {
ToolTip("履歴は空です")
SetTimer(() => ToolTip(), -1000)
return
}
listStr := "--- クリップボード履歴 (LIFO) ---\n"
Loop historyStack.Length {
idx := historyStack.Length - A_Index + 1
item := historyStack[idx]
if (StrLen(item) > 30)
item := SubStr(item, 1, 30) . "..."
listStr .= idx ": " . item . "\n"
}
ToolTip(listStr)
SetTimer(() => ToolTip(), -4000)
}
; [Win + C] : 選択中のテキストを「現在のクリップボードを維持したまま」テキストスタックに追加
#c:: {
global historyStack, maxHistory
; 1. 現在のクリップボード内容を一時退避
oldClip := A_Clipboard
A_Clipboard := ""
; 2. 選択部分を一時的にコピー
Send("^c")
; 3. クリップボードにデータが入るのを待つ (最大0.5秒)
if ClipWait(0.5) {
selectedText := A_Clipboard
; 4. クリップボードを元の状態に即座に戻す
A_Clipboard := oldClip
if (selectedText != "") {
; 連続重複チェック
if (historyStack.Length > 0 && historyStack[historyStack.Length] = selectedText) {
ToolTip("直前と同じテキストです")
} else {
historyStack.Push(selectedText)
if (historyStack.Length > maxHistory)
historyStack.RemoveAt(1)
; 追加されたことを短いツールチップで通知
preview := StrLen(selectedText) > 20 ? SubStr(selectedText, 1, 20) . "..." : selectedText
ToolTip("スタックに追加: " . preview)
}
SetTimer(() => ToolTip(), -1500)
}
} else {
; コピー失敗時は元に戻す
A_Clipboard := oldClip
ToolTip("テキストが選択されていません")
SetTimer(() => ToolTip(), -1000)
}
}
■「AutoHotKey」による作業効率化~その1~基本:That’s Done! - ブロマガ
■「AutoHotKey」による作業効率化~その2~実践:That’s Done! - ブロマガ
■AutoHotkeyを利用してマウスとお別れする | NETWIZ.JP