antidevice.png
まずAntiDeviceは、パスの先頭一致で排除と許可が指定できるようになりました。特定メーカー(VID_****)などに限定することができます。
また64ビット版のファイル名をAntiDevice64.exeとし、64ビット版WindowsでAntiDevice.exeが起動された場合にAntiDevice64.exeを自動で起動するようにしました。

deltaend04.png次にDeltaEndは、ATOK 2011対応と、カナキーの指定ができるようになったことなどです。

いずれもホームページ側のWin32コーナーにて。

緊急地震速報

| コメント(0) | トラックバック(0)
12月3日の早朝に起きた千葉県南部の地震で埼玉県にも緊急地震速報が発令され、これが私のiPhone 4が受信した最初のものとなりました。

一丁前にギュイギュイ鳴ってるiPhoneが可愛らしくまた、頼もしくも感じました。

遺物

| コメント(0) | トラックバック(0)
仮想PCをバックアップせずに某ソフトの体験版を入れてしまいました。

別に再度インストールするつもりはないので気分の問題ですが、試しに全情報の削除を試みたところ、レジストリにもアクセス権限の設定があったことを実感するものが見つかりました。

保存箇所そのものは極めて常識的な場所、しかし管理者権限であろうと、ユーザーからは簡単には見ることも消すこともできない、という考えられたものでした。

企業名やソフト名と無関係な場所にこっそり残すのと違い、とても礼儀正しい実装だと思います。そのせいで発見されてしまったわけですが。

ウイルスのように徹底的に隠匿するか、建前で可能な範囲に限るか。営利だけを考えれば前者ですが、何かあった時のことを考えると、この方が安全ではあります。

Vista以降のアクティベーションですら破られていると聞きますから、体験版を体験だけに限らせる確実な方法もないのでしょうが、それでも綺麗な実装をしていることには感動さえしてしまいました。

買っちゃいましょうかね。

経時変化

| コメント(0) | トラックバック(0)
crow.jpg
足が八本ある神の使いだとか、人の言葉を話し銀色だったとか、特別な印象を与えられてきたのがカラスです。

昼休みに勤務先の近くを歩いているのですが、9月のたしか13日、いつものコースにカラスが「落ちて」いました。

散歩中はメガネを外していますし、覗き込む気もありませんでしたが、最初の半月は少し生々しい感じでした。

そのうちモノトーンになりましたが、今月に入って「パーツ」が「増えて」いました。分解者への還元も概ね完了したようですから、そろそろ正規に処分しようかなと。

こうして可哀想とも気色悪いとも思わず、ハエが集まったら困るかなあ、程度にしか感じないのは我ながら興味深くはあります。

今では害獣に近い扱いを受けている生き物ですから、その観点では普通の反応かもしれませんが。

Word 2007と欧文

| コメント(0) | トラックバック(0)
pnpcom.rtfというファイル名の、欧文の文書があります。いわゆるRS-232C機器向けプラグアンドプレイの仕様書で、マイクロソフトが公開しているものです。

この中にCourierが指定された、文字によるタイミングチャートが含まれています。バックスラッシュが円記号になるぐらいならいつものことですが、Word 2007では全体がずれてガタガタになってしまいます。

当時のOpenOffice 3.1で綺麗に開けたので、そのままPDFにして追求していませんでしたが、レイアウトオプションに半角スペースをずらしてしまう凶悪なものが存在していることに気付きました。

「半角文字と全角文字の文字幅を調整しない」

それともう一つ、おなじみの
「バックスラッシュを円記号(¥)に変換する」

この2つのチェックを外すと綺麗に開けました。

「Wordのオプション」~「詳細設定」、下の方の「レイアウトオプション」です。デフォルトの変更はできないようなので、崩れる文書にいちいち設定の必要があります。

固定ピッチのスペースにまで介入するとか、開発者や評価手順を疑います。下品な言葉がポンポン飛び出すぐらいに苛つかせてくれます。

自分のところのMSDNの公開文書さえチェックできないなら、全部PDFにでも予め変換してもらいたいものです。

Shell_NotifyIcon

| コメント(0) | トラックバック(0)
通知領域に入れるようなアプリケーションは常駐型が多いでしょう。

となるとスタートアップか、Vista以降だと管理者権限のログオン時タスクで起動をすることが多いと思います。

Windowsの起動中は色々面倒くさいのですが、Shell_NotifyIconも例外ではありません。

登録に失敗する場合、GetLastError()がERROR_TIMEOUTを返すものだと思っていましたが、タスクからの起動だとタイミングがもっと早いため、ERROR_FILE_NOT_FOUNDが返っていました。

タスクバーの通知領域(実体はツールウィンドウ)が見つからない場合に起こるそうな。ただしその後でTaskbarCreatedのメッセージが来るので、リトライせずともそちらでカバーできます。

