投稿

ラベル(Windows)が付いた投稿を表示しています

C#で子クラスのTypeから継承元インタフェースのジェネリック引数を得る方法

外部で定義された型のインスタンスに対してアレコレするフレームワークを作っている時、 ジェネリクスで指定された型が知りたくなる時がある。 言語はC#。 "How to detect Type of generic property, in other words generic argument, from derived class" https://gist.github.com/kazyx/9cdc033dd3bf19724b5253c759705a8f

Windows Hello対応顔認証カメラを買った

イメージ
Windows 10 がリリースされて長いこと経ったが、ようやくコンシューマ向けのお手頃な Windows Hello 対応カメラ mouse CM01 が発売されたので購入した。 (※ もっと早くに Intel RealSense のカメラを買っても良かったのだが、顔認証だけが目的なら少し高すぎるし日本からだと買うの面倒だし、ということで。)

Raspberry Pi 3 に Windows 10 IoT Core をインストールしてみた

イメージ
何かの間違いで Raspberry Pi 3 を注文してしまった。 Linux は NUC が既にあるので、Windows 10 IoT Core を入れてみることにした。

UWP 対応 Locana for Windows 10 をようやくリリース

イメージ
ソニー製 Wi-Fi デジカメ用リモコン撮影・コンテンツ転送アプリ 「Locana」 の Windows 10 版をようやく正式リリース。 Locana - Windows Apps on Microsoft Store Windows Phone 8.1 版に搭載されていた全ての機能を移植し、UI デザインは Windows 10 らしく刷新した。 もちろん UWP なので、デスクトップもタブレットもサポートしている。

Windows Store のアプリ認定でリジェクトされた話

いつも通り アプリのバグを修正 して Windows Store にアプリ更新を申請したところ、 App Policies: 10.1 Inaccurate Metadata. に違反しているとのことでリジェクトされた。

UWP アプリで Wi-Fi Direct プッシュボタン接続

イメージ
はじめに 何月だか忘れてしまったが、 Windows 10 が正式リリースされた時に公開されたこのページ。 What's new for developers in Windows 10 Wi-Fi Direct API update The device broker is updated to enable pairing with devices without leaving the app. Additions to the   Windows.Devices.WiFiDirect namespace also let a device make itself discoverable to other devices, and let it listen for incoming connection notifications. Note   In this release, the Wi-Fi Direct feature improvements are not built into the UX, and they support only push-button pairing. Also, this release supports only one active connection. 意訳すると、 アプリ画面を開いたままWi-Fi Directのペアリングができるようになりました プッシュボタン方式のペアリングだけがサポートされています 同時接続数は1本のみです という感じだった。 じゃあ試してみるかということで Xperia を相手に色々試していたのだが、何をやっても PIN 入力(相手が PIN 表示)方式でしかペアリングができなかった。自分が接続したい本命の相手はプッシュボタンしか受け付けてくれないのでこれは困る。 諦めていたのだが、11月30日に Windows 10 v1511 (Build 10586, Threshold 2) 向けのSDKが配布されていた。 What’s New for Developers in the Windows 10 SDK Build 10586 Update どうやらWi-Fi Direct関連でもAPI追加...

新PC (Z170M Pro4S + Windows 10) が安定したっぽい

BSODで頻繁に落ちてどうしようもなかった 新 PC。 先週末にいろいろ試してみたのですが、 Windows 10 クリーンインストール Windows 8.1 クリーンインストール → Windows 10 にアップグレード 前者は変わらず BSOD 連発だったのですが、後者を試して以降一度も BSOD は発生していません。なんで???と思わざるをえないですが、安定しています。 ドライバは Win 8.1 の時に全て最新のものを適用し、Win 10にアップグレード後は変更していません。 ところで、Z170 Pro4S のチップセットドライバのアップデートが 8/27 に公開されていたみたいなので、今朝適用してみました(オーディオとグラフィックを除く)。 これでまた落ちるようになったらかなり厳しいなあ、という感じです。

PC がまだ不安定

