ようこそ画面でユーザーアカウントを非表示にするには

共有用のリモートアカウントなどようこそ画面に表示しなくていい場合に
ユーザーアカウントを非表示にする方法
あとは管理アカウントを非表示にするとか

前提

Windows 7

手順

  1. 任意のアカウントを作成しておく(作成済みなら飛ばす)
  2. レジストリエディタ(regedit)を開く
  3. 「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList」へ移動する
    • もしキーが無ければキーを作成する(キー(フォルダ)をクリックして新規>キーで作成)
  4. 上記キーの中にアカウント名に対応したDWORD(32bit)を作成
    • 値を0にすれば非表示、1にすれば表示
    • デフォルトは表示なので非表示にしたいアカウントだけ作成すればよい

以上で再起動もせずに非表示になっていることが確認できる。
(標準設定のままならAlt+Ctrl+Delでユーザーの切り替えをすれば確認できる)

ISE Simulatorが起動しない件

ISE Simulatorが突然起動しなくなってしまったり、インストールしたてにも関わらず起動しないことがあります。
その解決方法が中国語フォーラムにてあったので紹介します。
http://zhidao.baidu.com/question/144780548

発生する現象

テストべンチを記述し、いざシミュレーション!とISE Simulatorを起動しようとしても起動しない。
エラーコンソールに次のエラーが表示される。

Signal Unknown signal

解決方法

名前を指定して実行、もしくはWindowキー+Rで"service.msc"と入力し、サービスツールを起動する。
"Web Client"の項目が手動になっているはずなので、自動に設定し、開始ボタンでサービスを開始する。
ISE Simulatorを起動しなおす。


これだけで治りました。
Web Clientを開始しておいて不具合がある場合は"自動"設定にせずに"手動"のままにしておき、
必要なタイミングで開始・停止してやれば良いです。

毎回めんどい!って場合は次のバッチファイルを作ってやればOKです。

  • Web Clientの開始
net start webclient
  • Web Clientの終了
net stop webclient

Xperia用モバイルバッテリー改造計画

はじめに

Xperiaを発売日に購入して以来、多少なりとも電池には悩まされてきました。
まぁそのあたりについてはかなり他所で議論になってるわけですが・・・。
常駐を減らす、使わない通信機能をカットする等々方策は練られているわけですが
結局の所、普通に使って消費する分は戻らないし使い方そのものを変える必要があるわけで
電池のために機能を削って使いにくくしていたら本末転倒。
使える機能はバンバン使うのがいいと思うわけです。

となると、出先で充電するしかないわけです。
そこで登場するのがモバイルバッテリー。
昨今のバッテリー事情が消費面でよくなったからか容量・価格等々だいぶ手に入れやすくなりました。

そこでちまたで話題の SANYO - eneloop stick booster / KBC-D1AS です。
http://jp.sanyo.com/eneloop/lineup/booster02.html

こいつは単三電池x2で動作するUSB出力付き充電器で、こいつで充電してやろうって考えです。

eneloop stick boosterとXperiaの相性問題

しかし、eneloop stick boosterのUSB出力からよくあるmicroUSBケーブル(通信用)をつないでも充電できません。
この理由はXperiaは充電に関して次の仕様があるらしいからです。

・差動端子(D+、D-)が短絡していること

公式仕様かは知らないですが、これがされていないとモバイルバッテリーでは充電できないんです。

eneloop stick booster改造計画

そこでD+とD-が短絡されている充電専用ケーブル、充電通信切り替えケーブル、
両端子つきケーブル等々が販売されているわけですが、物を増やしたくない!というコンセプトのもと
充電器側に細工をしてやろうって魂胆です。
これはeneloop stick boosterに限らず、そこらの充電できない仕様のモバイルバッテリーに通用します。

下調べ

まずはUSBの端子について調べます。
Wikipediaに詳しく載ってました。
http://ja.wikipedia.org/wiki/Universal_Serial_Bus#.E3.83.94.E3.83.B3.E9.85.8D.E7.BD.AE

次にテスターで各端子を調べてみました。

GND〜Voutは当然5V程度。
ですがGND〜D+とGND〜D-がなんでか2Vほどでてるわけです。
USB規格とかはよくわからんですがこれと短絡させればよいようです。
ちなみにD+〜D-は絶縁でした。

具体的な方法論

そこでとった方法が金属片で直接短絡させる、です。
半田を使うと盛り上がってUSB端子をぶっ壊したり後戻りできない恐怖があります。
筐体のプラスチックを溶かしてしまうこともあるため危険。
となると適当な金属片で接触させよう、ってけです。

作り方

今回使用したのは0.5mm厚の銅板です。
まず5mm x 10mmくらいに切り出します。
いらない工作ばさみで切れます。

若干歪むのでハンマーで叩いて平面に慣らします。

次に長手方向に対して3.0〜3.5mm程度の場所で90度曲げます。
たぶん次の削りの後のほうが曲げやすいですが、均等に削れていないと直角に曲げにくいので
先に曲げるといいです。
普通に曲げるとRがついてしまうため、角のある堅いものの角でハンマーを叩くなどしてきれいに曲げると良いです。
横からみてL字状になるわけですが、長辺側が端子に接触するところ、短辺側が端子の土台部分にひっかけるところです。

次に0.5mmでは分厚すぎるためやすりで削ります。
切り出す前にやったほうが楽だろ!って人はそうして下さい。
長辺側は#2000くらいで研磨もしておくといいです。
研磨しておかないとUSB端子が摩耗しそうです。

