Windows 10 Home から Pro へのアップグレード手順 (プロダクトキー所持前提)

Home から Pro にアップグレードする場合にも、OS のインストーラーなどを使ってアップグレード(再インストール)が必要なのかなーと思ってたのですが、実際やってみたらそのまま Home で更新がかかるみたいでした。

実は Home から Pro にアップグレードする場合は「システム」からプロダクトキーを入力するだけでいいみたいです。Windows の中身は実はみんないっしょで、エディションによって機能に制限をかけているのでしょうか。(とは言っても中身が同じなのは Home と Pro ぐらいのような気もしますが)

image

一応やってみたところ、プロダクトキーを入力する専用の画面が出てきて、入力後アップグレードが実行、再起動して完了でした。インストーラーとかは特に不要でした。

Share this...

Windows 10 で頻繁にスリープから勝手に復帰する問題(たぶん解決)

Windows 10 に限ったことではないのですが、この問題は割と多くの人が体験しているのではないかと思います。しかも原因は多種多様で、Web で調べてみても結構なパターンがあることが分かります。

自分の環境でも Windows 8 の頃は Media Center あたりが問題で、タスクスケジューラーの設定を変えて解決した記憶があるのですが、Windows 10 にしてからは原因がまったくわからず数か月ぐらい放置していました。(まあ、定期的に原因を調べてはいたのですが…)

で、ほんとにふと思いついたのですが、「もしかして外部から勝手に起動されているんじゃないか」と思い、寝る前に LAN ケーブルを抜いて数日間様子を見たところ、スリープが勝手に解除されることがなくなりました。

一応 PC は WOL で起動できるように設定していたため、無効にはしたくなかったのですが、頻発するスリープ解除に比べれば WOL を使って起動することは年に1回もないかなと思い、ネットワークデバイスの設定を見てみたら、案の定ネットワークからスリープ解除できるようになっていました。しかも WOL だけ起動許可にしていたつもりだったのですが、ひととおり解除許可できる状態になっていたようです。Windows 10 にアップグレードした後に設定を忘れていたのかな…。

image

とりあえず、Magic Packet のみ許可して数日間様子見しましたが、今はスリープが勝手に解除されることはなくなりました。原因がみんなまちまちなので解決するのが結構厄介でしたね…。

同人誌、同人ゲーム、同人ソフトのダウンロードショップ - DLsite
Share this...

ちーたんタッチボードを使ってExcelで現在日時を1キーで入力する

ユーザーさんからの質問で、Excel の入力でちーたんタッチボードでキーを押したときに現在日時を「yyyy/mm/dd hh:mm:ss」形式で入力したいというのがありました。

Excel ではショートカットキーを使うことによって現在の日と時間を1回で入力することができます。「Ctrl+;」で「年月日」、「Ctrl+:」で「時分」が自動でセルに入力されます。

今回の入力は「年月日」と「時分」の間にスペースを入れるので、キーボードの操作では「Ctrl+;」「スペース」「Ctrl+:」ということになります。これをちーたんタッチボードのキー1回押しで実現させます。

image

ちーたんタッチボードでボードをカスタマイズされている方はもうご存知かもしれませんが、ちーたんタッチボードではキー1つに対して複数のキー押下を割り当てることができます。設定の仕方とか説明すると長くなってしまいますのでホームページのほうを見ていただければと思いますが、キーのパラメータの「Processes」に値を設定することによって、その動作を行うようになります。

image

で、Excel のセルに現在日時を1発入力させるには以下のパラメータを設定することによって可能です。Processes はあくまでもキーの同時処理がメインなので、順番に処理させるのは得意ではないのですが、少し裏技的な設定で可能です。

[{“KeyType”: “LeftCtrl”},{“KeyType”: “OemSemicolon”},{“KeyType”: “LeftCtrl”, “ExecuteTiming”: “Pressed”},{“KeyType”: “Space”},{“KeyType”: “LeftCtrl”},{“KeyType”: “Colon”},{“KeyType”: “LeftCtrl”, “ExecuteTiming”: “Pressed”},{“KeyType”: “Enter”},{“KeyType”: “Up”}]

ここでミソなのが、セミコロンを入力した後に再度 Ctrl キーを押すようにしています。パラメータ「ExecuteTiming」に「Pressed」を指定することによって押下した直後にリリースさせることができます。一番最初の「Ctrl」は実際にキーを指から離すまでずっと押下が有効になってしまうため、後ろのスペースキーにも影響してしまいますが、その前に Pressed で離す動作を入れることによって Ctrl キーを強制的に無効にしています。

