2008-01-01から1年間の記事一覧

Windows Vistaに「コマンド ウィンドウをここで開く(管理者)」を追加する

ただこれだけのことがやりたいのに、今まで意外と面倒だったので、レジストリを探検してみたところ、意外と簡単にできました。 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\shell\runas] @="コマンド ウィンドウをここで開く(管理者…

Windows Vistaのプロダクトキー

ThinkPad X300の環境が薄汚れてきたので、再インストールすることに。 で、今回は、ちょっとだけ魔が差して、手元のWindows Vista x64版(MSDN版)に、ThinkPad X300の裏面に書いてあったプリインストール版様のプロダクトキーを入力してみた。プリインストー…

PROPERTYKEYに対する正規化

そこで、登場するのが、PSCoerceToCanonicalValue関数。この関数は、第一引数にPROPERTYKEYを受け取る。それによって、PROPVARIANTの中身をごにょごにょしてくれる。 // "2008/11/19:11:15:08.000" は、VT_LPWSTRとして処理される PROPVARIANT pv; InitPropV…

内部格納形式

当然ながら、ファイルによってプロパティの保存のされ方は異なる。XMPによって管理されているかもしれないし、EXIFかもしれないし、独自形式かもしれない。ただ、一般的には、プロパティといわれる物は、通常、テキスト形式であることが多い。 XML形式で格納…

ファイルに関連づけられたプロパティ

また、ファイルなどに対して関連づけられたプロパティは、IShellItem2::GetPropertyStoreで取得できる。下記のコードは、ファイルに関連づけられたプロパティ一覧を表示する物。 // listprops.cpp #include <windows.h> #include <initguid.h> #include <propsys.h> #include <propvarutil.h> #include <shobjidl.h> #inclu</shobjidl.h></propvarutil.h></propsys.h></initguid.h></windows.h>…

Vista/XPのプロパティシステムで使えるプロパティ

Windows VistaやXP SP2では、Windows Searchをはじめとする各種アプリケーションで、共通のプロパティシステムがある。このシステムには、IPropertySystem経由でアクセスできる。また、XMLベースのProperty Description Schemaを利用すれば、プログラマが自…

プロパティ一覧

手元のVista SP1で、System.*という形のプロパティだけを抜き出して表にしました。 表が横に長すぎるので、Canonical Nameからは、"System."を削っています。そのため、参考にする場合には、System.が必要なことを忘れないでください。 GUID/PID Canonical N…

既存のIWICBitmapSourceからの構築

すでにWICでメモリ上に持っているIWICBitmapSourceをコピーしてビットマップを初期化したい場合には、次のようなコードを書く必要があるかもしれません。エラーの処理は適当に追加してください。 // 適当に例外を投げるためのマクロ; 手抜きなので注意!!! #d…

GDI+のBitmapをWICから使う

WIC(Windows Imaging Component)は非常に良くできたライブラリなのですが、残念ながら、ドロー系の機能がさっぱりありません。線を引くぐらいならまだしも、文字を描画するとなると絶望的な状態です。なので、結局、一部の処理は、GDI+などを利用することに…

bitsadmin

プログラマではない人々がBITSを使うためには、一般的には、bitsadminを使います。ただ、bitsadminを使ってファイルをダウンロードするのは微妙に面倒なので、ここではその利用方法は割愛させていただきます。ただし、他のプログラムがBITSを使ってダウンロ…

BITSをコードから使う

BITSの何よりすばらしいことは、ダウンロードのジョブを仕掛けたプログラムは、後の処理をBITSに任せて、さっさと終了してしまって良いことです。どっかのアホ会社の書いたコードの様に独自のアップデータが常駐するような、ユーザーのCPUパワーとメモリを奪…

BITS: Background Intelligent Transfer Service

BITS、Background Intelligent Transfer Serviceは、Windows Updateでも利用されている、ユーザーの作業を中断させず、かつ、ネットワーク帯域を過度に圧迫せずにファイルをダウンロードしたり、アップロードしたりするサービスです。ここでいうサービスは、…

Bluetooth スピーカー

BIT-STB2825というBluetoothスピーカー兼、ヘッドセット?です。 これ、スピーカとしての音質はとてもほめられる物ではありませんが、安いラジカセ並の音は出ます。というかですね、これは受話器です。 iTunesで音楽を聴いている途中に、SkypeやMessengerの…

VMDesched

VMwareの時計が狂いまくるので、いろいろと小手先の処理でごまかすなんて言うのはもう当然の話だと想っていたのですが、気づくと、Improving Guest Operating System Accounting for Descheduled Virtual Machines in ESX Server 3.x Systems http://www.vmw…

Explorer Mini Mouse

マウスコレクターとしてまたもやマウスを買ってしまいました。 アマゾンで予約していたにもかかわらず、発売日には入手できず、今日やっと入手。起動時にスカートの部分が青く光るのはかなり格好いい。そして、エンブレム部分も青く光る。レシーバはArc Mous…

MacBook 英語キーボード換装

