資料」カテゴリーアーカイブ

Windowsのバージョン取得

使うことなんてないと思うけれど、一応メモ。
Windows系コンパイラなら問題なくコンパイルできると思う。
一応、MinGWでコンパイル、動作確認は行った。


#include <windows.h>
#include <stdio.h>

int main(void)
{
  unsigned int GV = GetVersion();

  printf("GetVersion API(GV)                        = %08X\n\n", GV);
  printf("_winver                                   = %08X\n", _winver);
  printf("_winmajor                                 = %08X\n", _winmajor);
  printf("_winminor                                 = %08X\n", _winminor);
  printf("_osver                                    = %08X\n\n", _osver);
  printf("(( GV << 8 ) | (( GV >> 8 ) & 0XFF)) & 0XFFFF = %08X (= _winver)\n",
                  (( GV << 8 ) | (( GV >> 8 ) & 0XFF)) & 0XFFFF );
  printf("GV & 0XFF                                 = %08X (= _winmajor)\n",
                  GV & 0XFF );
  printf("( GV >> 8 ) & 0XFF                          = %08X (= _winminor)\n",
                  (( GV >> 8 ) & 0XFF));
  printf("GV >> 16                                  = %08X (= _osver)\n\n\n",
                  (GV >> 16) );

  // Windows version(_winmajor, _winminor, _osver)
  printf("This system is [");
  if ( _osver < 0X8000 ) {
    // NT Group (_osver LowWORD MSB = 0)
    switch (_winmajor) {
      case 3:
      case 4:
        printf ("Windows NT %u.%u Build %u",
                         _winmajor, _winminor, _osver);
        break;
      case 5:
        switch (_winminor) {
          case 0:
            printf ("Windows 2000 Build %u", _osver);
            break;
          case 1:
            printf ("Windows XP Build %u", _osver);
            break;
          case 2:
            printf ("Windows Server 2003 family Build %u",
                                    _osver);
            break;
          default:
            printf ("NT Group Windows Build %u", _osver);
        }
        break;
      case 6:
        switch (_winminor) {
          case 0:
            printf ("Windows Vista or Windows Server 2008 Build %u", _osver);
            break;
          case 1:
            printf ("Windows 7 Build %u", _osver);
            break;
          default:
            printf ("NT Group Windows Build %u", _osver);
        }
        break;
      default:
        printf ("NTGroup Windows Build %u", _osver);
    }
  }
  else {
    switch (_winmajor ) {
      case 0: //Win32s Group
      case 1:
      case 2:
      case 3:
        printf ("Win32s Build %u", _osver & 0X7FFF);
        break;
      case 4: // 9X Group (_osver is invalid.)
        switch (_winminor) {
          case 0:
            printf ("Windows 95 Build ----");
            break;
          case 10:
            printf ("Windows 98 Build ----");
            break;
          case 90:
            printf ("Windows Me Build ----");
            break;
          default: // To make sure
            printf ("Newer than Windows Me");
        }
        break;
      default: // To make sure
        printf ("Newer than Windows Me");
    }
  }
  printf("]");

  return 0;
}

英語の勉強に役立つサイトまとめ

まだ全部試せたわけじゃないけれど、基本的に無料で集めたつもり。

個人学習

コミュニティ

いいサイトや、使ってみた感想などありましたらここを参照した方へのアドバイスになりますので
コメントに書いていただけると助かります。

日本語と英語の翻訳エンジンまとめ

翻訳エンジンに注目して、翻訳サービスを列挙してみた。

FOMA携帯の着信音の作成方法

マイナーな曲を着信音にしたい場合は作るしかないですよね。
ということで着信音に設定可能な3gp着モーションの作り方メモ。
SoundEngineFreeの画面「着もと」の画面1「着もと」の画面2

  • 準備
  • 作り方
    1. お好みの音源をWAVE形式(*.wav)にしてSoundEngineに読み込ませる
    2. 着信音にしたい音を1分程度を目安に切りだし、WAVE形式で保存
    3. 切りだした音源を「着もと」で開く
    4. 着もとの[ツール(T)]-[オプション(O)…]-[変換設定]で「変換設定(AAC-LC)」を開く
    5. サンプリングレートによって音質とファイルサイズがきまるので適切なものを設定する
      (携帯によって設定可能サイズが異なります。300KB制限、500KB制限など)
    6. 女性の顔のアイコンを押し、WAVから3GPに変換する
    7. 途中でタイトル等の入力が求められるので、携帯で見たときに分かりやすいタイトルを入力
    8. 着モーションファイル(*.3gp)を携帯にメールの添付などで送る
      (SDカードに直接入れても認識しないものがあるのでWeb上に置いてダウンロードするかメールでの転送)
  • 参考

アプリケーションインストールCABの作り方

