サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
画力アップ
8thway.blogspot.com
無線LANのSSIDをC#からAPIで取得するコードを書いてみた。 1. 背景 アプリから無線LANのSSIDを取得したいときがあるが、標準の.NET FrameworkにもWinRTにもそれが可能なAPIは用意されていない。C++にはNative Wifi APIがあるが、このマネージド実装のManaged Wifi APIは開発が止まって久しく、かといってP/Invokeの宣言を起こすのも大変そうなので敬遠していた。実用上はNetshの出力をパースすれば大体足りるし。 それが、ふとMSDNでこんなエントリを見かけた。 WLAN Programming How-To Tips and Tricks Including Using It in C# 「おおっ」と思いつつダウンロードしたが、実体部分はC++のライブラリで、それをC#から使うものだった(タイトルどおりではある)。悔しかったので
Windows 8以降のトースト通知を.NET Framework 4.5以降でないアプリから使う方法について。特別新しい話はないです。 1. アウトライン OSやアプリからユーザーに何か通知するとき、従来はよくバルーンメッセージが使われていましたが、Windows 8以降はトースト通知が使われるようになりました。このトースト通知はデスクトップアプリからでも出せますが、Windowsストアアプリ用のAPIであるWindows Runtimeを使うので、必然的に.NET Framework 4.5以降のアプリである必要があります。 ここで.NET Framework 4.5以降でアプリを作ってしまえば話は終わりですが、そうも行かないときにどうしようかな、ということで方法を考えたので、それを説明してみます。 先に、作成したテストアプリを示しておきます。このアプリ自体は.NET Framewor
Windows 10 TP(Technical Preview)のバージョン判定について一応確認してみた。 1. 判定方法 内部バージョンが6.4というのは分かっているので、これをC#のコードから判定する方法として以下を試してみた。 Win32のGetVersionExで取得 Win32のRtlGetVersionで取得 Win32のNetWkstaGetInfoで取得 WMIのWin32_OperatingSystemで取得 Win32のVerifyVersionInfoで比較 .NET FrameworkのSystem.Environment.OSVersionは内部的にGetVersion/GetVersionExを呼び出しているようなので、これに準じる。 なお、GetVersion/GetVersionExについては、Windows 8.1と同様にマニフェストファイルでcompat
これはXAML Advent Calendar 2014の14日目の記事です。昨日は@saka_ponさんでした。皆さんネタが濃いです。この記事は残念ながら濃くはないです。長いですけど(すいません)。 1. 前置き さて、XAMLのコントロールも色々ありますが、個人的にはItemsControlというか、ListViewが好きです。データソースを繋げたらバインディングが張られた子コントロールがだだっと自動生成されるのがたまらない、というか。アプリを作るときは初めてこれを見るのが楽しみだったりします。 このItemsControlの子コントロールは縦横に並べて配置するのが基本ですが、データソースに含まれる情報、例えば地理的な位置情報がある場合は、UI的にそれを生かした地理的な配置にすることも考えられます。それで地理的な配置にした場合、多様なサイズの画面で使えるようにするにはズームが必要になり
Windows 7以降で利用されるAppUserModelIDを含んだショートカットをC#から操作するコードを書いてみた。 1. 背景 Windows 8のWindowsストアアプリでは常駐型アプリは難しいので、常駐型の監視アプリを使おうとする場合、(x86版であれば)デスクトップアプリを動かしておいて何かあればWindowsストアアプリの画面にトースト通知を出すのが一つの解になると思うが、このトースト通知をデスクトップアプリから送るにはAppUserModelIDを含んだショートカットがスタートメニューにあることが条件になっている。 このAppUserModelIDは普通に張ったショートカットには含まれないもので、これを含むショートカットの作成はアプリのインストーラにやらせることをMicrosoftは推奨している。が、そうは言ってもインストーラの作ったショートカットをユーザーが消してしま
Windows To Goの最終的な姿がWindows 8 RTMとともに明らかになったので、まとめておこうと思う。 1. 条件 使用条件は以下のとおり。狭き門となっている。 1.1. 対象ユーザー ソフトウェアアシュアランス(SA)プログラムに入った、ボリュームライセンスのユーザー向けのEnterprise版のみ。つまり企業ユーザーの下でその社員が使う場合のみで、個人ユーザーには提供されない。 1.2. ハードウェア PC本体側の条件はWindows 7かWindows 8の動作条件を満たしていればいいので問題にはならないが、USBメモリというか、USBドライブ側の条件は厳しい。 8月15日現在、MicrosoftがWindows To Goが使えると認定した(certified)USBドライブは、以下の2機種のみ。 Kingston: DataTraveler Ultimate (Wo
……ではなくて、このキーボードのタッチパッド付きのパームレストは要らないので切ってしまいたい、というアイデアは時々見るが、実際に切ったのを見たことがなかったので、切ってみた次第。
MacBook ProにRetinaモデルが出たことで、PCでもRetina(に相当する高解像度)が現実のものとなってきたが、Windows 8はそれにレディなのかをチェック。 1. Windows 8 RP MacBook Proが発表された日に早速BootCampでWindows 8 RP(Release Preview)をインストールした記事(Retina MacBook ProにWindows 8インストール成功、しかも簡単だった)が出ていたが、その早業には敬意を表する一方、「細かすぎてウインドーの内容は全然見えない。ごみ箱が極小サイズ(笑)。」の文には「バカっぽい」と思った。WindowsでもMicrosoft、あるいは開発者は高解像度への準備を進めてきているわけで、それを試してもらわないと。 というわけで、Windows 8を高DPI、Appleのやり方にならって200%に設定
Windows 8 pre-betaであるところのWindows Developer Preview(以下、略してWDP)には、完全に独立したOSをUSBメモリから起動できるWindows To Goがある。これがあればPCにインストールしたままにしなくてもWDPが使えるので、このUSBメモリを作成してみた。 1. 作成方法 BUILD2011の資料を見ると、作成方法がさらっと書いてある。 環境依存のドライブレターがそのまま入っているので分かりにくいが、大体以下の手順で作成できることが分かる。 imagex.exeで(予め作成しておいた)OS環境のイメージファイル(.wim)をUSBメモリに展開する。 Bcdboot.exeでOSを起動可能にする。 ただ、これを試すには幾つか問題があって、 imagex.exeか他の方法でイメージファイルを作成するときに必要なオプション、その有無が不明。
2TiBを超えるHDDを使うときの話。 (このエントリは一続きのエントリの2/2) 2.1. 素の状態 ThinkPad X61sのICH8-Mの内蔵ポート(AHCIモード)に3000を繋げた場合、Windows 7では32bit、64bitとも、そのまま普通にGPTディスクにして全容量を使える(ドライバはIntel Rapid Storage Technology 10.1.0.1008)。これは当然。 一方、素のXP SP3では、3000は746.51GiBと認識される(ドライバはIntel Matrix Storage Manager 8.8.0.1009、Intel Rapid Storage Technology 9.6.0.1024とも)。 つまり、3000の容量は5,860,533,168(セクタ数)×512÷1024^3≒2794.52GiBなので、これから2TiB=204
Intelの天野氏の置き土産について、自分でもよく分かってないが、とりあえず書き留めておく。 1. Endurance Monitoring #2 6/4に天野氏が最後のイベント出演をしたとき、Intel SSDの寿命予測に関してE9、あるいはHost Writesとはまた別の方法を説明していた。これが詳しく出ている記事(インテル天野氏が最後のイベント出演、Z68とSSDを語る)を見ると、これまで明らかでなかったSMARTのE2、E3、E4の意味が出てくる。 天野氏の資料によれば、 #2: Intel Timed Media Wear metric - Allows user or system designer to evaluate the endurance wear rate for a proposed application through following SMART at
ReadyNASを普通に使っている限りは全く気にする必要はないが、何か問題が起きたりしたときに、そもそもReadyNASの中はどうなってるのかということに興味が湧くのは自然だと思うので、その流れの話。 (このエントリは一続きのエントリの5/5) 4.1. ReadyNASの構成(推測) ReadyNASが何かといえば、LinuxをOSとして稼働する/RAID構成で/NAS専用のPC、ということになる。アプライアンスのLinux機としては普通のPCに近いが、普通のPCと特に違うのは、 オンボードにOSのインストールイメージを持っていること ブートプロセスが少し変わっていること ただ、Netgearの人はこういう話をあまり正面から書いてくれてない。あくまでアプライアンスであってユーザーの心配することではないし、SSHでログインすれば分かる人には分かるだろう、と説明の必要を感じてないのかもしれな
何事も必要以上に大仰になるのが嫌いで、その意味でコンパクトなReadyNAS Duoというパッケージはよかったのだが、今となっては遅いNASで、自分のGbE環境のボトルネックになっていた。 速いNASが続々と登場してくる中で、どうしたものかと時々考えていたら、Duoの後継に当たるx86のAtom機であるReadyNAS Ultra 2が出ていたので、購入(ディスクレスのRNDU2000-100JPS)。Ultra 2(Single core)には上位版のUltra 2 Plus(Dual core)も存在するが、とくに重い使い方をするわけでもないので、Ultra 2でいいかなと。 (このエントリは一続きのエントリの1/5) 1.1. 外観 サイズ的にはDuo(左側)とUltra 2(右側)は変わらない。 現物を見るまで分からなかったのは、その色。Duoと並んだ写真がなかったのでよく分からな
静音性は自分にとって重要な要素で、NASは稼働しっぱなしということが多いだけに問題になり得るところだが、Ultra 2の動作音はどうか。 (このエントリは一続きのエントリの3/5) 3.1. ファンの回転音 一番気がかりだったファンの回転音については、しばらく使った範囲ではあまり気にならない。というより、Ultra 2を自分から直線距離で2mぐらいの場所に置いているが、稼働中ということを音で意識させられることがあまりない(アクセス中のHDDが出す音は除く)。 これは第一に、冬場なので当てにはならないが、Ultra 2では平常時のファンの回転数が割と低いことがある。 起動時の高速回転は別として、平常時で(スピンダウンはしていない)800から900RPM前後、スピンダウン時には600RPMぐらいまで下がることもあった。負荷をかけていると1000RPMを越えることもあるが、そんなに長くは続かない
東日本大震災を受けての東京電力と東北電力の計画停電に関して、節電(とくにピーク時の)が求められてますが、この地域のThinkPadユーザーの方々に、その一つとしてThinkPadの「ピークシフト機能」を活用することを提案します。 勿論、ノートPCの消費電力など、暖房器具や調理器具に比べればかわいいものですが、たとえ1台1台の節電によるメリットはたいしたことなくても、台数が増えれば意味がなくもないと思いますし、逆にデメリットの方は多少バッテリ寿命が縮まる以外にはないので、十分やる価値はあると思います。 また、最近はノートPCをあまり持ち歩かなくなって、バッテリ寿命が温存されているThinkPadが多いのではないかと思います。この非常時に際して、その力を発揮させてみてはどうでしょうか。 1. 省電力マネージャーによる「ピークシフト機能」 ThinkPadの電源管理ソフトである省電力マネージャー
12日に行われた「Intel Technology Day in Akiba 2009」におけるIntel天野氏のプレゼンテーションで、IntelのSSDのS.M.A.R.T.について言及があった。AKIBA PC Hotline!に動画と資料の写真がある(「だれにも聞けないSSDの疑問」を「神様」が解説 XP/Vista用のTrimツールも準備中、廉価版の話題も)。 この中のQ6で(動画の11:38から)、SSDの寿命を判断するためのS.M.A.R.T.の項目として以下を挙げている(Q6の資料による。項目名は口頭とは少し違い、Q7の資料とも少し違うので、正式なものか不明)。 E1: Host Writesインジケータ(書き込み量の統計) E9: Media Wearインジケータ(ウェアレベリングのレベル) E8: Available Reserved Space(予備領域の残り) また、
HDDの速度にこだわるのも、SSDに軽く周回遅れにされている中で今更だが、プラッタ容量と速度の関係について少し調べてみた。 (このエントリは一続きのエントリの1/5) [参考] HDDについての基本情報 ITPro: ハードディスク・ドライブの内部構造 PC Online: ハードディスクドライブのすべて StorageReview.com: Reference Guide - Hard Disk Drives (一部の情報は古いので、要注意) 1.1. はじめに プラッタ容量というか、記録密度と速度の間に相関関係があるのは、原理的にも経験的にも明らかだが、それが実際の製品にどう出てくるかとなると、あまり確たる答がない。原理的な説明はあっても、HDDメーカーが実際の製品にどうインプリメントしているかはほとんどブラックボックス。ベンチマーク結果はそれなりに出ていても、環境がバラバラではHDD
Acronis True Image 11 Homeでは付属のブータブルメディアビルダでTrue ImageのブータブルUSBメモリを作成できるが、これが成功したり失敗したりする。こういうときに理由が分からないのが一番厄介なので、理由を調べてみた。なお、USBメモリがUSB-HDDとして認識されることが前提。 1. 成功させる方法 先に、ブータブルメディアビルダを実行しても失敗する場合に、これを成功させるための事前準備の方法を挙げておく。いずれもブータブルメディアビルダの前にUSBメモリに行っておくもの。 1.1. PeToUSBを使う(XP、Vista以降とも) PeToUSB自体はBartPE/WinPEを目的としたツールだが、今回の目的にも使える。最も簡単。これをダウンロードし、PeToUSB.exeを実行すると(Vistaでは管理者として)、以下の画面が出る。 「Enable Di
ThinkPadの起動画面(電源を入れて最初に現れるもの)は背景をユーザー作成の画像に差し替え可能である。実用的な意味は別になく、何のためにあるのかよく分からないが、とにかく可能。やり方はBIOSのアップデートファイル中にあるREADME.TXTかBIOS_LOGO.TXTを参照。 適用するとこんな感じになる。テストベッドはX61s。 画像には以下の制限があるので、写真をそのままとかは無理。 サイズは640x480、色数は16色。 同梱のツールで(そういうものまで同梱されているのが何か真面目)圧縮した状態で10KB以下。 上に3箇所の固定要素が入るので、うまく躱さないといけない。 ということで、色々作成してみたもの。 まずは抽象図形。赤い軌跡。
NAS的に使ってきたデスクトップPCを処分することにした。SSDが普及期に入り、高速なストレージのために3.5インチHDDにこだわる必要がなくなったので、デスクトップPCを維持する必要もなくなったことが大きい。 これに伴って手頃なNASを探した結果、NETGEARのReadyNAS Duoを導入。容量はそんなに必要ないが、冗長性は一応あった方がよく、HDDを簡単に交換できる、という条件に合う。コンパクトで、デザイン的にも黒一色の直方体ですっきりしていて良い。ファームウェアのアップデートも継続的に行われている。自分的には、ほとんど一択。 購入したのはHDDなしのベアボーンモデル(RND2000)で、これを静音化してみた。 (このエントリは一続きのエントリの1/2) 1.0. 内部配置 まずは内部配置の確認。筐体の両側板は後面にあるネジを外せば簡単に外せる。筐体は側板を含めてスチール製で、小さ
久々に出た新型のThinkPad USB Keyboard with TrackPoint(ThinkPad USBトラックポイントキーボード)が到着。英語版(FRU: 55Y9003)。基本情報はLenovo米国のAnnouncement Letterに、背景についてはDesign Mattersに説明がある(The Keyboard You Helped Design)。 1. 各部 X61sに接続した状態。キーボード自体は新配列のT400sとほとんど同じ。最近のThinkPadと同じく、横のエッジが立った、平たくすっきりした造形。 新型(右)のフットプリント(314mm×222mm)は旧型(左)とほとんど同じだが、パームレスト部分がすっきりしている分、少し大きめに見える。
X25-MのS.M.A.R.T.のE9が減っていく件は、24日時点で50になったが、これ以上ユーザーレベルで分かることはなさそうなので、一旦幕引きとする。 ここまでの結論をいえば、E9が使用歴と相関関係があるのは明らかだが、残り寿命といったものではないと思う。というのも、やり方によってはあまりに短時間(8分前後)で減ることが分かったので。いずれにせよ、Intelからの説明がない限り不明である。 1. X25-Mの寿命計算 議論の前提として、X25-M(80GBモデル)の寿命(最低書き換え量)に関しては、現在のところ3通りの計算があり得る。 第一に原理的な計算として、Intelの以前の資料とAnandTechによる予備領域の情報(7.5-8%らしいので、ここでは8%と仮定)に従えば以下のようになる。 {156,301,488(公称セクタ数)×512Byte}(容量)×10,000(MLCフラ
AppDataフォルダーへのファイル作成について、発見があったのでメモしておきます。 1. 基本 Microsoftストア用にパッケージされたデスクトップアプリの場合、設定情報等の保存場所としては基本的に以下の3通りがあります。 WinRTのApplicationData.LocalSettings WinRTのApplicationData.LocalFolderに作成したファイル AppDataフォルダー(に作成したフォルダー)に作成したファイル 1番目と2番目はUWP用のものですが、パッケージされたアプリであればこれらを使えます。3番目は、使い方は普通のアプリと同じですが、実際のAppDataフォルダーではなく、OSが管理する別の場所に自動的にリダイレクトされるところが違います。 これらのファイルはアプリのアンインストール時に自動的に削除されます。つまり、アプリの実行ファイルのみなら
このページを最初にブックマークしてみませんか?
『8th way to explore the world』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く