新しく組んだ PC が BSOD 連発していて不安定。 Core i5 6600K ASRock Z170M Pro4S SanDisk SSD Extreme PRO 480GB Corsair DDR4 2400MHz 4x8GB (継続) Radeon HD 7750 最新のドライバあてたら安定したと思ったのですが。 MEMORY_MANAGEMENT とか IRQL_NOT_LESS_OR_EQUAL とか SYSTEM_SERVICE_EXCEPTION とかで落ちます。 メモリダンプは以下の通り。 ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* MEMORY_MANAGEMENT (1a) # Any other values for parameter 1 must be individually examined. Arguments: Arg1: 0000000000041793, The subtype of the bugcheck. Arg2: fffff68000025df8 Arg3: 000000000000000b Arg4: 000000000000000a Debugging Details: ------------------ Page 26b9c not present in the dump file. Type ".hh dbger...

Windows Runtime アプリでの Wi-Fi to Cellular handover

Windows 10 Mobile で、「Wi-Fi接続が制限されている時にモバイルデータ通信を使う」という設定が追加されていました。 Android でも Lollipop 以降の Nexus ではデフォルトで同等機能が有効(ベンダーのカスタマイズによって挙動が違ったりする最悪な状況ですが)だったりしますが、API Level 21 で追加された Network 関連クラスを使用することで、通信に使われるネットワークインタフェースをアプリからバインドすることができます。 Windows 8.1 までの Windows Runtime 既存APIで、Android と同じようにインタフェースのバインドができるのか調べてみました。 UDP Windows Runtime API では、UDP 通信に Windows.Networking.Sockets.DatagramSocket を使用します。 BindServiceNameAsync(String, NetworkAdapter) メソッドを使えば NetworkAdapter を直接バインドできます。 var filter = new ConnectionProfileFilter { IsConnected = true, IsWwanConnectionProfile = false, IsWlanConnectionProfile = true }; var profiles = await NetworkInformation.FindConnectionProfilesAsync(filter); foreach (var profile in profiles) { var socket = new DatagramSocket(); await socket.BindServiceNameAsync("", profile.NetworkAdapter); ... // というわけで、こちらはデフォルトのインタフェースが Cellular に変更されても問題なし。(バインドした通りに動いてくれるなら。) TCP 生のTCP 通信には Windows.Networking.Sockets.Str...

Surface 2 買った

イメージ
Surface 2を買いました。 これと言って使い道もないのですが、安いしリファレンス機だし珍しく発表即発売してくれたし勢いです。 本当はPro 2を買うべきなのはわかってますが、高いしx86系はデスクトップ機があるしということで。 と割り切ったものの、x86系のデスクトップアプリが使えないのはやはりWindowsとしてはつらいところです。 Windows 8から導入されたMicrosoft Account(?) のおかげでデスクトップマシンの設定がそのまま適用でき、初期設定が簡単なのがとても良いです。 オンラインストレージは個人的にはあまり使わないのでそれほど嬉しくはないですが、SkyDriveの200GBチケットとかが期間限定で付いてくるようです。 ああ、でもやっぱりWindowsなのにKrileが使えないのは痛いなあ。 今更ですが。

Windows 8から8.1にアップデート時に入れなおしたもの

10月17日の夜から Windows Store で Windows 8.1 へのアップデートが配信開始されました。 アップデート自体は特に問題ありませんでしたが、いくつかドライバが死んで再インストールが必要になったので残しておきます。 と言ってもそんなに数はありませんが。 VMwareのネットワークドライバ 8.1にアップデート後、 Adapter settings の VMware Network Adapter VMnet が不正な状態に陥りました。 当然、仮想マシン内からの通信は通りません。 一旦VMwareを削除後、現在最新の VMware-player-6.0.0-1295980 を再インストールしたら解決しました。 Hyper-Vを使用している人は関係ないかと思いますが、私は Hyper-V を無効化して VMware を使用していたので踏んでしまいました。 Data RAMのRAM Diskドライバ 8.1へのアップデート後、まず RAM Disk がマウントされなくなりました。 一旦削除し再インストールしたところマウントはされるようになりましたが、 明らかに挙動が異常で Windows の起動に2時間もかかる状態に陥りました。 今まで安定して使用できていた v3.5.130 R24 に見切りをつけ、最新の v4.3.0 RC1 に入れ替えたところ、正常な挙動に戻ってくれました。 きっとダメになるだろうと思っていたサウンド系が正常だったのが意外です。 ああ、それにしてもスタートボタンほんと要らない・・・ 終わり。