Skip to content

Instantly share code, notes, and snippets.

@diyan
Created December 12, 2012 16:04
Show Gist options
  • Save diyan/4268997 to your computer and use it in GitHub Desktop.
Save diyan/4268997 to your computer and use it in GitHub Desktop.

Revisions

  1. diyan revised this gist Dec 12, 2012. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions get_user_name.py
    Original file line number Diff line number Diff line change
    @@ -14,5 +14,6 @@ def get_user_name():
    return name_buffer.value
    else:
    import pwd
    # Note that for some reason pwd.getpwuid(os.geteuid())[4] did not work for me
    display_name = (entry[4] for entry in pwd.getpwall() if entry[2] == os.geteuid()).next()
    return display_name
  2. diyan created this gist Dec 12, 2012.
    18 changes: 18 additions & 0 deletions get_user_name.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,18 @@
    import os

    def get_user_name():
    if os.name == 'nt':
    import ctypes
    GetUserNameExW = ctypes.windll.secur32.GetUserNameExW
    name_display = 3

    size = ctypes.pointer(ctypes.c_ulong(0))
    GetUserNameExW(name_display, None, size)

    name_buffer = ctypes.create_unicode_buffer(size.contents.value)
    GetUserNameExW(name_display, name_buffer, size)
    return name_buffer.value
    else:
    import pwd
    display_name = (entry[4] for entry in pwd.getpwall() if entry[2] == os.geteuid()).next()
    return display_name