# annsFM(改造版) README

## はじめに
annsFMがwin11で動作がおかしいので
プログラミング素人ですがソースを生成AI Claudeに渡して改造してみました。  
(プロパティ 互換性タブの互換モード、管理者としてこのプログラムを実行する、高DPI設定、等の変更では解決せず)  
  
Claudeは無料プランでもannsFMv3220ソース.zipをそのまま添付して修正を頼むと修正ソースコード出力(指示が必要)してくれるのでダウンロードしそれをビルドするだけ  
ビルド方法も0から手順をannsFM_build_guide.htmlとして出力してくれました。  


こちらの環境 Windows 11 Home 25H2 画面スケーリング125% ディスプレイ解像度1920x1080  
annsFMのフォントUDEV Gothic v2.2.0 (UDEVGothicJPDOC-Regular.ttf)の自作円記号改造版 サイズ12
でしか確認してません。

ビルド Visual Studio Community 2022  
(annsFM.manifestを使わずビルド)

必要なランタイム Visual C++ v14 再頒布可能パッケージ(x86) (多分...)

## 注意点
プログラミング素人で生成AI Claude任せです。
<font color="Red">自己責任でお使いください</font>
- WindowsによってPCが保護されました
- スマート アプリ コントロール
- ウイルス対策ソフト  

などにブロックされる可能性があります
それぞれ自己責任で解除、除外などしてください。

ソースコードの元のコメントなどは消えてる場合があります
オリジナルannsFMv3220-sourceを確認してください。

## ライセンス
ライセンスも問題無しとのAI回答ですが問題があるでしょうか?

改造ソース、ビルドしたannsFM.exeは全て作者の根来　研さんにお渡しします
全てご自由にお使いください。

## 以下Win11対応
AI回答  
かなり典型的に 古いファイラー＋Win11の権限/仮想化/DPIの衝突 で起きるパターンです。  
結論から言うと annsFM側の設計とWin11の実行環境がズレている可能性が高い です。  
annsFMが「現代のWindowsのプロセス制御・DPI・権限モデルに非対応」です。  

- annsFMから起動したテキストエディタなどでテキスト保存出来ない
- annsFMからソフトが起動しない場合がある
- annsFMから起動したソフトのウインドウのサイズやレイアウトがおかしい
- ファイルインフォメーション部分、下部表示見切れ
- ファイルインフォメーションのバッテリー表示の部分ファイル操作するたび一瞬右に動いて戻る
- ファイルリスト部分、マウス選択がズレる、下部表示見切れ
- ドライブタブ、マウス選択がズレる
- ファイルを別ファイラー(別annsFM)にドロップした時に出る、ドロップ操作選択のダイアログが出ない場合がある(「ドロップ操作の選択を表示」ON)

**いずれもDirectWrite設定の時のみGDI設定は問題無し**

- annsViewのテキストモード、マウスでの文字列選択がズレる
- annsViewのテキストモード、一番下まで表示されず見切れている
- annsViewの画像表示、真ん中では無く右下にズレ見切れている
- annsViewの画像表示、ウインドウより大きい画像でもスクロールバーが出ない場合もある
- annsViewの画像表示、ウインドウサイズに合わせて画像を縮小する Ctrl+(F)の機能が機能してない

**こちらはDirectWrite設定、GDI設定両方**

## 以下追加&修正履歴
### v4.0.0履歴
- Win11対応
- annsViewのテキストモード、制御文字 EOFの表示(EOFが見切れる場合あり)
- annsViewの画像表示、使用中のsusie Plug-inの名称をタイトルバーの文字列の後ろに表示
- 書庫の表示(Vキー)annsFMpk.lst、表示が途中で切れる時があるので表示量?読み込みサイズ?の増加
  - 書庫表示バッファサイズ拡大
  - DLL（UNLHA32、LMZIP32等）が書庫内容を書き込むバッファを約4倍に拡大
- マークしたファイルの削除でキャンセルするとマークが消えるのでマークの保持
- 拡張子の対応のannsFM.ext、`拡張子の対応ファイルは、最大300行(1対1の対応で100セット分)まで記述`を増加
  - annsFM.ext の最大行数が300行から500行（250セット）に拡大