短辺側を1mm〜1.5mmほど残してカットします。
3mmくらい残していたのは加工のしやすさ的な意味でなので引っかかる部分は1〜1.5くらいです。
カットはニッパーでぷちっと。

メイン加工はこれくらい。
あとは調整。

動作テスト

D+D-端子部分に作った金属チップをかぶせてやります。
小さいのでピンセット必須です。

その状態でUSBオス端子をぶすりと指してmicro側をXperiaに接続。
そしてeneloopのスイッチおん!
一発で充電ランプが光ればナイス加工です!

自分は厚みがありすぎたり、削りに偏りがあったりしたので純正ケーブルではなかなか充電ランプが光らず・・・。
端子を壊れない程度に左右にぐいっと押して接触がきれなければOK。
接触不良が起こっているようであれば削りと研磨をくりかえしてできるだけ薄くしてやります。
ただ薄くしすぎると端子接触の圧で変形・破損してしまうので「できるだけ」ってのは「動くぎりぎりの厚みを残す」ってことです。

まだチップを固定していないので端子を抜くとき、にポロっとどっかいかないように気をつけて下さい。

接着固定で完成!

若干こわいですが接着します。
100均の瞬間接着剤を使いました。
eneloopの端子側の中央にチョンとつけてピンセットでのっけで位置調整。
そしてUSB端子をブスリと刺してしばらく放置。
たぶんこれで固定できてるはずです。
何度か抜き差ししてとれたりズレたりしてなきゃしばらく持つと思います。


一応書いておきますが変なとこショートして壊れた!とか責任はとれないので自己責任ですよー。

※画像はまた今度貼ります

データが失われる可能性を防ぐため、デザイナの読み込み前に以下のエラーを解決する必要があります

C++のプロジェクトでフォームのデザイナを開いたら表題のエラーが表示されてデザインの変更ができなくなることがある。
プロジェクトのクリーンも効果なし、ってことで調べたら次の対処で暫定的に動くらしい。

http://social.msdn.microsoft.com/Forums/ja-JP/vsfeedbackja/thread/02fbd2d4-4412-43e4-a364-e7751504133f

・プロジェクトを閉じる
・Debugフォルダを全部削除する
・フォルダのプロパティ詳細設定からアーカイブのインデックス作成をしないようにする


あとついでにフォルダ下全部のファイルの読み取り専用属性を外しておいた。
(別件でncbファイルに書き込めないとかエラーが出たので)

コマンドラインと電話による Windows 7 アクティベーション

Windows 7 Enterprise (x86) をインストールしたはいいけどちょっとおかしい。
自宅に入れた Windows 7 Professional(x64) は何の不調もなく動いてるんだけど・・・。

症状としては

という感じ。
エラーとしては

0x80072ee2

というエラーがでる。
エラーとしては接続できない(タイムアウト)というエラーなのだが、MSのサポートサイト曰く

http://support.microsoft.com/default.aspx/kb/836941

こういう対処法があるらしい。
が、一通り試したけどうまくいかない。
というか定義更新の方はインストール後しばらくして1度だけ通った。
Updateも数回だけ通ったので何かネットワーク的な問題がある気が・・・。
ちなみにMSのサイトにはつながるしUpdateのサイトにもつながる。
よくわかりません。

電話認証によるアクティベーション

とりあえずアクティベーション期限が@3日と迫っていたので電話認証することに。

MS電話認証窓口(24h)
0120-801-734

音声案内に従って番号をプッシュするだけ。
必要な番号はコマンドプロンプト(cmd)で次のコマンドを実行すると表示される。

slmgr -dti

この番号を入力すると、音声で認証ID(数字54文字)を伝えられるのでメモ帳にでもメモっておく。
そして次のコマンドで認証すれば見事 genuie マークが!

slmgr -atp <認証ID>

ただし後者のコマンドは管理者権限が必要なので、スタートメニューから右クリック→管理者として実行
として管理者で実行したコマンドプロンプトからでしか実行できない。

Update関連ファイルのバックグラウンド転送サービスの有効化

Windows には Background Inteligent Transfer Service というサービスがあり、
こいつを開始しておかないとDLできないことがあるらしい。
ソースは失念しました・・・。

ということでサービス(ローカル)一覧から有効化してみた・・・けどダメだった。

      • -

しかしMSSEやWinUpdateがかからないのでいずれにしても問題を精査しなくてはー・・・。
自宅では何とも無いのになぁ。

メモリ(SRAM)操作のテクニック

SRAMにカメラからの画像を書き込みつつ、ディスプレイ表示用の画像を読みだす場合。

両方ともピクセルクロックは25MHzでSRAMの応答が10ns(W/R)
すると50MHzで1クロック以内に処理が可能だからメモリは50MHzで動作可能。

時系列でみると

 50MHz - WRWRWRWR....

※W:書き込みデータ
※R:読み出しデータ

というタイミングでデータを読み書きしなければカメラ画像を書き込みつつディスプレイ画像を読みだすことができない。
しかし、WriteSignal(OE、WE)の変更が多くなりタイミングが複雑になる。

そこでFIFOを入れる。

 Camera --> FIFO --> Memory
 Disp. <-- FIFO <-- Memory

カメラからの入力データとディスプレイへの出力データは25MHzでFIFOからもれなく処理していく。
しかし、実際のメモリへのアクセスは1ラインで2分割し

 |------R------|------W------| 1Line

とすれば、最大1/2ラインの遅れでWriteSignalの切り替え回数を大幅に減らすことができる。
切り替え回数が少なければハザードも起こりにくい。


ちなみにWriteSignalは50MHzをさらに逓倍した100MHzで生成すれば同期をとりつつ細かい時間遅延を再現できる。