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アプリに対応出来ないと思われます。
    Ver.1.63で改善

  • 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ファイルをパスを取得。
      Ver.1.64から「”@{パッケージ名?ms-resource:///Files/ロゴのパス}”」で取得するように。
    10. Gdiplus::Bitmap()でロゴを開く。
    11. 表示用アイコンのサイズでGdiplus::Bitmapを作成し、Gdiplus::Graphics()で開き、FillRectangle(BackgroundColor)で塗りつぶす。
    12. 読み込んだロゴをDrawImage()で描画し、GetHICON()でHICONを取得。
  • 上記は全てWindows 10で確認しました。Windows 8/8.1で動作するかは不明です。

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

25 1月

isbnconv Ver.1.00公開

ISBN-10とISBN-13の相互変換をクリップボード経由で行うisbnconv Ver.1.00を公開しました。
ISBN-10(例: 4-592-11330-6)とISBN-13(例: 978-4-592-11330-0)を相互変換するだけのよくあるソフトウェアです。
入出力ともにクリップボードのみ受け付けます。
ファイルサイズが小さいこと(3KB)だけが取り柄です。

使い方:

  1. ISBN-10もしくはISBN-13をクリップボードにコピーします。
  2. 「isbnconv.exe」を実行してください。
  3. ISBN-13もしくはISBN-10に変換された文字列がクリップボードにコピーされます。
    ハイフンの有無は入力時の文字列に依存します。
    #ISBN10のハイフン有りで実行->ISBN13のハイフン有りで出力。
    #ISBN13のハイフン無しで実行->ISBN10のハイフン無しで出力。
3 12月

Nelumbo Ver.1.72公開

クリックひとつでパスワード「*****」(アスタリスク、米印)や「●●●●●」(黒丸)の中身を表示&コピーするNelumbo Ver.1.72を公開しました。

○Ver.1.72 – 2016/12/03
・一部エディットボックスで動作しない不具合を修正。
・「自動的にパスワードマスクを解除」設定を追加。
・Windows10で動作しない不具合を修正。

タスクトレイアイコンを右クリック->「自動的にパスワードマスクを解除」を有効にすると、
エディットボックスにフォーカスを合わせるだけで、パスワードマスクを解除することができます。
日本語のパスワードを簡単に入力することが出来、おすすめです。

nelumbo172ss_autounmask01

nelumbo172ss_autounmask02

5 10月

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

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

○Ver.16.04.00.01 – 2016/10/05
・7-Zip 16.04 betaをベースにビルド。

7-Zip 16.04に更新しました。

16.04 2016-10-04
————————-
– The bug was fixed: 7-Zip 16.03 exe installer under Vista didn’t create
links in Start / Programs menu.
– Some bugs were fixed in RAR code.

29 9月

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

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

○Ver.16.03.00.01 – 2016/09/29
・7-Zip 16.03 betaをベースにビルド。

7-Zip 16.03に更新しました。

16.03 2016-09-28
————————-
– Installer and SFX modules now use some protection against DLL preloading attack.
– Some bugs were fixed in 7z, NSIS, SquashFS and RAR5 code.

(history.txtより)

広告