WindowsMobileのアプリケーションインストールCABの作り方メモ

  1. 準備

    CAB Wizardの入手
    Microsoftから配布されているSDKから”Cabwiz.exe”,”Makecab.exe”,”Cabwiz.ddf”をとりだす。

    MSCEInf(CAB Analyser)の入手

  2. 参考Infファイルの構文

    MSDN
    HTC Universal 活用のための情報ページ:CABファイルの作成:第2章 infファイルの作成

  3. 制限

    Cabwizおよびinfファイル内のパスは255文字制限を受ける。

Excel VBA リストボックスで強制終了

Office 2007 アプリケーションでActiveXコントロールを使用し、コントロール上でマウスホールを使用するとクラッシュする。
たとえば、Excelでリストボックス(ActiveX)を使用した場合、リストボックス上でマウスのホイールを回転させると Excel 2007 がクラッシュする。

その修正プログラム(Hotfix)はMicrosoftの下記のページから提供されている。
KB944754:2007 Office Post-Service Pack 1 の修正プログラム パッケージ

復旧に使えるLinuxツール

システムがさまざまな理由で起動しないときに使えるLinuxツールをメモ。

Trinity Rescue Kit
CUIベースだけれどとても優秀。

SystemRescueCd
GUIで操作可能でHDDのテストやFTPなども行える。

F-Secure Rescue CD
アプリケーションの整合性チェックやファイル修復など高機能。

safecopy
エラーが発生しているディスクからのコピーも行える。

いろいろなOS

とにかくいろんな種類のOSをいじってみたいが毎回調べて忘れての繰り返しなので期待してるOSをメモして、いろんなところに残しとこう・・・。

  • モノリシックカーネル
    • BSD
      • FreeBSD
        忘れちゃいけないBSDの大御所
      • OpenSolaris
        Solarisといえば
    • Linux
      • INSERT
        データ救出用Linux
      • PuppyLinux
        古いPCでも軽快に動くことを目的としたLinux
      • GentooLinux
        玄人向けのLinux
      • EcoLinux
        日本人の大学生ががんばってるLinix
      • Elive
        きれいで動きのあるGUIを提供するLinux
      • Chromium OS
        Googleの作っているLinuxベースのWebOS
      • Joli OS
        Jolicloudの作っているUbuntu LTSベースのネットブック用OS
      • Splashtop OS
        MicrosoftがDeviceVM社と組み、Linuxをベースとした軽量Webアクセス用OS
      • Damn Vulnerable Linux
        無防備極まるセキュリティ学習用Linux
      • BackTrack
        セキュリティチェック用Linux
    • Amiga
      • icaros desktop
        AmigaOS3.1 互換 AROSのディストリビューション
      • Syllable
        AtheOSの派生OS
    • MS-DOS
      • FreeDOS
        MS-DOS互換OS
  • マイクロカーネル
    • Minix
      UNIX風教育用OS
    • BeOS
      • Haiku
        今はなきBeOSの思想を引き継いだOS
    • L4
      マイクロカーネルらしさを追求した第二世代のマイクロカーネル
    • MonaOS
      2ちゃんねる発
    • MikeOS
      OSの勉強にもってこい
    • ナノカーネル
      • JNode
        ほとんどすべてをJavaで作ったOS
  • ハイブリッドカーネル
    • ReactOS
      WindowsNT互換OS
    • Plan9
      次世代Unixを志した分散OS

OS/2 や NetWareはないんだよなぁ・・・
まぁ、個人で使うことなんてないようなOSなんだけれど。

7種類のかっこの読み方

幅広い分野で使われる括弧。読み方が統一されていて名前が通じるものもありますが、何と読んでいいのかわからない括弧もあります。そこで、主要な括弧の読み方をまとめてみました。何種類もの読み方があるものもありますが、よく聞くネーミングをまとめています。

( ),( )
小かっこ、丸かっこ
{ },{ }
中かっこ
[ ],[ ]
大かっこ
<,>
小なり、大なり
「 」
かぎかっこ
『 』
二重かぎかっこ
【 】
墨つきかっこ

Excelの便利な11のショートカット

11 very useful excel keyboard shortcuts you may not know

  1. [F4] or [Ctrl] + [Y]
    直前の作業を繰り返します。
    • [Ctrl] + [;]
      現在の日付を入力します。
    • [Ctrl] + [Shift] + [:]
      現在の時刻を入力します。
  2. [Ctrl] + [‘]
    上のセルからデータをコピーします。
  3. [Shift] + [F2]
    セルにコメントを挿入します。
  4. [Alt] + [F8]
    マクロダイアログを表示します。
  5. [Alt] + [=]
    オートSUM数式を挿入します。
  6. [Ctrl] + [Shift] + [$]
    数字の表示形式を通貨に設定します。
  7. [Ctrl] + [Shift] + [&]
    選択されたセルに外枠の罫線を設定します。
  8. [Ctrl] + [Shift] + [!]
    数字の表示形式を桁区切りに設定します。
  9. [Ctrl] + [Shift] + [F]
    フォントのドロップダウンにフォーカスをあてます。
  10. [Ctrl] + [Shift] + [P]
    フォントサイズのドロップダウンにフォーカスをあてます。