26 9月

reces Ver.0.00r33公開

コマンドプロンプト上で「再圧縮」「圧縮」「解凍」「内容一覧表示」「書庫検査」「書庫内ファイル削除」「リネーム」を行うreces Ver.0.00r33を公開しました。

○Ver.0.00r33 – 2017/09/26
・7-Zipの仕様変更(‘–‘以降のリストファイル指定を処理しない)に対応。
・複数の再圧縮処理時にエラー書庫も削除してしまう不具合を修正。(Special Thanks!:通りすがりの人様)
・一部のTotal Commander Plugin(*.wcx)を用いた解凍処理で強制終了してしまう不具合を修正。(Special Thanks!:通りすがりの人様)
・複数ファイルの処理でエラーが発生した際、処理を中断し、続行か終了を選択出来る「/qe」オプションを追加。(Special Thanks!:kiyohiro様)
・名前に”%n”を含むファイルを処理する際に強制終了してしまう不具合を修正。(Special Thanks!:kiyohiro様)
・「lzhsfx」でLZH自己解凍書庫の作成ができない不具合を修正。(Special Thanks!:kiyohiro様)
・テスト実行する「/T」を実装。現在は「/mn」のみの対応で、リネーム処理前後のファイル名を表示します。
・7-zip32.dll/7-zip64.dll文字化け対策版 Ver.17.01.00.01 betaに更新。

やっと正式版の公開です。
「/T」でファイルのリネーム結果の確認が出来るようになりました。これで正規表現も怖くありません。

29 8月

7-zip32.dll/7-zip64.dll/7z.dll文字化け対策版 Ver.17.01.00.01公開

7-zip32.dll/7-zip64.dll/7z.dll文字化け対策版 Ver.17.01.00.01を公開しました。

○Ver.17.01.00.01 – 2017/08/29
・7-Zip 17.01 betaをベースにビルド。

7-Zip 17.01 betaに更新しました。

17.01 beta 2017-08-28
————————-
– Minor speed optimization for LZMA2 (xz and 7z) multi-threading compression.
7-Zip now uses additional memory buffers for multi-block LZMA2 compression.
CPU utilization was slightly improved.
– 7-zip now creates multi-block xz archives by default. Block size can be
specified with -ms[Size]{m|g} switch.
– xz decoder now can unpack random block from multi-block xz archives.
7-Zip File Manager now can open nested multi-block xz archives
(for example, image.iso.xz) without full unpacking of xz archive.
– 7-Zip now can create zip archives from stdin to stdout.
– 7-Zip command line: @listfile now doesn’t work after — switch.
Use -i@listfile before — switch instead.
– The BUGs were fixed:
7-Zip could add unrequired alternate file streams to WIM archives,
for commands that contain filename wildcards and -sns switch.
7-Zip 17.00 beta crashed for commands that write anti-item to 7z archive.
7-Zip 17.00 beta ignored “Use large memory pages” option.

17.00での「#’–‘の後に’@list’がある場合リストファイルとして見てくれない」仕様変更について、
「–」の前に「-i@」で指定欲しいとあります。
またrecesも更新しないといけませんね…

28 5月

reces Ver.0.00r33a公開

reces Ver.0.00r33aを公開しました。

○Ver.0.00r33a – 2017/05/28
・7-Zipの仕様変更(‘–‘以降のリストファイル指定を処理しない)に対応。
・複数の再圧縮処理時にエラー書庫も削除してしまう不具合を修正。(Special Thanks!:通りすがりの人様)
・一部のTotal Commander Plugin(*.wcx)を用いた解凍処理で強制終了してしまう不具合を修正。(Special Thanks!:通りすがりの人様)
・複数ファイルの処理でエラーが発生した際、処理を中断し、続行か終了を選択出来る「/qe」オプションを追加。(Special Thanks!:kiyohiro様)

7-Zip Ver.17.00 betaでの仕様変更により、’–‘の後の’@list’をリストファイルとして見てくれなくなりました。
7-zip32.dll/7-zip64.dll文字化け対策版 Ver17.00.00.01を使用する場合、必ずrecesをVer.0.00r33a以降にバージョンアップしてください。

30 4月

7-zip32.dll/7-zip64.dll/7z.dll文字化け対策版 Ver.17.00.00.01公開

7-zip32.dll/7-zip64.dll/7z.dll文字化け対策版 Ver.17.00.00.01を公開しました。

○Ver.17.00.00.01 – 2017/04/30
・7-Zip 17.00 beta、7-zip32.dll Ver.9.22.00.02をベースにビルド。

7-Zip 17.00 betaに更新しました。

