コンピュータ名を調べる

コンピュータに付けられた名前を調べて MessageBox に表示します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プロジェクトの設定

  1. 新規プロジェクトで[空のプロジェクト]を作成します。
  2. メインプログラムのソースコードです。
    /*******************************************/
    /*★ コンピュータ名を取得する    前田 稔 ★*/
    /*******************************************/
    #include    <windows.h>
    
    char    strBuf[MAX_COMPUTERNAME_LENGTH+1];
    DWORD   len= MAX_COMPUTERNAME_LENGTH;
    
    //★ Windows Main 関数
    int  WINAPI  WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, int nCmdShow)
    {
        GetComputerName(strBuf,&len);
        MessageBox(NULL,strBuf,"コンピュータ名",MB_OK);
        return 0;
    }
        
  3. GetComputerName() でコンピュータ名を取得します。
    マイ コンピュータを右クリックして [プロパティ] から [コンピュータ名] で表示される値と比べてみて下さい。

【メモ】

WinMain() の書き方は作成者により様々で、私もそのとき参照するテンプレートにより決まります。
どの方法で記述しても実質的には同じようなので確かめてみて下さい。
確認はしていませんが Windows NT などでは _tWinMain() を使うのが良いようです。
  1. Windows 3.1 から使われている歴史的な (^_^; 書き方です。
        #include    <windows.h>
        //★ Windows Main 関数
        int  PASCAL  WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, int nCmdShow)
        {
        }
        
  2. PASCAL ではC言語に悪いと思ったのか (^_^; WINAPI が使われ始めました。
        #include    <windows.h>
        //★ Windows Main 関数
        int  WINAPI  WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, int nCmdShow)
        {
        }
        
  3. ワイドキャラクタに合わせて _tWinMain() に変わりました。
    tchar.h をインクルードして下さい。
        #include    <windows.h>
        #include    <tchar.h>
        //★ Windows Main 関数
        int  WINAPI  _tWinMain(HINSTANCE hInst, HINSTANCE, LPSTR, int nCmdShow)
        {
        }
        
  4. 現在最も新しいと思われる書き方です。
    tchar.h をインクルードして下さい。
        #include    <windows.h>
        #include    <tchar.h>
        //★ Windows Main 関数
        int  APIENTRY  _tWinMain(HINSTANCE hInst, HINSTANCE, LPSTR, int nCmdShow)
        {
        }
        

超初心者のプログラム入門(Win32API C++)