INASOFT 管理人のひとこと


フリーソフトダウンロードサイト「INASOFT」の管理人 矢吹拓也 が日々の「ひとこと」を語るページです。
2021年1月1日より、旧ブログ(blog.inasoft.org)からお引越ししました。
・INASOFT Webサイト: https://www.inasoft.org/
・管理人のふたこと(長文記事/寄稿文): https://www.inasoft.org/talk/
本業の方のお仕事が再び忙しくなりつつあるので、断続的にしばらく更新が止まることがあります。

目次 | ←前へ / 2015-05-10 00:32 / 次へ→ / 最新へ⇒

■「いじくるつくーる ver.7.74.11β」更新のお知らせ

2015/ 5/10 0:32:00


RSSRSS配信中

https://www.inasoft.org/








昨日に引き続き、いじくるつくーるの更新のご案内になります。

ダウンロードはこちらより。

今回の更新では、主に3つの点で機能追加を行っています。

■機能項目「デスクトップ」に、デスクトップアイコンの間隔を決める値を追加

ユーザー要望により追加した機能となります。

デスクトップでアイコンの自動整列をした場合の、アイコンとアイコンの間の間隔について指定できます。

■コマンドラインオプションに /e を追加

これまでは、レジストリキーを指定してレジストリ エディタを開く機能が提供されており、そのダイアログをコマンドラインから直接呼び出す機能も提供されていたのですが、ダイアログの表示を省略して、レジストリ エディタを開く機能については存在しておりませんでしたので、その機能の追加となります。


■編集ダイアログを編集中に、Windowsのシャットダウンやログオフが行われたら、[×]ボタンが押されたとみなすように修正。また、継続して編集を行いたい場合に、Windowsへ終了拒否の応答を試みるよう修正

最近のマイブームである、WM_QUERYENDSESSION受け取り時の動作の修正です。

これまでは、本プログラムがどんな状態で動作中でも、Windowsを終了したりログオフしたりすれば、編集中のデータは保存されることなく失われるだけとなっておりました。

本機能は、一般的なテキストエディタ等でよくあるような、編集中未保存状態でWindowsが終了されようとしたら、それに拒絶する機能を付加したものとなります。

hssgc.jpg

WM_QUERYENDSESSIONとShutdownBlockReasonCreate/ShutdownBlockReasonDestroyの両APIについては、昨日の記事にて軽く触れていますので、そちらを参照で。


ちなみに公開直前に、次のようなことが起きることに気づきました。

  • 編集中未保存の状態でログオフを試みる⇒終了確認ダイアログが出る
  • 終了確認ダイアログを閉じないまま、またログオフをする⇒終了確認ダイアログが重ねて出る
  • それらの終了確認ダイアログを閉じないまま、またログオフをする⇒さらに終了確認ダイアログが重ねて出る
  • 永遠に続く…
ここで中途半端に編集ダイアログを閉じたあと、終了確認ダイアログを操作すると、不正終了になることがあります。

これはヤバい。

というわけで、モーダルダイアログ表示中は終了確認ダイアログが出ないように、急遽修正しました。

同じような問題が、他のアプリでも起きるのかなぁと思って、試しにサクラエディタとかで同じ状況を起こすと、終了確認ダイアログが複数個出る状況は再現できるみたいですね。それで不正終了までできてしまうかどうかはわかりませんが。

multi_enddialog.jpg

メモ帳は、なんだかよくわからないけど、きちんとガードしているっぽいダイアログが出てきていました。

multi_enddialog2.jpg

今後は、Windows終了時と、終了を中止したとき、それが繰り返されたときの動作確認もしなければならないですね。Windowsプログラム作りも、重箱の隅をつつくような事態が出てきてしまうもんで。




目次 | ←前へ / 2015-05-10 00:32 / 次へ→ / 最新へ⇒


目次の表示:


ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメールフィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。
当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。本ページは公開から1年半後の任意のタイミングで削除される予定です。




2555531 (+0136)[+0539]

Copyright© 2010-2021 INASOFT