IARのEWARMで「ファイルから検索」をすると、かなりの数のファイルが読み飛ばされるバグがありました。

なぜか「大文字と小文字を区別する」にチェックを入れると全て検索してくれるのですが、少なくとも6.50.6までありました。

最近7.10.1にしたところ、修正されていました。

DeltaEndとWindows 8.1の顛末

| コメント(0) | トラックバック(0)
いつの間にかキーボードフックが外れる件はDeltaEndの問題ではなく、OSの仕様変更と私の環境固有の傾向による問題とわかりました。

Windows 7から、ローレベルフックにタイムアウトが設定されたのだそうです。300msを10回超えると勝手にフックが外れるというもので、しかも、同じプロセスからは二度とかけ直せない。

そして私は新OSに慎重な場合はサブ環境、つまり遅いPCで使い始めるのを習わしとしているために、最近Vistaから8.1にしたThinkPad X61 Tabletや、DELL Dimension 9200Cで発生していたわけです。

DeltaEndのキーボードフックはかなり単純だと認識していますが、それでも時として300msを超えていることになります。スワップ発生中とかでしょうが、如何に横暴な仕様かわかろうものです。

回避法はレジストリによる設定(最大10秒)ですが...

DWORDで以下の値に設定、単位はms、デフォルトは300(のはず)。
HKEY_CURRENT_USER\Control Panel\Desktop\LowLevelHooksTimeout

上記記事だと300msがデフォルトに見えますが、確認したところレジストリ値は既に存在し5000(5秒)というデータがありました。一説によるとVisual Studio 2010以降のインストーラーが書き込むのだとか。マイクロソフト自身の製品ですら困る仕様ってことですか。

DELL 9200Cの方はしばらく再現していませんが、本格的に使い始めたのでVisual Studioも一通り入っており、タイムアウトが既に5秒になったお陰の可能性が高いです。

MacBook MB062J/Bで発生していなかったのも、7にする前のVista時代から既にVisual Studio 2010が入っていたためと考えられます。

問題は、フックが外された際にそれを検出する方法がないことと、実行ファイルを立ち上げ直さなければならないことです。

定期的かアイドル中に自動再起動をかけ続けるほど重要なソフトではないので、ユーザー操作での再起動で良いでしょう。マスタープロセスはUIだけの担当にして、キーボードフックはスレーブプロセスに担当させる感じでしょうか。

64ビット版Windowsではスレーブプロセスは32と64の2つになり、キーボードフックは両方にかかるので、その片方だけが担当。となると、筆頭スレーブのフラグを新設することになりますね。

何はともあれ、原因がはっきりして良かったです。

Change quote and reply format 0.8.1

| コメント(0) | トラックバック(0)
ThunderbirdでOutlook風の返信をするために導入しているアドオンChange quote and reply formatですが、どうも0.8.1で送信できなくなるバグがあったようです。

現在は0.8.1.1になって修正されています。

Windows 8.1とバージョン番号

| コメント(0) | トラックバック(0)
Windows 8.1ではGetVersionExが6.2と返すらしいというので試してみました。

GetVersionEx function
「Windows 8.1向けと明示(マニフェスト)されていないアプリケーションには6.2と返す」

確かにそうなりました。SupportedOS Idは以下のように。
  • {1f676c76-80e1-4239-95bb-83d0f6d0da78} 8.1/2012 R2
  • {4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38} 8/2012
  • {35138b9a-5d96-4fbd-8e2d-a2440225f93a} 7/2008 R2
  • {e2011457-1546-43c5-a5fe-008deee3d3f0} Vista/2008

8.1のIdが指定されていると6.3が、ないと6.2が返りました。

過去のマイクロソフトのスタンスとはずいぶん異なる挙動です。Vista/7ぐらいの頃は「特定のバージョンでしか動かないような実装はやめなさい」と言っていたのに。諦めたということでしょうか。

早くからこの方針が決まっていれば、SupportedOS IdがVistaなら(※)6.0、7なら6.1...ということもできたでしょうが、8.1で今さらこうなったのも妙な気はします。

※Vista当時にSupportedOS Idはなかったので、requestedPrivilegesだけがあれば、といったあたり

それとは別に、マニフェストに関わらず判定できるAPIがあり、Version Helper functionsと称されています。

IsWindows8Point1OrGreater他、任意のバージョンかそれ以上を判定できるのですが、VersionHelpers.hの中にコードが書かれており、中でVerifyVersionInfoを呼んでいました。

実体がVerifyVersionInfoですから、IsWindows8Point1OrGreaterなどの各関数のサポートOS欄には"Windows 2000"と書かれています。

とどのつまり、マニフェストのSupportedOS Idをちゃんと記述しておきましょう、という話ですが、Win32の世界で8以降の目新しいAPIって何かあったかな...。
Windows 8.1にて、時々キー入力が変になることがありました。たまにしか発生せず、昨日あたりにVS2008だけなのではと考え始めたところでしたが、ATOK 2013との相性だったようです。