- [フォルダの作成(K)] コマンド  
  - フォルダの作成時、作成フォルダに移動するが  
既に同名のフォルダがある時は移動しない  
既存のフォルダに移動するように
- マクロの実行 -KK(フォルダの作成)  
  - 複数のフォルダ作成で既にフォルダがある場合中断してしまうのでスルーして処理の続行するように
- マクロのウェイトタイマー (-EWT)
  - `最大10秒まで設定できます。10秒以上を設定した場合は、10秒となります。`  
を秒の制限無しにする  
代わりに経過状況とキャンセル機能のボタン付きの小さなウインドウを用意  
    - (表示タイマーは10秒指定でもソフト起動まで続くので誤差が出ます)  
- マクロのウェイトタイマー (-EWT)が実行中でも本体操作出来るように(別スレッド)
- マクロの実行ウインドウの背景とフォントの色を本体と同じに
- マクロの実行ウィンドウの位置保存
  - ウィンドウ位置を annsFM.ini の [RunMacroDlg] セクションに保存・復元（WriteProfileInt / GetProfileInt）
- インストールしてないフォントの設定(ポータブル環境想定)
  - (annsFM.exeと同じフォルダに`Fonts`フォルダを作りフォントを入れる)
- annsViewのテキストモード、制御文字 タブ記号`>`の表示(色固定、非表示無し)
- [ハードウェアの安全な取り外し(Ctrl+E)] コマンド&ドライブバー[ハードウェアの安全な取り外し]  
  - USBメモリなどを取り外すと他のドライブレターが変更されてしまう場合があるのを修正  
(AI回答、問題の原因は既存の実装がUSBハブ配下の全デバイスを一括で切断してしまうことです。)
  - USBポータブルハードディスクも取り外し出来るように修正
  - [メディアの取り出し]はドライブが無いので未確認
- 右クリックメニューに[ファイル名のコピー(B)] コマンドを追加
- [annsFM Tree(T)] コマンド
  - annsFM Treeウインドウのメニューのファイル(F)の閉じる(X)がグレーで機能してないのを修正
- マーク反転(Z)のアクセレレーターキーが機能しないのを修正(マーク反転ファイル(Z)にリネーム)
- ソート機能のエクスプローラー準拠ソートにアクセレレーターキー(R)を付ける
- [圧縮ファイルの解凍(U)] コマンド
  - 圧縮ファイルの解凍ダイアログ、アクセラレーターキーのJが2つあるので解凍後解凍先フォルダに移動(J)の方を`(O)`変更
- [ファイルの圧縮(P)] コマンド
  - ファイルの圧縮のダイアログの書庫の種類に7-zip書庫(.ZIP)を追加(名前が変ですが見分けるため)  
7-zip32.dllでZIP圧縮出来るように
- ファイルの削除、ファイルの複写、ファイルの移動のダイアログにファイル名一覧を追加
  - (チェックでファイル複数選択時の`x個の選択されたファイル`のファイル名表示)
- ソート機能の拡張(BonsFMmini参照、日付順[最終更新]、日付順[作成]、日付順[最終アクセス])
- マーク反転の拡張(BonsFMmini参照、マーク反転ファイル、マーク反転フォルダ、マーク反転フォルダファイル)
- プログラムの実行ダイアログのプログラムとパラメータにアクセレレーターキーを付ける
- パラメータの設定のSettingsタブのアクセレレーターキーのダブり修正
- 圧縮ファイルの解凍のダイアログのアクセレレーターキーのダブり修正
- 同梱の`annsFMplayer`と`annsFMtext`を更新(annsFMplayer0514(X86).zip、annsFMtext1500-Releace.zip)
- おまけにウインドウサイズ詳細計測ツール WndMeasure v1.0を同梱
- バージョン情報のバージョンを`4.0.0`にする

### v4.0.1履歴
- ファイル複写・移動のダイアログの見切れ修正
- ファイルインフォメーションに行間隔の設定の追加
  - (パラメータの設定ダイアログのSystemタブ)
 - フォントサイズを変更やプロポーショナルフォントなどでファイルリストがおかしくなるのを改善
   - (ファイル選択のハイライトが伸びてしまう DirectWrite設定のみ 対策すると今度は見切れて修正出来ず)
