15 10月

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

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

○Ver.15.08.00.02 beta – 2015/10/15
・余計なSFXモジュールを誤って内蔵していたのを修正。
・7z.dll対応版「7-zip32.dll」「7-zip64.dll」追加。
・32bit版ライブラリについてはコンパイラをMicrosoft Visual C++ 2010に変更。

オリジナルの「7-zip32.dll」は「7za.exe」をベースとしているため、対応書庫は7zやZip等々に限定されています。
7-zip32.dllでCabやRar、Nsisなんかも解凍出来たらなぁ…

とそんな訳で「7z.exe」ベースの「7-zip32.dll」を作ってみました。(と言っても特にコードの変更はしていません^q^)
もちろん「7z.dll」依存ですので、公式インストーラでインストールを忘れずに!
#インストーラを使用しない場合は7-zip32.dllと同じ階層に7z.dllと愉快な仲間たちを配置してください。

これで本家7-Zipで対応している形式すべてを扱える…はずです。(以下公式日本語サイトより引用)

  • 圧縮/解凍(展開): 7z, XZ, BZIP2, GZIP, TAR, ZIP, WIM
  • 解凍(展開)のみ: AR, ARJ, CAB, CHM, CPIO, CramFS, DMG, EXT, FAT, GPT, HFS, IHEX, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, QCOW2, RAR, RPM, SquashFS, UDF, UEFI, VDI, VHD, VMDK, WIM, XAR, Z

以下は7z.dll対応版7-zip32.dllでRar書庫を閲覧中の図

ただし、7-zip32.dllを使用するソフトウェアが拡張子でライブラリを判定している場合、
オリジナルと同じく7zやzipしか処理できませんのでご注意くださいませ。

7 10月

TimeStamp Keeper Ver.1.01公開

ファイルのタイムスタンプを記憶し、変更後もワンクリックで元に戻すTimeStamp Keeper Ver.1.01を公開しました。

○Ver.1.01 – 2015/10/07
・起動済みプロセスがなくとも、Ctrlキー押下で最小化起動するように。
・ファイル名、更新日時の編集ができるように。
・エラーダイアログを表示しないように。

F2キーや「編集」ボタンから、ファイル名や更新日時を編集することができるようになりました。

DateTimePickerにミリ秒を直接表示するがフォーマットがないため、コールバックで文字列を制御する’XXX’を用い、WM_NOTIFY内でDTN_FORMATQUERY,DTN_FORMAT,DTN_WMKEYDOWNを処理しました。

				case DTN_FORMATQUERY:{
					HDC hDC=GetDC(handle());
					HFONT hFont=(HFONT)GetStockObject(DEFAULT_GUI_FONT);
					HFONT hOldFont=(HFONT)SelectObject(hDC,hFont);

					if(lstrcmp(_T("XXX"),((LPNMDATETIMEFORMATQUERY)lparam)->pszFormat)==0){
						GetTextExtentPoint32(hDC,
											 _T("999"),
											 3,
											 &((LPNMDATETIMEFORMATQUERY)lparam)->szMax);
					}
					SelectObject(hDC,hOldFont);
					ReleaseDC(handle(),hDC);
					break;
				}

				case DTN_FORMAT:{
					wsprintf(const_cast<LPTSTR>(((LPNMDATETIMEFORMAT)lparam)->pszDisplay),
							 _T("%03d"),
							 m_wMilliseconds);
					break;
				}

				case DTN_WMKEYDOWN:{
					if(((LPNMDATETIMEWMKEYDOWN)lparam)->nVirtKey==VK_DOWN){
						if(m_wMilliseconds==0){
							m_wMilliseconds=999;
						}else{
							m_wMilliseconds--;
						}
					}else if(((LPNMDATETIMEWMKEYDOWN)lparam)->nVirtKey==VK_UP){
						if(m_wMilliseconds>=999){
							m_wMilliseconds=0;
						}else{
							m_wMilliseconds++;
						}
					}else if(((LPNMDATETIMEWMKEYDOWN)lparam)->nVirtKey>='0'&&
							 ((LPNMDATETIMEWMKEYDOWN)lparam)->nVirtKey<='9'){
						TCHAR szMilliseconds[4]={};
						wsprintf(szMilliseconds,_T("%d"),m_wMilliseconds);

						//入力された数字
						TCHAR szNum[2]={((LPNMDATETIMEWMKEYDOWN)lparam)->nVirtKey};

						if(lstrlen(szMilliseconds)==3){
							//3桁なら文字列をクリアし新たに数字を追加
							m_wMilliseconds=_ttoi(szNum);
						}else{
							//3桁未満なら現在の文字列に数字を追加
							lstrcat(szMilliseconds,szNum);
							m_wMilliseconds=_ttoi(szMilliseconds);
						}
					}
					InvalidateRect(getDlgItem(IDC_DATETIMEPICKER_FILE),NULL,TRUE);
					break;
				}
				default:
					break;
			}
3 10月

Tascher Ver.1.57公開

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

○Ver.1.57 – 2015/10/03
・ウインドウリストを表示させると、一部ソフトウェアで動作している7-zip32.dllの処理が中断してしまう不具合を修正。

あふwやExplzhで7z/zip解凍中にTascherを表示すると処理が中断してしまう不具合を修正しただけ!!!
Ver.1.56の時点で修正したかった…

30 9月

Tascher Ver.1.56公開

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

○Ver.1.56 – 2015/09/30
・Migemo検索に対応、関連設定追加。(Special Thanks!:hokorobi様)
・インクリメンタルサーチで長い文字列を入力すると不正終了していた不具合を修正。
・AND検索コマンドについて、インクリメンタルサーチ中でなければウインドウ切り替えを行うように。

Migemoを用いてのインクリメンタルサーチが可能になりました。
Readme.txtを参考に、

  • migemo.dll」「dict/(KoRoN氏)
  • bregonig.dll」(K.Takata氏)
  • を「Tascher.exe」と同じディレクトリに配置して下さい。

    「部分一致」「デフォルトで有効」設定がおすすめです。
    Migemo検索中、一致するウインドウがあれば[M]、一つもなければ[m]がツールチップに表示されます。

    広告