土曜日に渋谷のApple Storeで本体を預けて、英語キーボードへの換装を行ってもらいました。 やっぱり、英語キーボードはシンプルな上にスペースキーが大きくて良い。[fn]も左下に来て、非常によい。というか、日本語キーボードだと、[fn]が右下にあって、フ…

ThinkPadがThinkPadである理由

PCを購入するに当たって、スペックというのは非常に重要な指標だ。今なら、CPUがCore 2 DuoでメモリがDDR3で4GB、SSDなら128GBは欲しいなぁとかいうのは当然の議論だ。一方で、ノートPCに置いては、重さや大きさが重要なのは当然にしても、ほぼ取り替えが不…

The Future of Remote Desktop

何を隠そう、というか、バレバレだけど、espresso3389の3389は、Remote Desktop Protocol (RDP)のデフォルトポート番号。このプロトコルというか、この機能こそが僕がWindowsに惹きつけられている最大の理由。少し前まではWindowsほどリモート管理に向いてい…

MacBook

渋谷をウロウロしていたら荷物が増えていました。散財ツアーですよ。 冷静に考えれば、ネットでカスタマイズして購入するべきなのは自明なのですが、衝動買いというのは冷静に行っては意味がありません。 キーボードの交換は後日ということで、メモリやHDDの…

Microsoft Arc Mouse

やっと来ました。付属のソフトケース。実は、口の部分に磁石がついていて、開け閉めはかなり自然にできる。というか、ぺこぺこ感が気持ちよい。これは意外な伏兵だったがかなり優れものかも。本体はいろいろなところで報道されているとおり。思っていたより…

VMware Workstation 6.5

VM

予想通り、というか、書いてあったとおり、ちゃんと23日にリリースされました。ThinkPad X300で動かすと、指紋リーダー、BluetoothなどのデバイスがVMwareでも認識されていて、ドライバさえ用意すれば普通に使えそうな感じです。気づいた点としては、6.0では…

超簡単なZIPアーカイバ

C#

圧縮率とか速度とかを度外視して、どの程度の行数でZIPのアーカイバを作成できるかどうか検証してみた。ZIPの仕様書(英語)を流し読みしながら実装。分からないところは、手元で作った複数のZIPファイルをバイナリエディタで眺めながら解析。正直、version ma…

ThinkPad X300 SSD

ThinkPad X300のSSDのベンチマーク結果を書こうと思っていたのにすっかり忘れていた。 HD Tune: SAMSUNG MCCOE64G8MPP Benchmark Transfer Rate Minimum : 67.2 MB/sec Transfer Rate Maximum : 80.7 MB/sec Transfer Rate Average : 74.6 MB/sec Access Tim…

VMware Workstation 6.5

VM

Download VMware ThinAppのページに誤ってだとは思われるが、という記述が。残念ながら、ダウンロードはデッドリンクだが、2008/9/23に、Build 118166がリリースされるということか。明後日だ。一応、魚拓を採っておいた。待ち遠しい。9/23追記:間違いが修…

ストリームに対するインクリメンタルなハッシュ計算

C#

ファイルのダウンローダなどで、ファイルのダウンロードが完了してからハッシュを計算しているソフトウェアを見るが、あれは、どう考えても、ダウンロード中にインクリメンタルにハッシュを計算した方が確実に効率がよい。ダウンロード中は、ほとんどの場合…

ATOK2008がんばれ

ATOKでとにかく便利に変換したい!先日のエントリでATOK2008になって馬鹿になったっぽいとか挑発的なことを書いておきながら、エントリするという暴挙に出ます。趣旨が微妙に違う?のかもしれないけど、毎週、話題にしたくて変換できなくて困るのは、NHKで放…

スペースキーはでかい方がいい!

ATOK 2008 - 2008-09-06 - naoyaのはてなダイアリーからのネタ。個人的には、英語キーボードを使うのは、スペースキーが大きいからというただそれだけの理由。 僕もMSX→PC9801→DOS/Vという流れで流れてきたユーザーだけれども、DOS/Vの日本語キーボードのス…

Internet Explorer 8 beta 2

いろんなところで既に記事があるので書くべきことはあんまりないんですが、ドロップダウンリストやコンボボックスの外見が変わっていました。IE7 IE8 beta 2 あとなんか、全体的にコントラストがあがったような感じ。IE7のようなGUIの薄さというか、ほんわか…

.NET FrameworkのMutexの納得いかない仕様

C#

変な仕様 .NET Frameworkの名前付きMutexは、どうも、Disposeというか、Closeしても、MutexをReleaseMutexしてくれないような感じ。試しに下のようなコードを書いた。 using System; using System.Threading; namespace MutexTest { public class MutexTest …

CMAIL WRITER 2.41

複数の方からダウンロードさせろとの連絡がありましたので、公開しておきます。CMAIL WRITER 2.41また、今後のために、ソースコードのリポジトリ(SVNのダンプ)も公開しておきます。SVNリポジトリダンプ2.40からの修正点としては、 ライセンスを修正済みBSDに…