現象は、英数字やEscapeあたりは利くものの、Altを押すとメニューがアクティブになったまま帰らず、CtrlやShift等は全く利かず、といったものでした。

Windows8 Atok2013 入力不具合

Windows 8から起きていたようです。推測変換を止めれば直るそうな。

Bing改良?

| コメント(0) | トラックバック(0)
マイクロソフトの検索エンジンBingはアンダースコアが空白扱いされ、かつダブルクォーテーションで囲ってもフレーズではなく語順指定(間に単語が入るのを許容する)にしかなりませんでした。

このためC言語のシンボル等を検索すると全く使い物にならなかったのですが、改良されたようです。

後の不満点は、下位のページになると検索結果の引用箇所が検索語周辺になっていない、という変な癖ぐらいでしょうか。ヒットしていることが確実なら、大した問題ではありません。下位ページまで見るような場合は片端から見ますから。

第三の選択肢として最初から常用検索エンジンにするつもりでしたが、これでようやく使えます。

宮崎

| コメント(0) | トラックバック(0)
生頼範義展を宮崎県でやっているそうな。場所はみやざきアートセンター

正直、名前は存じませんでしたが、そこのホームページのトップに並んでいる中では、光栄の「信長の野望」とか、幻魔大戦あたりは見覚えがあります。銀河パトロール隊は食指が伸びかけているところですが未入手。

一躍有名になったスターウォーズ「帝国の逆襲」ポスターは、手元にある徳間文庫版ノベライズの表紙にもなっています。

少なくとも同じ規模での巡回は無理らしく、とてもとてもとてもとても行きたいのですが、とりあえず図録だけ申し込んでおきました。試しに経路検索してみましたが、空路を使っても5時間近くはおいそれと行ける距離ではないですねえ...。

ツタヤのセルフレジ

| コメント(0) | トラックバック(0)
ツタヤの南浦和店に行ったらセルフレジとやらが大々的に導入されておりまして。

万引き防止の青い留め金を外し忘れていたことに帰宅後気付きました。旧作の7泊ですから明日にでも外してきますが。

ネットで調べると、他にも同様の状態に陥った人が多数いました。あれは強引に開けようとするとディスクに力がかかって割れるようにできているとかで、専用の機械でないと外れないものだそうな。

確かにレジのところに「鍵を外せ」と書かれていた気がしますが、文字だけでいきなり「鍵」と言われてもわからないですよ? 写真かせめてイラストの一つも使って図示してもらわないと。

不親切です。

(追記2014/3/2)
改めて見渡してみると、鍵を外すスペースがレジから少し離れているため、私もそうでしたが鍵の存在を認識していない利用客を誘導できないことが問題だと感じました。
従って、レジでまず図示すれば問題の大半は解決するでしょう。鍵外し台の使い方が初見ではわかりにくいのですが、矢印で動きをもっと明確にするのが有効と考えます。

新刊を買う

| コメント(0) | トラックバック(0)
12月から最近まで多忙でろくに漫画のチェックもできず。電車の中で読めるからという理由で小説だけは手にしていましたが。

久々に漫画売り場に行くと、未入手の新刊に違いないものがちらほら。確信が持てないものもありまして、発売日がわかればほぼ判別できるのですが、漫画はビニールカバーが付いています。

となると電子的手段に訴えなければなりません。大手書店は店内に検索用の端末があるので、それで調べることもできますが、そうでなければ携帯端末を使うことになります。

しかしカバンや懐に手を突っ込むのは店内において好ましい行為ではありません。そこで私の場合はレジの近くなど、店員が見ている場所ですることにしていますが、やはり不便です。

初版の発売日だけでもわかればいいので、カバーのISBNコードの近くにでも記載してくれたら、と思います。

ASLRとDeltaEndとAvast!と

| コメント(0) | トラックバック(0)
DeltaEnd Ver.0.62がWindows 8.1でたまにキーに反応しなくなるので、試しに仕入れたばかりの知識を活用とばかりにASLRを無効にすべくリンカーのオプションを変更してみたところ(/DYNAMICBASE:NO)、Win32:Evo-gen [Susp]としてAvast!に検出されてしまいました。

32ビット版EXEのDeltaEnd.exeのみで、ウイルスバスター、MSEは共に全ファイル無害と判定しています。

変更しなければ検出されません。誤検出が多い定義らしいですが、一応レポートを提出しておきました。

(追記2014/2/21)
対応していただけたようです。ビルドし直しても誤検出されていませんので、単純に何らかの形(例えばファイルのハッシュ値)でホワイトリストに加えたとかいうことではなさそうです。
<<前のページへ 2021222324252627282930

アーカイブ

ウェブページ

Powered by Movable Type 5.2.13

ホームページ

最近のコメント

アイテム

  • magnet_runner.jpg
  • autocraft1.jpg
  • material_sniper.jpg
  • acrobatdc_appcontainer.png
  • atok2017_kana.png
  • shinjuku_yahoo.jpg
  • shinjuku_google.jpg
  • synology_2.png
  • synology_1.png
  • pdpc10b.jpg