2016/01/13(水)春M(SpringM)からExcel2016が起動しない
2016/01/13 21:18
「メモリまたはディスクの空き容量が不足しているため、ドキュメントを開いたり、保存したりできません。」
と出て開けない問題。
環境はWin7 Pro SP1 64bit+Excel2016。
エクスプローラ→Excel
や
エクスプローラ→コマンドプロンプト(cmd.exe)→Excel
で起動した場合は問題なく表示できる。
最近のExcelはインターネットから取得したドキュメントは保護ビューで開く。どうもこのときにだけ何かがおかしくなっている模様。セキュリティセンターの設定を変更すれば保護ビューは無効に出来るが、これはやりたくない。
英語で検索すると、Excelでこのメッセージが出る問題はわんさか出てくる。
解決方法も色々(要は原因が特定できない)。原因が特定できるメッセージを出してほしいよなあ。
今回の場合、親プロセスで違いが出ているのは間違いない。UAC周りか環境変数が疑わしい。
表示できる場合と出来ない場合で環境変数等に違いは見られず。
グループポリシーとかアクセス権変更では上手くいかず。
Office 2013 - Word Error (24) - Excel - Not enough memory - Microsoft Community
を見ると、互換性周りで直ったという人がいるので、
SpringMを、
互換性のトラブルシューティング -> 推奨設定を使用する
で起動してみる。するとそのSpringMから起動したExcelでは問題なし。
ただし、SpringMを再起動するとダメ(設定保存してるはずなのに!)。
SpringM起動前に、sc stop "PcaSvc"すると問題なし。
ただし、やはりSpringMを再起動するとダメ。
互換性のフラグ周りで変なことになってる模様。
互換性設定どこかでしていたような気もしたので、
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted内の、springmの項目を削除。
でも症状変わらず。
これはもうプログラム互換性アシスタントがその仕様レベルでExcel2016とぶつかってるという考えの方が正しいようだ。
プログラム互換性アシスタントを一旦止めることにする。
Windows 8.1ミニTips (100) 「プログラム互換性アシスタント」を制御する●つの方法 | マイナビニュース
を参考に、Program Compatibility Assistant Serviceを無効化。
コマンドラインから、
sc qc "PcaSvc"で、START_TYPEがAUTO_STARTからDISABLEDになったのを確認。
SpringMを再起動。
無事、SpringM→Excelから保護ビューで開くようになりました。
久々にMicrosoftクソだなと思いました。特にMicrosoftのフォーラムがノイジーすぎるあたりが×。
終わり。
2015/07/27(月)春M(SpringM)でSusie Plug-inが使用できない
2015/07/27 15:00
以下前提。
SpringMの組み込み画像ビューア(pview)は、自動的にSusieプラグインを読み込んで使用してくれる。
プラグインのディレクトリはオプション等で指定出来ない。
SpringM上でハードコーディングされたSusieのレジストリを見にいっているようだ。
で、本題。
現在、Susieのサイトで更新されている最新β版Susie
Susie 0.50 beta3(Jan 15,2013)
は内部的にはSusie2扱いで、レジストリの場所・構造・生成タイミングが旧Susie(~0.47)と違う。
[~0.47]
HKEY_CURRENT_USER\Software\takechin\Susie
※起動初回に生成
[0.50~]
HKEY_CURRENT_USER\Software\takechin\Susie2
※インストール時に生成
SpringMは旧Susie(~0.47)のレジストリしか見に行かないため、SpringMでSusieプラグインを使用する場合は1度旧Susieを1回起動してやる必要がある。それから新Susie(0.50~)に更新するか、新Susieとは別に旧Susieを入れっぱなしにしておくかは任意。
幸にして、まだSusie32 ver0.47bが公開されているのでこれを利用すること。
一度旧Susieを起動してしまえば、レジストリには残りっぱなしなのでディレクトリ移動をしない限り問題は起きない。
Windows再インストールの時など、環境作り直し時にはまる可能性があるので注意。
2015/04/12(日)https通信が出来なくなる
2015/04/12 15:20
とりあえず、回復したのでメモだけ。
[症状]
・PC1では問題あり、PC2では問題なし
・Chrome, IE, OpenTween, Tween, Windows Update, リモートデスクトップで全https通信がタイムアウトする
・Firefox, Twitamaだと問題なし
・ChromeだとエラーメッセージERR_TIMED_OUT
・OpenTweenは起動後ハング
・リモートデスクトップは 「リモート接続を保護しています」の画面でハング
・セーフモードだと上記いずれもタイムアウトしない(!?)
[確認したこと]
・Windows Firewall問題なし
・アンチウイルスソフトON/OFF症状変わらず
・スパイウェア対策ソフトON/OFF症状変わらず
・最初証明書を疑ったが、証明書ではないっぽい
・ウイルス・マルウェアを疑ったが、とりあえず検出されずそれっぽい挙動も見えず
・パケットキャプチャすると、正規のプロセスがちゃんと通信し始めてるのだが、通信の途中で途絶してTCP/IPタイムアウトでRSTが走っている
[対処]
・デバイスマネージャーから"Realtek PCIe GBE Family Controller"を削除してOS再起動→自動認識させたところ、通信ができるようになった
[参考]
PC Gamer リスト更新中 : Chromeで一部サイトのみSSL接続がタイムアウトするようになってしまった
ちゃんとパケットキャプチャを取っておかなかったのだが、Windows Updateなどによりフレームの分割数・サイズがドライバのバグに当たった、もしくはドライバそのものが何かに感染したのだろうか。
なんとなく
Win7 -> WinXPファイルコピー問題
これと同様の問題の気配。
httpsだけというのははじめてだったのでかなりハマった。
蟹ドライバがevilだったかどうかは確定できなかったが、やっぱり蟹は極力視界から排除した方がいいように思う。
2014/11/24(月)よくわからないビデオカードの話
2014/11/24 17:01
3Dゲーム性能は全く求めていないのでCPU内蔵でもいいかと思っていた。
が、PhotoShopやら動画再生やら考えたときにRADEONとか使うと改善するのでは? と思う場面があった。
その後紆余曲折あって、安物AMDビデオカード、nVidiaビデオカードと使ってみて、存外に動きが違う。しかもどれも一長一短。
どうすりゃいいのか分からないのでとりあえずメモっておく。
なお、完璧に環境揃えてテストしたわけではないので、誤認がある可能性あり。HD3000は細かく覚えてないので嘘がある可能性が高い。ドライバはその時点での最新版(非β)。
そもそも完璧に環境をフラットに出来なさそうではあるが……
試したのは3種。
・HD3000(i5 2500K内蔵)
・玄人志向 GF-GT520-LE1GH DDR3 1024MB(以下GT520)
・Sapphire HD6450 DDR3 512MB(bulk品型番不明、以下HD6450)
HD3000 | HD6450 | GT520 | |
---|---|---|---|
90°回転した拡張ディスプレイ間をまたぐWindowの描画 | 変 | 正常 | かなり変 |
デジタル放送視聴ソフト複数使用時の"CPU"負荷 | 普通 | 普通 | ちょい重い |
デジタル放送視聴ソフト複数使用時の"GPU"負荷 | 普通 | 軽い | 重い |
PhotoShopでOpenGL ON+ブラシを使用 | ? | 遅延大 | 遅延小 |
上から順に。
90°回転した拡張ディスプレイ間をまたぐWindowの描画
マルチディスプレイで、拡張デスクトップ&サブディスプレイを縦に回転して使っている。資料なんかを置くには縦の方が見やすいので。が、どうもウィンドウをディスプレイ間に置くと表示が乱れるカード(ドライバ?)が多い。
良く問題を生じるのがビデオ再生とかで、特にオーバーレイは鬼門(仕方ない気もするが)。
ウィンドウの境を左端として二重に描画してしまっているケースが多い。
GT520だとFireFoxですらこの症状が出る。HD6450は割と思った通りになる。
|デジタル放送視聴ソフト複数使用時のCPU/GPU負荷
デジタル放送視聴ソフトを4つ5つ立ち上げることがある。コーデックとかの設定は、EVR+AMD Video Decoderにしている。CPU負荷では大きな差はなく、HD6450が少し軽いくらい。1窓当たり3~5%くらいのCPU負荷がかかる。どれも再生支援が順当に効いているのか、ビデオカードよりコーデックを変える方が影響がでかい。
問題はGPU負荷。process explorerのGPU usageとかで見ると、4窓でGT520は50%を超え、他のありとあらゆる描画に遅延が生じる。
HD6450だと20%台をうろうろで、特に重くなることはない。HD3000は測っていないが、GT520ほど重くない。
なお、コーデックをMicrosoft DTV-DVD Video Decoderにした方が数字上のCPU負荷は低いのだが、CPU負荷と関係なく、HD6450 + AMDコーデックは再生窓のドラッグが快適だったりするのでさらに厄介。
PhotoShopでOpenGL ON+ブラシを使用
最後にPhotoShopのブラシ。Adobe PhotoShopはCS6(5だっけ?)からOpenGLによるキャンバスの回転やブラシの先端プレビュー、3D機能を実装した。
自分を含む一部の人には待望の機能だったのだが、HD6450だとブラシサイズが小さい場合でもかなり描画遅延する。描画がカーソルを遅れて付いてくる。先端プレビューを非表示にしても改善せず、OpenGLを切ると遅延はなくなる。ただ、キャンバスの回転が無くなるのが厳しい。GT520だと遅延は十分に小さく感じる。
まとめ
で。こういうのはカタログスペックだとホントよくわからない。
ハードの問題か、ドライバーの問題か、OSの問題か、アプリケーションの問題か、あるいはウイルス対策ソフトが邪魔しているのか、自分の使い方の問題か、切り分けるのは極めて難しい。
もちろん内蔵と大して差がないような安いビデオカードでの比較なのであーだこーだ言い難いのだが、アップグレードとして何買ったらいいのかよくわからない。
再生支援が優秀なGeForce? アーキテクチャの新しいRADEON?
答えはなんだろ、あるいは答えはないのか。
とりあえず、来年Broadwell-KかSkylake買うだろうからその時にもう一回見直しかなあ……
2014/08/25(月)HDDコピーメモ
2014/08/25 12:22
やりたいことは、2TB HDDにある2TBシングルパーティション(MBR)のデータを、4TB HDDに4TBシングルパーティション(GPT)切ってそこに全部移すこと。
環境はWindows7 64bit SP1。
元のHDDがMBRであり、かつ換装先がパーティションの条件上GPTになることに注意。
最終的な手順は、
1.元の2TBを取り外す
2.KURO-DACHI/CLONE/U3 で、2TB HDDから4TB HDDにコピー
3.4TB HDDを取り付ける。
4.MiniTool Partition Wizard Home Editionで4TB HDDをMBR -> GPT変換
5.同ツールで4TB HDDの2TBパーティションを拡張して4TBに変更
6.セーフモードで再起動
7.4TBパーティション(4TB HDD)のドライブレターを元の2TBパーティション(2TB HDD)と同一のものに変更
8.再起動
1.で取り外す前にドライブレターを開放しておけば、6~7手順は不要かも。
2.ではKURO-DAICHIでコピーした。
コピー速度がかなり速いので取り外して作業できるときは最近これを採用してる。
PCと安物HDDコピーハードどっちが信用できるかというと難しいけど、速度はだいたい後者の勝ち。
昔PC上のHDD間コピーでbit化けしたトラウマがあるのでPCでのファイルコピーをちょっと信用してないのもある。
もちろん取り外して作業ができるのが前提。
・はまりポイント1
MBR->GPT変換の必要性を忘れていて大混乱。
パーティション拡張しようとして、こけたり変な状態になったり。
2TB超だからソフトが対応してないのかとか考えてしまったが、先に変換しておかないとだめなのだった。
当たり前である。
・はまりポイント2
Windowsは取り外したHDDのドライブレターを記憶していて、取り外し後に通常起動するとそのドライブレターを予約状態("次のドライブ文字を割り当てる"の変更先リストに出てこない)にする。
レジストリいじったりいろいろやってみたけど、直し方がわからなかった。
セーフモードで起動すればとりあえずリストに出てくるので、それで。
・悩みポイント
パーティション変更ツールの定番がわからない。
今回は最新のEASEUSとかAOMEIとか試して、MiniTool Partition Wizard Home Editionを使用した。
以下、悩みリスト。
1.見た目が似たようなツールがたくさんある(おそらくエンジンも共通)
2.バージョンアップで機能が追加されるとは限らない。減るケースもある(特に商用版との絡みと制限がややこしい)
3.Unix系の定番(Parted Magicとか)より勝るのか劣るのかよくわからない
4.インストーラが余計なツールを積極的にインストールしてくるものが多い(天下のOracleもやってるとはいえ)
特に私がめんどくさいと思ってるのは2。
ちゃんと進化してくんだったらどっかの段階で商用版買うんだけどね。
今回使用したのは、MiniTool Partition Wizard Home Edition。
現時点では、
○パーソナルユースなら無料で使える
○2TB超対応
○MBR -> GPT変換機能あり
○パーソナルユースの機能制限は比較的緩そう(Dynamic Disk使わない、Serverで起動しない限りほぼフル機能と思う)
○Windows上からGUIで操作できる
○パーティションサイズ拡張は高速だった
○インストーラで変なもの入れる警告はなかった(入れていないかどうかは精査していない)
×GPT変換前にパーティションサイズを4TBにしようとしたら、通ってしまった上にパーティションサイズがマイナスになる変な状態に(バグ?)
良ソフトの気配。
一方、現時点のEASEUSはインストール時にbaiduを入れてこよう(baiduが悪いってんじゃなく)とするあたりでかなり悪印象だし、パーティション拡張はMiniToolよりかなり時間かかりそうな感じだった(あまりに時間かかってたので途中でプロセス止めてHDDコピーしなおした)。
2014/08/03(日)Acrobat ProのUpdateに失敗する
2014/08/03 14:47
アップデートに失敗しました キー\.xdp\AcroExch.XDPDoc\ShellNew を作成できません。そのキーへの十分なアクセス権を持っているかどうかを確認するか、またはサポート担当者へお問い合わせ下さい。というメッセージが出て失敗する問題。
環境は、
Windows7 Professional SP1(64bit)
Acrobat Pro 10.1.9
どうも既存のレジストリと衝突している模様。
とりあえず、レジストリエディタで\HKEY_CLASSES_ROOT\.xdpを削除してアップデートしてやると通るようになる。
ただ、アップデート後に該当キーに対してシステム管理者でもアクセス拒否される。この状態が正常かどうか不明。
バックアップをとって、自己責任でよろしく。
2014/05/08(木)x264オプション変えた
2014/05/08 24:28
普段使用しているx264エンコの-threadsオプションを2から1に変更した。
動画エンコと作業を同時にしている時間帯で他の作業が重くなるため。
CPUのコア数を増やせば改善することは明らかだが、intel x86の-E系は現在のラインナップだと100kコースで予算が合わない。消費電力の観点でもイマイチ。
Skylakeデスクトップが6コアになるという噂もあったので、待ってもいいかと思ったのだが最上位でも4コアとの情報が出てきたので色々検討。Haswell-E 6コアが安いとの噂もあるけど、それも先の話なのでとりあえず手を入れて様子見。
4C8T CPUだとエンコそのものは早くなりそうだけど、重さは改善しなさそう。後は何だろ、少しでもボトルネック取り除くためにGPU変えるくらいかなあ。
2014/04/23(水)マルチディスプレイ環境下でのFrameToon
2014/04/23 12:53
マルチディスプレイ環境下で、手描きアニメ作成ソフトFrameToonのタブレット座標検出がうまくいかない。
[環境]
マルチディスプレイタイプ: 拡張デスクトップ
ディスプレイドライバ: intel系
タブレット: intuos4 PTK-840/K0
ドライバ: Driver 6.3.7-5
タブレットのかなり狭い領域が画面に割りあたってしまい、縦横比もずれる。
FrameToonそのものについてはサポートが終わっていて、Webページも消えたソフトなので更新は期待できない。
タブレットドライバ側をアプリケーション指定で調整してもイマイチで悩んでいたのだが、
butimaru ログ: Windows8向けSai用wintabに位置調整追加
これを使うとあっさり解決した。
wintab.dllをFrameToonのフォルダに放り込むだけ。
cal.exeでの位置調整は使用していない。
突き詰めていないので、本家ドライバでも解消手段があるのかもしれないがこっちの方が早そうだ。覚えておこう。
2013/12/29(日)WindowsでUSBデバイスが最後に挿された日付を確認する
2013/12/29 16:53
for Windows7。
以下を参考。
NetAgent Official Blog: USBメモリとレジストリ
手順をまとめると、
- そのデバイスのベンダ名、デバイス名を把握する
- HKEY_LOCAL_MACHINE\SYSTEM\MountedDevicesからベンダ名、デバイス名で該当デバイスのGUIDを探す(バイナリデータ内にベンダ名、デバイス名が入っているので頑張って探す)。
- HKEY_USERS\<ユーザSID>\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2から前項で調べたGUIDを持つキーを探す。
- 前項で得たキーのタイムスタンプを調べる。
以下を参照。
レジストリ・キーの最終更新日時を調べる- @IT
2013/12/13(金)fi-6130のTWAINがフォーカスを取るのを抑止する
2013/12/13 16:27
とりあえずAPIフックで対処可能。
Windows API Hooking Tutorial
上を参考に、SetForegroundWindowを握りつぶせば良い。
最初単にグローバルフック(SetWindowsHookEx)でどうにかなるような気がしていたのだが、WM_ACTIVEAPPメッセージを握りつぶそうとしてもうまくいかなかった(WM_ACTIVEAPPが飛んできたタイミングは捕まえられる。そこで元のウィンドウにフォーカス移すのはちょと……)。
実のところWindowsのメッセージ機構の理解にあやしいところがあって、キーボード・マウス以外のメッセージにキャンセル機構がないのか、SetWindowsHookEx自体の制限か、それともWM_ACTIVEAPPメッセージは通知だけで、ウィンドウのアクティブ処理自体はエクスプローラ側の触れない領域にあるのかといったあたり判断できてない。C++でWin32ネイティブアプリ書いて、WndProc内であれこれやってみれば結論が出るんだろうけど、今回は時間がないので次回以降の課題。
.NET系でもマウス・キーボードのグローバルフックがかけられることは覚えておこう。
ソース整理できたらそのうち載せたいけども、元コードのライセンスがわからないな……