後はショートカットキーの流れで実行しているので現在日時が入力されるというわけです。後ろ2つで Enter と Up を指定していますが、現在日時を入力しただけではセルの入力が確定していないので、Enter キーで確定させ、選択が1セル分下に移動するので↑キーで戻すようにしています。この辺りは必要であれば入れたり外したりしてください。

ちなみにこのパラメータを指定すると、キーボード的には下のような流れの動作になります。

  1. Ctrlを押す
  2. セミコロンを押す
  3. Ctrlを押す
  4. Ctrlを離す
  5. スペースを押す
  6. Ctrlを押す
  7. コロンを押す
  8. Ctrlを押す
  9. Ctrlを離す
  10. Enterを押す
  11. ↑を押す

Ctrlキーを2回押すという物理的にはあり得ない動作になっていますが、そのあとのCtrlを離すできちんと離したことになるみたいです。

あと、このキーを押しっぱなしにするとセミコロンとコロンが入力されてしまうという動作になってしまいますので、押すのは1回だけにしてください。

image

※問い合わせていただいたサンプルキーを使っています。

Share this...

Windows 7 + IE11 の環境で ASP.NEt Web サイトプロジェクトを実行したときに IE の画面が真っ白になる現象を治す方法

メモです。

以下のパターンのいずれかを試す。

  • スタートから「Internet Explorer」を検索し、アドオンなしで実行する
  • タスクマネージャーを開き、「iexplorer」をすべて削除する
Share this...

JSON テキスト整形 Web アプリ作りました

.NET Framework の標準機能でオブジェクトを JSON にシリアライズすると、改行やインデントのない1行の JSON テキストとして出力されるのですが、さすがにそのままだと見づらいので、プログラムで JSON テキストを解析して改行やインデントを付加し、見やすくしてたりしていました。

というのをずっと前に実装していたのを忘れていて、この機能ほしいなーと思っていたら、そういえばなんかそういうの作ったことあった気がするなー、と思い出しました。

ほかのサイトでも JSON の整形をやってくれるところはあるのですが、せっかくメソッド1個呼べば整形できるプログラムがあったので自サイトにもあってもいいかなと思って作ってみました。

とりあえず仮で作ったのでβ版開発室においてあります。本アプリとしてリリースするかはまだ決めていませんが、使ってみたい方は使ってみてください。

使い方は簡単で、JSON テキストを入力テキストエリアに張り付けて変換ボタンを押せば出力テキストエリアに整形された JSON テキストが出力されます。

変な形式でなければたいていはきちんと出力されるはずです。変な形式だと変なテキストが部分的に返されるはずだと思います。特別構文のチェックを行っているわけではありません。

Share this...

しゃべりながらゲーム制作やってみます #26 Ver 0.20 公開!

ゲーム開発中デモ版 Ver 0.20 を公開したので、その改修内容や変更点について説明をしています。作るにあたって気を付けた点や、Ver 0.20 の内輪話などもしています。

ゲーム画面を実際に動かして説明しているので、画質が悪いです。ご了承ください。(エコ回避で動画イサイズを小さくしているので)

ほんとは昨日のうちに公開できるはずだったのですが、なぜかエンコードするとツールがエラーで落ちまくっていたので、四苦八苦しながら作って遅くなりました。

Share this...

ゲーム開発中デモバージョン Ver 0.20 を公開しました!

結構時間が経ってしまいましたが、ようやく Ver 0.20 を公開しました。公開 URL は以下のページになります。

2016-03-06 15_41_45-Greenshot_600px

前のバージョン 0.10 と同様にデモ版の公開は Silverlight での動作になります。なのでゲームをプレイされる方は Windows かつ IE11 でページを開いてください。ほかの OS やブラウザの場合、設定などで動かすことはできるかもしれませんが確認はしていません。(例えば Google Chrome では絶対動かない、FireFox は設定変えれば動くなどがあります。)

また、今回のバージョンからゲームを GPU で動かすようにしたので、初めてプレイされる方は Silverlight の設定を変える必要があります。変更手順についてはゲーム公開ページの下のほうに記載しましたので、その手順で変更をお願いします。

そのほか操作方法や、Ver 0.10 からの改良点なども上記のページに記載してありますので、ぜひ遊んでみてください!

Share this...

ゲームデモ版 Ver 0.20 について

結構時間がかかってしまいましたが、ようやく公開できそうな段階まで出来上がってきました。都合がつけば今週中ぐらいにはアップできると思いますが、仕事がやたら忙しいため、下手すると次の週末になりそうな予感もしています(実際その確率のほうが高い)。

変更内容とかは公開したときに書きたいと思いますが、Ver 0.20 からは GPU 処理に代わりますので、ゲームを始める前に1回 Silverlight の設定を変更する必要があります。変更方法については公開後に、該当ページに説明を入れておきます。1回設定すれば、ほかのバージョンを公開した場合でも再設定の必要はありません(同一ドメインならそうだった気がします)。