17.00 beta 2017-04-29
————————-
– ZIP unpacking code was improved.
– 7-Zip now reserves file space before writing to file (for extraction from archive).
It can reduce file fragmentation.
– Some bugs were fixed. 7-Zip could crash in some cases.
– Internal changes in code.


17.00 betaでの仕様変更のためreces/gui4recesでは動作しません。
#’–‘の後に’@list’がある場合リストファイルとして見てくれなくなりました。
ご注意ください。

27 3月

Tascher Ver.1.62公開

マウスの移動とホイールの回転やMigemoインクリメンタルサーチでウインドウを切り替えるTascher Ver.1.62を公開しました。

○Ver.1.62 – 2017/03/27
・タスクバーへのアイコン登録に失敗すると操作ができなくなる不具合を修正。
・Migemo検索において特殊記号「[」「]」「~」でもマッチできるように。
・ウインドウリストのフレームを非表示にできない不具合を修正。
・Ver.1.61までの隠し設定を設定ダイアログの「高度な設定」タブから編集できるように。
・[表示方法]-[マウスの移動]に「上」「左」「右」「下」「マウスホイール回転時のみ」を追加。
・「restore」をShowWindow(SW_RESTORE)ではなくPostMessage(WM_SYSCOMMAND,SC_RESTORE)で行うように
・中断しているUWPアプリを列挙しないように。
・UWPアプリのアイコン表示やファイル名取得に対応。(Windows 10に対応)
・ウインドウのサムネイル表示ができるように。
・ウインドウリスト非表示時に関係のないウインドウに切り替わってしまう不具合を今度こそ修正。

ストアアプリ(UWPアプリ)の列挙やアイコン取得に対応しました。
以下、Note.txtの内容掲載。
《UWPアプリ対応メモいろいろ》

  • 中断かつタスクバーに表示されていないUWPアプリ(「設定」、「ストア」、「フォト」等々)を弾くため、
    1. WS_EX_NOREDIRECTIONBITMAPの有無でUWPアプリか確認。
    2. DwmGetWindowAttribute(DWMWA_CLOAKED)でFALSEを返すウインドウのみを列挙。
  • ↑で列挙されるウインドウはクラス名「ApplicationFrameWindow」、プロセス名は「ApplicationFrameHost.exe」とUWPアプリ共通なので、
    FindWindowEx(hWnd,NULL,”Windows.UI.Core.CoreWindow”,NULL)
    で取得したウインドウハンドルを利用し個別のプロセスを操作。
  • UWPアプリが最小化されている場合、「Windows.UI.Core.CoreWindow」は「ApplicationFrameWindow」以下ではなくトップレベルに存在するため、
    1. トップレベルの「Windows.UI.Core.CoreWindow」を列挙。
    2. ↑のウインドウタイトルを含む「ApplicationFrameWindow」を親とする。

    という処理に。
    ただ、これだと一部UWPアプリに対応出来ないと思われます。

  • UWPアプリのアイコンはSendMessage(WM_GETICON)やGetClassLongPtr(GCLP_HICON)で取得することができません。
    アイコン(HICON)取得方法は以下の通り。
    1. ↑で取得した「Windows.UI.Core.CoreWindow」のウインドウハンドルからGetWindowThreadProcessId()でプロセスIDを取得。
    2. OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION)で開く。
    3. GetPackageFullName()でパッケージ名取得。
    4. GetPackagePathByFullName()でUWPアプリのディレクトリを取得。
    5. PackageIdFromFullName()でパッケージIDを取得。
    6. UWPアプリのディレクトリにある「AppxManifest.xml」をMSXMLで開く。
    7. Square44x44Logoからロゴのパスを取得。(Windows 8.1ならSquare30x30Logo、Windows 8ならSmallLogoらしい。未確認。)
      (Microsoft Edgeなら”Assets\MicrosoftEdgeSquare44x44.png”が取得出来ました。)
    8. BackgroundColorから背景色を取得。
    9. “@{パッケージ名?ms-resource://パッケージID/Files/ロゴのパス}”をSHLoadIndirectString()に投げ、ロゴ用PNGファイルをパスを取得。
    10. Gdiplus::Bitmap()でロゴを開く。
    11. 表示用アイコンのサイズでGdiplus::Bitmapを作成し、Gdiplus::Graphics()で開き、FillRectangle(BackgroundColor)で塗りつぶす。
    12. 読み込んだロゴをDrawImage()で描画し、GetHICON()でHICONを取得。
  • 上記は全てWindows 10で確認しました。Windows 8/8.1で動作するかは不明です。

サムネイルの表示機能なんかも実装してみました。
Windows10導入と同時にXPが故障したため、XPでは動作を確認していません。

広告