超久々に「FaEdit 2.3.0」を公開してみた

Windows用のブックマークツール「FaEdit」の最新版「FaEdit 2.3.0」を公開しました。前バージョン2.2.0を公開したのが2017年なので約8年ぶりの更新となります。 2.3.0には新機能満載…といきたいところですが、実際は新機能は追加していません。内部で使っているライブラリ(Boost)の更新と、開発環境のアップデートのみが変更点です。Windows 11で動作すると思いますので、興味のあるかたは使ってみてフィードバックを頂けたらと思います。 ...

2025-05-19

FaEdit 2.2.0をリリースしました

本日ブックマークツール「FaEdit」の最新版v2.2.0をリリースしました。 Windows 10での動作確認を行っています。といってもソースコードの変更は警告をいくつか修正したぐらいなので、挙動的には以前のバージョンv2.1.0とほぼ同じです。 Windows 10での実行方法 Windows 10でプログラムを実行しようとすると警告画面が表示されて、そのままでは実行できない場合があります。その場合以下の手順で実行してください。 ...

2017-12-30 · src128
No image

FaEdit Free/Professional 2.0.7 リリース!!

FaEdit Free/Professional 2.0.7 リリースです。 Google Chromeからリンクをドロップできるようになりました。最近Visual Studio 2008に触っていなかったのでだいぶ手間取りましたが、なんとかリリースできてホッとしています。 Vectorにも登録申請していますのでそのうち公開されると思います。Vectorも知らないうちにWebから登録申請できるようになっていて驚きました(汗。便利です。 ...

2010-05-06 · src128
No image

CWinApp::m_pszProfileNameはdeleteじゃなくfreeする

MFCアプリでiniファイルの書き出しがうまくいかない現象に悩んでいました。その現象自体はiniファイルのパスをフルパスで指定することで解決したのですが(Vista以降で起こるUACがらみの挙動が影響しているらしい)、今度はプログラム終了時にヒープが壊れて文句をいわれるようになってしまいました。 ...

2010-04-11 · src128
No image

IUniformResourceLocatorを使ってインターネットショートカット作成

IUniformResourceLocatorを使ってインターネットショートカット(*.url)を作成するありがちなコードがWindows 7 64bit版だと動きませんでした(ファイル自体は作られるが中にURLが入らない)。 if (!SUCCEEDED(CoInitialize(NULL))) return FALSE; // IUniformResourceLocator オブジェクトを作成しポインタを取得する IUniformResourceLocator *pURL = NULL; HRESULT hResult = CoCreateInstance (CLSID_InternetShortcut, NULL, CLSCTX_INPROC_SERVER, IID_IUniformResourceLocator, (LPVOID*)&pURL); BOOL bResult = TRUE; if (SUCCEEDED(hResult)) { IPersistFile *ppf = NULL; // ショートカットを二次記憶装置に保存するため IPersistFile // インターフェイスの問い合わせをおこなう hResult = pURL->QueryInterface(IID_IPersistFile, (void **)&ppf); if (SUCCEEDED(hResult)) { // URLを設定する pURL->SetURL(csURL, 0); #ifdef _UNICODE ppf->Save(csFile, TRUE); #else WCHAR wsz [MAX_PATH]; // Unicode 文字列へのバッファ // 文字列がANSI文字で構成されるようにする MultiByteToWideChar(CP_ACP, 0, csFile, -1, wsz, MAX_PATH); // ショートカットを保存する ppf->Save(wsz, TRUE); #endif // IPersistFile へのポインタを開放する ppf->Release(); } else { bResult = FALSE; } // IUniformResourceLocator へのポインタを開放する pURL->Release(); } else { bResult = FALSE; } CoUninitialize(); return bResult; 結局、Save()に渡すパスが相対パスだとだめで絶対パスだと大丈夫みたいなんですが、いつの間にかこういう仕様になったのでしょうか。謎は深まる…。 ...

2010-04-10 · src128