- アクセラレーターキーが機能しないのを修正
  - フォルダサイズの表示(S) → フォルダサイズの表示(&S)
  - Exif情報の削除(X) → Exif情報の削除(&X)
- Ctrl+Key マーク反転アクセラレーターキー変更
  - マーク反転フォルダ(&1) → マーク反転フォルダ Ctrl+F(&F)
  - マーク反転フォルダファイル(&2) → マーク反転フォルダファイル Ctrl+L(&L)
- pdfium.dll(`pdfium-win-x86.tgz`)を使ってpdf画像表示に対応 (https://github.com/bblanchon/pdfium-binaries)
  - 配置方法 pdfium.dllをannsFM.exeと同じフォルダかSPI\サブフォルダに置いてください
  - 画像モードの切り替えで変更(annsView優先の時はpdfium.dllで表示、susie Plug-in優先の時はaxpdf.spiで表示)
- 画像モードの切り替え改造
  - annsView優先の時、annsViewで表示、なければsusie Plug-inで表示  
susie Plug-in優先の時、susie Plug-inで表示、なければannsViewで表示
- annsViewの画像表示、使用中の画像モードの名称を追加(annsView優先/susie Plug-in優先)
- annsViewの画像表示、メニューの操作に pdf用前のページPageUp/次のページPageDownを追加
- リンクファイルを起動を追加 (.lnk) Ctrl+J(&J)
- ファイル名の一括変更[正規表現]を追加 Ctrl+U(&U)
  - ファイル名の一括変換[正規表現] 使い方.mdを同梱
  - (RenameRegexDialog.cpp、RenameRegexDialog.h)
- annsView画像モードに画像情報を追加 Ctrl+I(&I) (メニューの表示に追加)
  - (WinFM2008の機能を参考、WIC対応形式のみです)
- [Exif情報の削除(X)] コマンドが動作してないのを修正

### v4.0.2履歴
- 仮想ディレクトリ(仮想フォルダ)機能を追加 (その他のKeyコマンドShift+Ctrl+Enter(&V))
  - 書庫(zip/7z/tar系/lzh/rar等)をディレクトリとして扱うことができます。
  - パラメータの設定ダイアログにVirtualDirタブを追加
  - Susie plug-inの設定はannsFMsusieを使うのを推奨(v4.0.3で同梱 https://www.bonsfm.com/)
    - 画像Susie plug-inと同じ書き方です(サンプルに画像用annsFM-spi.txtと書庫用annsFM-spm.txtを同梱)
  - 仮想ディレクトリ内では一部Keyコマンドのみ対応(使用dllや書庫によって違います)
  - 仮想ディレクトリ内の時タイトルバーに仮想ディレクトリ関連の情報を追加
  - 自己解凍形式(.exe)対応
  - 追加圧縮に対応(7-zip32.dll/unzip32.dllでzip/7zのみ)
  - 許可を頂き`Paper Plane xUI`のソースコードを参考にさせて頂きました
- 7zca.dll対応
  - 圧縮ファイルの解凍[7zca.dll]を追加 I(&I)
  - 7zca32.dllを7zca.dllにリネーム、7z.dllも必要
  - 7zca.txtの対応拡張子の中の一部しか解凍出来ません(v0.6)  
TORO氏に確認した所、現在のバージョンである 0.6 では、gzip, bzip2関係(gz, tgz, bz2 等)を無効化していました。  
展開したときのファイルが tar の状態だったり、ファイル名が付かなかったりするため、一度無効にしたのを忘れていました。  
との回答
- [サウンド及び動画ファイルの再生(Ctrl+S)] コマンドのダイアログ見切れ修正(マウスドラッグで広がります)
- annsViewテキストモードのメニューのファイルの編集の動作修正
  - パスにスペースとオプションが混在していると動作しないのを修正、本体の[ファイルの編集(E)] コマンドは問題無し
  - 例 `"C:\path\to\Mery" /sp`
- MAX_PATH 制限対策(対策で少し文字数が増えた程度です)
  - longPathAware → annsFM.rc に直接インラインマニフェストを埋め込む（.manifestファイル不要）
  - 固定長バッファの排除
  - 残念ながらannsFMで使われてるクラスや関数がMAX_PATHに対応していないことが分かりました
- ファイルリストUnicodeファイル名の表示ズレ対策
  - 結合文字(べあ゚など)、記号、絵文字、外国語など
- [ファイルの圧縮(P)] コマンド cab圧縮で落ちるのを修正
- annsView画像モードにアニメーションGIF簡易再生機能を追加
  - annsView画像モード、メニューの操作にアニメーション再生/一時停止 F6(&L)
  - WICデコード経路をそのまま利用し、GIFのフレーム数が2以上の場合のみアニメーション機能を有効化
  - annsView画像モードの切り替え annsView優先の時のみ、susie Plug-in優先では動作しません
  - パラメータの設定のSettingsタブの画像ファイルの拡張子に.GIF;が必要
  - annsFM.ini に [annsView] annsViewAnimAutoPlay を追加しました。既定値は 0(手動再生)。1 にすると画像を開いたときに自動再生します。
- annsView画像モードにWebP Animation簡易再生機能を追加
  - annsView画像モード、メニューの操作にアニメーション再生/一時停止 F6(&L)
  - WebP Animationを libwebp.lib + libwebpdemux.lib の静的リンク(WebPAnimDecoder API)で実装(libwebp-1.0.3-windows-x86.zip)
  - annsView画像モードの切り替え annsView優先の時のみ、susie Plug-in優先では動作しません
  - パラメータの設定のSettingsタブの画像ファイルの拡張子に.WEBP;を追加してください
  - annsFM.ini に [annsView] annsViewAnimAutoPlay を追加しました。既定値は 0(手動再生)。1 にすると画像を開いたときに自動再生します。
  - libwebpのライセンスについて ThirdPartyNotices.txt同梱
- annsView画像モードにマルチページTIFF対応
  - メニューの操作の前のページ Page Up / 次のページ Page Downで操作
  - annsView画像モードの切り替え annsView優先の時のみ、susie Plug-in優先では動作しません
  - パラメータの設定のSettingsタブの画像ファイルの拡張子に.TIFF;が必要
- annsViewのテキストモード、制御文字 タブ記号`>`の表示にオンオフ
  - メニューの編集に制御文字(タブ記号)の表示 Ctrl+F6(&T)
- annsViewのテキストモード、メニューの編集(&E)と文字コード(&E)のアクセレレーターキー被り修正
  - 編集(&E) 文字コード(&C)
- クリップボードの画像の保存機能追加 Ctrl+F7(&G) png形式
  - 実行した場所にclipboard_image_0001.pngを保存、同名ファイルがある場合以降数字部分だけ変化0002、0003
- プロパティx64の表示
  - パラメータの設定のSettingsタブにプロパティの表示をx64に切り替え(&J)を追加
  - (プロパティ拡張ソフトで機能追加したがプロパティx64の方だったので開ける様に)
  - (C++から、WOW64のリダイレクトを回避して64bit版のPowerShellを非表示で起動し、その中でプロパティを開かせる方法です。)
- クリップボード履歴機能 Ctrl+Q(&Q)を追加
- ソフトが起動出来なかった時のエラー表示を追加
  - [プログラムの実行(R)] コマンド  
などでソフトが起動出来なかった時、起動出来ませんでした等のエラー表示が出ます  
(`WindowsによってPCが保護されました`や`スマート アプリ コントロール`などで起動しない時があるため)
- おまけにクリップボード電卓 v2.0を同梱
- 根来様からの画面の不具合の修正
  - 画面の不具合がまた発生しましたので、一応状況を。
マクロを使って、みっつのフォルダコピーをしたあと、しばらく放置していました。
その後マウスで画面をクリックしても画面が更新されなくなりました。
添付ファイル01が、不具合発見直後の状態です。
マウスでクリック、下向き矢印キーを押しても何も変化しなかったので、右向き矢印を押しました。
02が右向き矢印を押した後の画面です。
リスト表示は変化せず、インフォメーションのファイル情報だけ更新されています。
カーソルは右に動いているようです。
次に03でドライブCのタグをクリックしました。
インフォメーション表示はCドライブになっているようですが、ファイルリストは変化なしです。
ドライブタブもFのままです。
次に、記憶が曖昧なんですが、多分右向き矢印キーを押したところ、04のようにドライブタブがCになりました。
同様に、マウスでGドライブタブをクリック、右向き矢印キーでドライブタブがGに移動したのが05と06です。
下向き矢印と右向き矢印の違いは、多分ページめくりがされているかどうかかと思います。
マウスクリックもページめくりされないので、ファイルリストが更新されない？
現状わかったのはここまでです。

### v4.0.2a履歴
(バージョン表記など変更してません)
- クリップボード履歴機能の修正
  - Unicode文字対応、保存先変更(annsFMClip.ini)

### v4.0.3履歴
- DirectWrite/GDI 切り替え機能を追加
  - メニューのヘルプと表示に以下を追加、再起動して反映されます
    - 本体 描画: DirectWrite/GDI 切り替え (&1)
    - annsViewテキストモード 描画: DirectWrite/GDI 切り替え (&2)
- annsViewテキストモード、検索時のハイライトの文字強調微妙にズレる場合があるのを修正(DirectWrite設定のみ)
- annsViewテキストモード、メニューの編集に検索文字列の強調を解除 Ctrl+H(&H)を追加
- annsViewテキストモード、結合文字(`じ`など仮名の濁点・半濁点)、記号、絵文字、異字体の表示対策(不完全 この辺りが限界です)
- annsViewテキストモード、Page Up/Downキーで半ページめくりが出来無くなっているのを修正(Ctrl+Page Up/Downキーで1ページめくりは問題無し)
- annsViewテキストモード、メニューの編集に1行選択機能 Ctrl+L(&S)を追加
- annsViewテキストモード、Shift+矢印キーで文字列選択 (Unicode文字はズレる場合有り)を追加
- annsViewテキストモード、桁、行表示と選択文字数表示 (Unicode文字はズレる場合有り、改行マークは2文字)を追加
- pdfium.dllのPDF表示で次の画像、前の画像で移動が出来無いのを修正
- annsView画像モード、Ctrl+A(Exif自動回転)のキーコマンドが未登録で機能してなかったのを修正
- annsViewのメニューのヘルプ(&H)にコマンド一覧 (&K)を追加
- annsFMのメニューのヘルプと表示(&H)にannsFM コマンド一覧 (&L)を追加
- annsFMのメニューのその他のKeyコマンドのファイルの新規作成F(2)のアクセレレーターキーが動作しないのを修正(&抜け)
- annsViewテキストモード、メニューの文字コードのUTF-(8)のアクセレレーターキーが動作しないのを修正(&抜け)
- annsFM.ke_の更新
- annsFMを2つ(多数)起動してコマンドマクロの実行を両方で使うとそれぞれのマクロ実行画面が重なるので保存位置を分ける
- マクロのミラーコピーの確認画面がデスクトップ画面の中央に表示されるのを修正
- annsViewテキストモード、メニューの編集に折り返さない Ctrl+W(&W)を追加
- annsFMのメニューのヘルプと表示(&H)に位置/サイズ/描画モード情報 (&J)を追加
- annsFMのメニューのヘルプと表示(&H)にDLL情報 (&D)を追加
- ファイル名の一括変更[正規表現]の修正
  - 一部マウスのみでキーボード操作が出来ない部分があったのを対策、ファイル名の一括変換[正規表現] 使い方.mdも更新
- PowerShell F4(&4)を追加
  - コマンドプロンプト(F3)と同じ仕様
- ファイルの複写/ファイルの移動のダイアログ、複数ファイルを選択で複写先パスにフォーカス無いのを修正、複写先パスにアクセレレーターキーも追加(&N)
- 仮想ディレクトリ(仮想フォルダ)機能でunrar32.dllとtar32.dllの動作を修正
- annsViewテキストモード、メニューの編集にプレビュー表示(Markdown) Ctrl+(&M)を追加
  - マークダウン表示は最低限の簡易表示です(下のWebView2の方がオススメ)。
- annsViewテキストモード/画像モード、メニューの編集にプレビュー表示(WebView2) Ctrl+(&N)を追加
  - (Markdown(フル機能)・CSV/TSV(専用の表形式)・HTML・PDF・画像(アニメーション)など)
  - WebView2 Runtimeのインストールが必要(Windows 11には標準搭載)
  - プレビュー表示の使い方.md/marked.min.js(v18.0.6)/WebView2Loader.dll同梱
  - ライセンスについて ThirdPartyNotices.txt同梱
- UnLha32x.dll対応 (https://github.com/akiya/UnLha64x)
  - パラメータの設定のToolsタブのLZH用DLLでUnLha32x.dllとUNLHA32.DLLの選択切り替え
  - 仮想ディレクトリ(仮想フォルダ)機能にUnLha32x.dllを追加
- annsFMsusieとBonsExifを同梱

### v4.0.4履歴
- UNCパスでファイルの複写/ファイルの移動等が出来無い不具合の修正
- ライブラリの更新
  - Microsoft.Web.WebView v2.1.0.4129.50に更新
  - marked.min.js v18.0.9に更新

## 以下修正無し
対応してくださる方大歓迎  

- annsViewのテキストモード、EOFが見切れる場合あり(メニュー→文字コード→自動判別で治る場合あり)
- annsViewのテキストモード、Unicodeの一部文字は表示&マウス選択がおかしい
- annsFM.chmの修正はしてません(.chmVisual Studio Community 2022では出来無い?(htmlhelp.exe/htmlhelpj.exeはリンク切れ)
- History.htmlの修正はしてません(変更履歴はannsFM(改造版) README.mdを見てください)
- annsFMからエクスプローラーにドロップ出来るがエクスプローラーからannsFMにドロップ出来出来ない
  - AI回答、原因として一番多いのは、権限の違いです。古いファイラーが管理者権限で動いていて、エクスプローラー側が通常権限だと、片方向だけドラッグ＆ドロップできないことがあります 。
  - 大石剛司さんにBonsFMminiの対策を教えていただきましたがダメでした(Main.pas?)
    - Delphi では以下の対応を実施しています  
procedure TFormMain.FormCreate(Sender: TObject);  
  //管理者権限では受け付けないので開発環境では動作しない  
  //ただし以下を実行すれば受け付ける  
  //https://www.migaro.co.jp/tips/794/  
  {$IF CompilerVersion > 23.0} //XE2 以降の場合  
    ChangeWindowMessageFilter(WM_DROPFILES,      MSGFLT_ADD);  
    ChangeWindowMessageFilter(WM_COPYDATA,       MSGFLT_ADD);  
    ChangeWindowMessageFilter(WM_COPYGLOBALDATA, MSGFLT_ADD);  
  {$ELSE}  
  {$IFEND}
- フォルダ内一番上`..<DIR>`(1つ上の階層のフォルダを指す省略表記)の色がおかしい

## ToDo
以下は欲しいけど対応が難しい物、変更で他に影響が出そうな物、対応してくださる方大歓迎
- 各種ダイアログの文字が若干欠けている所がある&アクセレレーターキーのダブり(見つけた物は少しずつ修正してます掲示板にお知らせください)
- annsFM用ツール annsFMimage対応
- 二重フォルダ対策
  - [圧縮ファイルの解凍(U)] コマンドのオプション  
[圧縮ファイルと同名のフォルダを自動で作成して解凍]をチェックの時  
同名の二重フォルダになるようであれば、フォルダを作成しないオプション
    - 1.zip(中身 1\a.txt)解凍で1\1\a.txtになるのを防止
    - 例 Explzhの解凍先フォルダ以下に同じ名前のフォルダを2重に作成しないオプション(https://www.ponsoftware.com/archiver/help/OPT_EXT_BASE.htm)
- annsViewのテキストモードに行番号
  - AI回答、このアプリは折り返し(ワードラップ)されたときの継続行も内部的には別の「行(line)」として1行ずつ管理しています。つまり今の内部データだけでは、ある行が「本当の改行から始まった行」なのか「前の行の折り返し継続」なのかを区別できません。  
ご希望の「改行ごとに+1」を正しくやる場合、一般的なエディタのように折り返し継続行はガターの行番号を空欄にする必要がありますが、これを実現するには行の折り返し判定をしている中核の解析処理(6つの文字コード(SJIS/JIS/EUC/UNICODE/UTF-7/UTF-8)ごとに個別実装されている、合計700行近い部分)に  
「この行は本当の改行か、折り返しか」を記録する仕組みを追加する必要があり、行番号表示単体の実装よりもかなり大掛かり・ハイリスクな変更になります。
- x64版(UNBYPASS.DLL対応、Susie 64bit(x64) Plug-in (.sph)対応、64bits書庫DLL(7-zip64.dll/LMZIP64.dll/tar64.dll/UnRAR64.dll/UnLha64x.dll)対応)

## 書庫DLL
(以下のDLLをダウンロードして下さい)
- 7-zip32.dll
  - 7-zip32.dll/7-zip64.dll/7z.dll文字化け対策版 https://frostmoon.sakura.ne.jp/soft.html
    - (オリジナル版では無くこちらを使ってください)

- LMZIP32.dll https://www.bonsfm.com/

- 統合アーカイバプロジェクト http://www.madobe.net/archiver/index.html

  - _Bga32.dll
  - Bga32.dll
  
    - BGA32.DLL に対するラッパーDLL 
    - オリジナルの BGA32.DLL を _BGA32.DLL（頭に下線を付加する）に、名前を変更する。
    - QBGA32.DLL を BGA32.DLL に、名前を変更して、_BGA32.DLL と同じフォルダにコピーする。
  
  - cab32.dll
  - tar32.dll
  - UNARJ32J.DLL
  - UnGCA32.dll
  - UNLHA32.DLL
  - unrar.dll https://www.rarlab.com/rar_add.htm
  - unrar32.dll
  - unzip32.dll
  - Yz1.dll
  - zip32.dll
  - ZIP32J.DLL

- unzzip.dll https://toro.d.dooo.jp/
  - (unzzip32.dll を unzip32.dll に名前変更することで、unzip32.dll を使用するアプリケーションで使用することができます。)
- 7zca.dll https://toro.d.dooo.jp/
  - 7zca32.dllを7zca.dllにリネーム、7z.dllも必要
- UnLha64x(UnLha32x.dll) https://github.com/akiya/UnLha64x
  - (UnLha32x.dllをUNLHA32.DLLにリネームして既存の UNLHA32.DLL 対応アプリから呼び出すことができます。v1.04で動作確認)
  - UnLha32x.dll対応しました(リネームしないで使えます)

## 画像DLL
(以下のDLLをダウンロードして下さい)
- pdfium.dll(`pdfium-win-x86.tgz`) https://github.com/bblanchon/pdfium-binaries

## susie Plug-in(任意 オススメ)
- axpdf.spi https://mimizunoapp2.appspot.com/susie/

  - (axpdf.spiのみ[ Page Up ]キー、[ Page Down ]キーで前のページ、次のページを表示出来る)
- WIC Susie Plug-in https://toro.d.dooo.jp/index.html
- Extend convert Susie Plug-in (ifextend.cfgの設定/ImageMagick(magick.exe)が必要) https://toro.d.dooo.jp/index.html
  - ImageMagick (ImageMagick-7.1.2-23-portable-Q16-HDRI-x64.7z) https://github.com/ImageMagick/ImageMagick/
    - 必要ランタイム Visual C++ 2015-2022 再頒布可能パッケージ (x64)
- ax7z.spi for 7-zip 4.57+ http://yak3.mydns.jp:8080/junks/
  - (7z.dllは7-zip32.dll/7-zip64.dll/7z.dll文字化け対策版 https://frostmoon.sakura.ne.jp/soft.html を入れる)

## annsFM用ツール
大石剛司さん annsFM用のツールを使うのを推奨 https://www.bonsfm.com/  
- 同梱の`annsFMplayer`と`annsFMtext`と`annsFMsusie`と`BonsExif`もここからダウンロード出来ます。  
  - 同梱はx86版です、x64版でも動作します。
<font color="Red">「作者に許可を頂いて同梱しています」</font>

オススメ
- annsFMtext(パラメータの設定 annsViewタブ annsFMtextを使用する(A)に`チェック`)
- annsFMarchive(パラメータの設定 Toolsタブ アーカイバ(A):に`パス` アーカイバ拡張子に`.lzh;.zip;.cab;.7z;.rar;.gz;.tar;.zst;.tgz;`)
- BonsExif(パラメータの設定 Toolsタブ2 BonsExif(B):に`パス`)(Exif情報表示ソフトの設定 Exif情報表示ソフト(E)に`パス` コマンドラインパラメータ(P)に`"%s"`)
- annsFMsusie(画像用annsFM-spi.txtと書庫用annsFM-spm.txtの設定用)

## 設定メモ
- annsFM.iniを編集
  
  - DirectWrite設定  
本体  
`SystemDirectWrite=1`  
annsViewのテキストモード  
`annsViewDirectWrite=1`  
  
  - GDI設定  
本体  
`SystemDirectWrite=0`  
annsViewのテキストモード  
`annsViewDirectWrite=0`  

- インストールしてないフォントの設定
(annsFM.exeと同じフォルダにFontsフォルダを作りフォントを入れる)

  - 本体＆annsViewのテキストモード、確認フォント MSゴシック(明朝)、BIZ UDゴシック(明朝)、UDEV Gothic(UDEVGothicJPDOC-Regular.ttf)
  - annsViewのテキストモード、FixedSys、白源(HackGen-Regular.ttf)、PlemolJP(PlemolJP-Regular.ttf)などはおかしい

  - v4.0.1で本体は使えるフォントが増えたと思います
    - 確認フォント 白源(HackGen-Regular.ttf)、Mgen+(mgenplus-1m-medium.ttf)、美咲フォント
    - Mgen+(mgenplus-1m-medium.ttf)など縦に見切れる場合は
    - ファイルインフォメーション行間隔の設定＆ファイルリスト行間隔の設定を試してください

- パラメータの設定 Toolsタブ plug-inの設定 susiePlug-in設定ダイアログ  
のデフォルト設定の%p\BonsFM-Spi.txtを%p\annsFM-spi.txtに変更しても問題無し  
annsFMとBonsFMで使うので間違わないようにannsFMの方はannsFM-spi.txtにする

- 32ビット（x86）ファイラーから 本物の 64 ビット版 C:\Windows\System32 に行きたいなら、Sysnative を使うのが定番です。
System32 は 32 ビットプロセスでは SysWOW64 にリダイレクトされますが、Sysnative はそのリダイレクトを回避するための特別なエイリアスです 。
  - 使い方  
    - C:\Windows\Sysnative\ を指定する。
    - 例: C:\Windows\Sysnative\cmd.exe で 64 ビットのコマンドプロンプトを起動できる 。
    - C:\Windows\System32\... と書くと、x86プロセスでは SysWOW64 側に飛ぶことがあります 。
  - 注意点  
    - Sysnative は 32 ビットアプリケーションから見える特殊名で、64 ビット側では通常のフォルダとして扱われません 。
    - もしファイラーがパスを内部で解釈するタイプなら、アドレスバーや「開く」ダイアログで Sysnative を直接入力するのが確実です 。
  - annsFMでのアクセス
    - [カレントフォルダの変更(H)] コマンドでC:\Windows\Sysnative\を入力
    - [ジャンプフォルダ(J)] コマンドでC:\Windows\Sysnative\を登録

## おまけ
- ウインドウサイズ詳細計測ツール WndMeasure v1.0  
  - annsFMのウインドウサイズを測るのにAIに作ってもらった物です  
annsFM以外でも使えます。  
(このソフトはソースコードも含め全てご自由にお使いください)  

  - annsFMのウインドウサイズを知りたくて  
annsFM.iniの数値(Left = -8/Top = 60/Right = 896/Bottom = 758)  
を見ても良く分からず  
他のソフトで調べるとWndSizer(696x560)とSizer(870x700)とそれぞれ違う  
どれが正解か聞くとソースコードを出力してくれました  
結果は(904x698)でした。

- クリップボード電卓 v2.0  
  - 愛用してる古い某クリップボード電卓が履歴機能が無く不便なので  
好みの機能を足したクリップボード電卓をAIに作ってもらった物です。  
(このソフトはソースコードも含め全てご自由にお使いください)
