/* * ユーザ名取得 * * ==== 著作権表示はじめ ==== * Copyright (c) 1998 Yutani Miki. * All rights reserved. * * このコードの著作権は著作者に存在しますが、著作者は以下に列挙した * 事項以外には一切の権利義務を積極的には主張しないことを宣言します。 * (1) このコードを利用したことによるいかなる金銭的および非金銭的な * 損害についても著作者はその責任を負いません。このコードの * 一部または全部の利用は、当該利用者の責任において行ってください。 * (2) このコードの一部または全部を利用または再配布する際には、 * すべての利用者がこの記述 ("==== 著作権表示はじめ ===="の行より * "==== 著作権表示おわり ===="の行まで) を参照できる形式に * してください。 * ==== 著作権表示おわり ==== * * 確認した環境: * Platform: * Windows NT Workstation 4.0 SP3 (Japanese) * Visual C++ 5.0 (English) * Compile: * cl -nologo -W3 -D__STDC__ -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl * -D_X86_ -DWIN32 -D_WIN32 -D_WINNT -D_WINNT32_WINNT=0x400 * -D_WIN95 -D_WIN32_WINDOWS=0x0400 -DJAPAN -DDBCS -DFE_IME * -DWINVER=0x0400 -GX -MD -Z7 -Od -DNDEBUG -D_CONSOLE -D_MBCS * -TC -c -Fo./UserName.obj ./UserName.c * Link: * link -nologo -nodefaultlib -machine:IX86 * -debug -debugtype:coff -pdb:none -map -subsystem:console,4.0 * -out:./UserName.exe * ./UserName.obj * msvcrt.lib msvcprt.lib msvcirt.lib * kernel32.lib advapi32.lib user32.lib gdi32.lib * comdlg32.lib winspool.lib */ #include #include #include /* * メインルーチン * * Usage: UserName.exe * コンピュータ名を表示します。 */ int main(void) { /* * コンピュータ名を格納するバファを確保します。 * コンピュータ名の最大長を表す定数 UNLEN の値は * LM.H に定義されています。この定数は LAN MANAGER の * 制約に基づく値であり、将来にわたって Win32 の範囲で * 有効である保証はありません。 */ TCHAR uname[UNLEN + 1]; DWORD len_uname = UNLEN + 1; /* * GetUserName APIを呼び出してコンピュータ名を取得します。 */ GetUserName(uname, &len_uname); /* * 取得したコンピュータ名を表示します。 */ fprintf(stderr, TEXT("User Name: %s\n"), uname); return 0; }