WPFのDataGridで行単位でダブルクリックを受け取る。
<datagrid.rowstyle> <style targettype="DataGridRow"> <EventSetter Event="MouseDoubleClick" Handler="DataGridRow_MouseDoubleClick"/> </style> </datagrid.rowstyle>
最近、Win10を立ち上げてしばらく使っていると、変なオレンジ色のアイコンが一瞬現れて消えることあった。一瞬なんで後からタスクマネジャーを立ち上げてもどのアプリが起動したかもわからない。こっちが忘れてたころに出るので画像キャプチャも間に合わない。こんな情報ではネットで調べることもできなぁ、といいつつ「オレンジ色 アイコン 一瞬立ち上がって消える」を画像検索でググるとそれらしい画像が出た!。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12185208977
Yahoo!の知恵袋も侮れない。
調べるとこのアイコンの持ち主はDJCUHost.exeで、LogicoolのマウスとかのUnitfy接続用のアプリケーションらしい。そういえば最近、LogicoolのMouseを新調した。でもなんで起動直後じゃなく途中であらわれるか不明だ。
SteamのサマーセルでTestament of Sherlock Holmesがセールをしてたのでぽちったところ、プレイ中落ちまくる、落ちまくる。どうやら古いゲームだからWindows10は対応してなかったようだ。これは返金依頼か?と思いながらいろいろ調べると、管理者モードやXPモードで起動やNvidiaドライバのDLLをゲームフォルダに置くわなどいろいろ情報はあるが、どれもうまくいかない。でもやはり同じことで悩んでいる人がいたようで、最終的にはここ"The Testament of Sherlock Holmes:steamゲームをwin10で!"で情報を見つけました。
この方によるとSteam コミュニティ :: The Testament of Sherlock HolmesにあるDevs, please do something about the crashes :: The Testament of Sherlock Holmes 総合掲示板のSteam掲示板中によると、フルスクリーンで使ってるとメモリ不足で落ちるらしい、ということです。当時より解像度が上がってるからかな?そのため4GB Patch – NTCoreの非公式パッチをあてると大丈夫!、となっている。配布しているのは実行ファイルなので、怪しみながらも実行したところ、今度は落ちない落ちない。とりあえずよかった。
でもイチマツの不安はぬぐえないので、変更後のEXEファイルの差分を調べてみました。
アドレス
旧値
新値
<意味>
備考
0x14E
0x03
0x23
FileHeaderのCharacteristics
0x20はIMAGE_FILE_LARGE_ADDRESS_AWAREフラグ
2GBを超えるアドレスが使えるようになるPE Format - Windows applications | Microsoft Docsを参照
0x190
0x8F
0xAF
OptionalHeaderのChecksum
PE Format - Windows applications | Microsoft DocsのCheckSumの項目参照
ということで、アプリのアドレスの制限を外すだけのようで、怪しげな変更ではなさそうので安心しました。どうもこのサイト4GB Patch – NTCoreは32bitアプリ全般を4GB化するためのもののようです。有志の方々に感謝です。
LANが最近よく切れる。サイズが大きいファイルのダウンロードを行っているとよく失敗する。イベントログにはなにも残っていないので、ネットワークドライバ(Realtek製のRTL8111E)をみると最近の2017/4にMicrosoft製のドライバが入っている。たぶんWindows 10 のUpdateに合わせて更新されたと思われる。ドライバメーカーのサイトを覗いてみると6/30付けのWin10 Auto Installation Programがあったので、ダウンロードして更新。減ったか?たまに出てるが減った気がする。様子を見る。
2017.7.22 相変わらず切れる。7/18付けのRealtekにさらに更新してみる。→変わらん。SNPが悪さをする場合があるとネットで確認→「割込みモデレーション」を「無効」にしてみる。
Visual Studio 2015でUWPのBlankAppを新規作成しようとすると、左図のようなメッセージが出て、プロジェクトが作成できない。ネット調べると((メモ)UWPプロジェクトが作成できない | 眠るシーラカンスと水底のプログラマー) Anniversary Update SDKがうまくインストールできなくてWinRT.TemplateWizards.ApplicationInsights.Wizardがアセンブリにないらしい。0から最新版のVS2015をインストールしたら治るようなことが書いてあるが、一時しのぎにテンプレートファイルからその記述を削除する。パスC:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ProjectTemplates\CSharp\Windows Root\Windows UAP\1041\BlankApplicationのBlankApplication.vstemplateファイル内にある
<WizardExtension> <Assembly>Microsoft.VisualStudio.WinRT.TemplateWizards, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly> <FullClassName>Microsoft.VisualStudio.WinRT.TemplateWizards.ApplicationInsights.Wizard</FullClassName> </WizardExtension>
を削除すれば動くようになる。保護されているファイルなので修正には管理者権限が必要。
嫁さんのノートPCはたまにしかONしないから、久しぶりに立ち上げたてみたら、更新のため再起動しろとのメッセージ。時間かかるし、一晩ほっとくか~、と放置して、朝確認すると、まだ黒画面にクルクルマークで待機中。でもHDDランプはついてないし、どこかでのめってる感じ。やむをえず強制OFF→ONしても症状は変わらないため、F2連打BOOTで、更新前システムに戻すことができたのでいったん回避できましたが、しばらく使ってるとやはり更新要請がかかり、元の木阿弥。再起動するまえにネットを調べたところ、Windows 10 バージョン1607 が起動しないことがある【 ロジクール logicool logitech Unifying 】:るなおーびっと! - ブロマガを見つけて、もしや!と試したところ大正解。クルクルマークで待機中のところで、LogicoolマウスのUnifyingレシーバを抜いてやるとインストールが再開し始めました。自分が使っているPCの更新では発生したことないので、相性なのかドライバなんかわかりませんが、ちょっと焦りました。
気が付くとIPolicyConfigのGUIDがまた変更になったようで、自作のDefaultデバイス変更プログラムでエラー。前回と違いCoCreateInstanceでエラーではなく、SetDefaultEndPointでエラーとなる。動くGUIDは、”f8679f50-850a-41cf-9c72-430f290290c8”とWindows7の時と同じIDに戻ったようだ。前回の時のエラーは1501に変わった直後くらいなので、1607で戻ったのかな?
Windows 10 Anniversary Update 1607の更新をしたところ、Popfileが起動しなくなった。いろいろひも解くとWindows 10がUpdateする際に、環境変数POPFILE_ROOTに設定されているショートファイル名がロングファイル名に変換され、ロングファイル名に含まれる空白文字が原因でうまく動かないらしいということが分かりました。で解決方法はC:\Program Files (x86)\POPFile\adduser.exeを実行すれば再設定が行われ、無事起動するようになりました。詳しくは【Tips】Windows 10で「POPFile」が使えなくない問題を解決する方法を参照ください。でもWindows 10の1511のアップデートの時はなんともなかったのにな。はてさて。
Windows10が夜中に勝手に再起動した。ある処理を実行したまま一晩放置していたら、いつのまにかWindowsが再起動していた。イベントをみると夜中の3時くらい。いろいろ調べるとこれはWindows Updateのスケジュール時間で、設定によってはWindowsが使用されていないと判断した時には、勝手に再起動しかけるらしい。その設定とは、「設定」→「更新とセキュリティ」→「Windows Update」の「詳細オプション」にある、「更新プログラムのインストール方法を選ぶ」で、「自動(推奨)」を選んでいるとそうなる。そのためこの設定を「再起動の日時を設定するように通知する」に変更すれば、勝手に再起動することはなくなる。加えてUpdate確認がスケジューリングされている夜中3:00にはスリープモードだろうが強制に立ち上がるらしい。普段スリープ使わないのでわからなかった。さすがに夜中に勝手に立ち上がるのは迷惑なので、そちらの設定も変更する「コントロールパネル」→「セキュリティとメンテナンス」→「メンテナンス」→「メンテナンス設定の変更」→「自動メンテナンス」で、「スケジュールされたメンテナンスによるコンピュータのスリープ解除を許可する」のチェックを外すことで解除される。参照したサイトは【Windows 10】おい、勝手に再起動するな!Windows Update後の再起動日時を設定する方法 | はぴすぷです。
Windowsの欧文フォント表示時に無理やり日本語フォントを対応させるには、Fontlinkという機能を使う。レジストリを変更するので実施は自己責任でお願いします。レジストリエディタで
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink
の場所を探して、新規要素として
キー名に、リンクする欧文フォント名 例:Inconslate
種類を、複数行文字列
値に、日本語フォントファイル名,日本語フォント名 例:Meiryo.ttc,Meiryo
を追加する。こうするとInconslateフォントで日本語表示したときはMeiryoで表示される。
追加したレジストリをエクスポートした場合は
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
"Inconsolata"=hex(7):6d,00,65,00,69,00,72,00,79,00,6f,00,2e,00,74,00,74,00,63,\
00,2c,00,4d,00,65,00,69,00,72,00,79,00,6f,00,00,00,00,00
とこんな感じになってます。
参考にしたのはデスクトップ・カスタマイズ:フォントリンクの方法のサイトです。