何か原因不明のエラーで無限ループになっても困るので、リトライするならこの2つの場合だけにするか、回数制限をするのが良いのでしょう。

書店が!

| コメント(0) | トラックバック(0)
マイナーなもの目当てで大宮のジュンク堂に行くことが多かったとはいえ、地元の本屋としてそれなりに足を運ぶことがあった三洋堂書店が、11/13(日)をもって閉店だそうな。

先月から張り紙があったということですが、本日立ち寄って偶然知りました。名門高校を擁する北浦和から、書店がなくなったことになります。

ホップビル自体が取り壊されるという噂もありますが、商業施設の減少傾向はやや危機感を覚えるところ。これでは帰って寝るだけの街になってしまいます。

浦和、大宮、新都心、北与野と大型書店があるので、商売がしにくいでしょうが、せっかくあったのに、という思いがあります。頻度は下がれど地元の書店は一番愛着があるものですから。

できるというマンションの低層に商店が入るなら嬉しいのですが。

DeltaEnd Ver.0.45公開

| コメント(0) | トラックバック(0)
deltaend04.pngBoot CampのCtrl + 1アイコン再登録、それにATOK 2008のタブ同時確定をメインとしたDeltaEndの刷新版を公開しました。
DeltaEnd 0.45

最近試した色々が盛り込まれ、32ビット版と64ビット版が同期して動作するものになっています。

ATOKのタブ同時確定は今のところ2008専用ですが、新しいのを購入することがあったら更新するでしょう。

実はThinkPad X61tが壊れてMacBook Pro(15.4)を導入しました。手持ちの2008というのがMac+Windows版でして、Lionも出たので新しくしたいのですがいつになるやら。

32/64共同作業

| コメント(0) | トラックバック(0)
64ビット版Windowsにおける一部ユーティリティは、32/64両方のバイナリを動作させなければならない場合があります。

この場合、32ビット版を主体とし、64ビット依存の部分だけ子プロセスを呼んだり、一歩進んでアーキテクチャ依存部と非依存部に分離させ、依存部を子プロセスにしたりするでしょうか。

個人の趣味レベルであれば、同一ソースコードから2つのバイナリを作り、両方とも動作させても構わないでしょう。ただ設定ぐらいは連動させ、可能であればマスター/スレーブとしてそれぞれ振る舞わせ、スレーブ側はUIを表示しないようにしたいところ。

というわけで、平たく言えばATOK2008タブ同時確定Bootcampアイコン再登録をDeltaEndに組み込むため、ファイルマッピングを利用して協調動作させるクラスとそのサンプルアプリを作ってみました。

SyncRun.zip

起動するとプロセスが2つ立ち上がります。マスター側のエディットボックスに入れた数字をスレーブ側に伝えることができ、マスター終了でスレーブも終了しますが、スレーブは単独で終了・再立ち上げ可能です。32ビット版、64ビット版の混在可能、どちらもマスター・スレーブ双方になれます。

このサンプルではアーキテクチャを判別していないので、32ビット版同士/64ビット版同士での動作もできますが、DeltaEndに組み込んだ際にはIsWow64Process APIの戻り値を参照したフラグを入れています。

シングル/マスター/スレーブのモード判別ができ、それに応じてUIを切り替えることができます(もちろんアプリの実装として)。

スレーブが消え失せた場合の処理は少し入れてありますが、マスターが消え失せた場合のスレーブ終了処理はまだ入っていません。タイマーを使って1分毎ぐらいでマスターにWM_NULLをPostMessageするといったあたりでしょうか。

Boot CampとTaskbarCreated

| コメント(0) | トラックバック(0)
4.0は知りませんが、3.xまでのBoot Campはタスクバー再生成の際にアイコンが登録されません。

外部ツールがついでに登録できないかと32ビット版3.2と64ビット版3.3で調べたところ、NOTIFYICONDATAのuIDに0x86を設定することで、他は普通に可能でした。

メッセージを飛ばす相手のウィンドウは、クラス名"Afx:00400000:0"(3.2/32)又は"Afx:000000013FF20000:0"(3.3/64)ですが、2つあるので大きさで判別する必要があります。目的のブツは10x10のものです。

クラス名でなくプロセス名がBootcamp.exe(2.xまではKbdMgr.exe)であるのを確認しても良いでしょう。こちらが参考になります。Bootcamp.exeの在処は、決め打ちでなければプロセス名のフルパスから取るのが正しいですから。

なおアイコンのリソースIDは128、コールバックのメッセージはWM_USER+10です。

exeをLoadLibraryしてLoadIcon(LoadImage)して、Shell_NotifyIconしてFreeLibraryすれば完了です。TerminateProcessして再起動するより行儀の良い再登録が行なえます。
<<前のページへ 4041424344454647484950

アーカイブ

ウェブページ

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