パフォーマンスは想定していたよりはいい感じです。まあ結構アルゴリズムの最適化を行ってきたのでそうでないと割と困るのですが(^^;)。一応持っているデスクトップPCとノートで動かしてみましたがほぼ問題ありません。どちらも割と高スペックなのであまり参考にはならないのですが…。試しに DELL の Venue Pro 8 のタブレット PC でも動かしてみたのですが、たぶん 30FPS ぐらいでスムーズに動いている感じでした。ただ Ver 0.20 はまだキーボードしか対応していないので、ちーたんタッチボードを起動して無理やり操作したのですが。

続きは時間が取れた時に。下に載せたイメージは開発中の画面です。

2

同人誌、同人ゲーム、同人ソフトのダウンロードショップ - DLsite
Share this...

Silverlight で XNA のコンテンツプロパインを使うためのプロジェクトファイルへの追加書き込み

なんか毎回忘れているのでメモ書き。

csproj ファイルをテキストファイルで開き、Project タグ以下に以下のタグを追加する。

<PropertyGroup>
   <XnaContentProject>..XXXXSampleContentProjectXXXXSampleContentProject.contentproj</XnaContentProject>
</PropertyGroup>
<Target Name="BeforeBuild">
   <MSBuild Projects="$(XnaContentProject)" Properties="XnaContentPipelineTargetPlatform=Windows;XnaContentPipelineTargetProfile=Reach" />
   <CreateItem Include="$(XnaContentProject)">
     <Output TaskParameter="Include" ItemName="XnaContentProjectItem" />
   </CreateItem>
   <CreateProperty Value="%(XnaContentProjectItem.RelativeDir)">
     <Output TaskParameter="Value" PropertyName="XnaContentProjectPath" />
   </CreateProperty>
   <CreateItem Include="$(XnaContentProjectPath)cachefile*targetpath.txt">
     <Output TaskParameter="Include" ItemName="XnaContentCacheFile" />
   </CreateItem>
   <ReadLinesFromFile File="@(XnaContentCacheFile)" Condition="Exists(@(XnaContentCacheFile))">
     <Output TaskParameter="Lines" ItemName="XnaContentOutputs" />
   </ReadLinesFromFile>
   <CreateItem Include="@(XnaContentOutputs->'$(XnaContentProjectPath)binAnyCPU$(Configuration)%(Identity)')" AdditionalMetadata="Link=Content%(RelativeDir)%(Filename)%(Extension)">
     <Output TaskParameter="Include" ItemName="Content" />
   </CreateItem> </Target>

ただし、プロジェクトをビルドしたりなんかしているといつの間にか以下のようなコメントが csproj ファイルの中に追加されていて、前に追加したタグもすべてコメントアウトされていることがある。

To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets.

実はコメントアウトされたタグの下にまったく同じタグが再度追加されているが、なぜかこのコメントアウトされたものが残っていると正しくコンテンツパイプラインが動作しない。なのでコメントをすべて削除して再ビルドする必要がある。

メモ書きなので環境によっては動作が異なる場合があるので注意してください。

Share this...

ゲーム開発進捗 2016/02/12 またまたGCとパフォーマンス

どういった場合に GC の対象となるか調べてコードをいくつか改善してみました。おおざっぱなキャプチャしかとってなかったのであんまり参考にならないですが、改善前はこんな感じ。

2016-02-07 11_11_05-CpuGameDanke1UAP - Microsoft Visual Studio

10秒の間に2~4回ぐらい GC が発生していました。

改善した結果がこちら。

2016-02-11 20_12_39-CpuGameDanke1UAP - Microsoft Visual Studio - コピー

10秒に1~2回ぐらいまで抑えられました。まだ改善できそうな箇所があるのでもう少し頑張ってみます。

まあ GC の発生を改善すれば処理速度向上するかなーと思ってたんですが、気持ち程度でしたね。ただ、確実によくはなっていると思います。

とりあえず現状のパフォーマンスでユニットをたくさん出してみました。

2016-02-11 23_57_23-CpuGameDanke1UAP.Windows - コピー

ユニットがどれだけいるかわからないのですが、一応開発マシンでは FPS が 50~60 でている感じです。ただ、開発マシンはスペックが高く、ノートでやると明らかに落ちているのでまだまだ改善しないといけないですね。というかそもそもこんなにユニット出すのかっていう前提もあるんですが (^^;)

ロジックを最適化する場合、たいていは無駄な判定とか減らすのですが、それをやると正常に動かなくなることが割と多いです。これを直すのに意外と時間かかったりしますね。

Share this...