python类c_wchar_p()的实例源码

YoutubeDL.py 文件源码 项目:tvalacarta 作者: tvalacarta 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def to_console_title(self, message):
        if not self.params.get('consoletitle', False):
            return
        if compat_os_name == 'nt':
            if ctypes.windll.kernel32.GetConsoleWindow():
                # c_wchar_p() might not be necessary if `message` is
                # already of type unicode()
                ctypes.windll.kernel32.SetConsoleTitleW(ctypes.c_wchar_p(message))
        elif 'TERM' in os.environ:
            self._write_string('\033]0;%s\007' % message, self._screen_file)
structures.py 文件源码 项目:pysetupdi 作者: gwangyi 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def __str__(self):
        s = ctypes.c_wchar_p()
        ret = _ole32.StringFromCLSID(ctypes.byref(self), ctypes.byref(s))
        if ret < 0:
            err_no = ctypes.GetLastError()
            raise WindowsError(err_no, ctypes.FormatError(err_no))
        ret = str(s.value)
        _ole32.CoTaskMemFree(s)
        return ret
test_unicode.py 文件源码 项目:zippy 作者: securesystemslab 项目源码 文件源码 阅读 57 收藏 0 点赞 0 评论 0
def test_wcslen(self):
            dll = ctypes.CDLL(_ctypes_test.__file__)
            wcslen = dll.my_wcslen
            wcslen.argtypes = [ctypes.c_wchar_p]

            self.assertEqual(wcslen("abc"), 3)
            self.assertEqual(wcslen("ab\u2070"), 3)
            self.assertRaises(ctypes.ArgumentError, wcslen, b"ab\xe4")
Core-DEV.py 文件源码 项目:Moderat 作者: Swordf1sh 项目源码 文件源码 阅读 30 收藏 0 点赞 0 评论 0
def get_username():
    advapi32 = ctypes.windll.advapi32
    GetUserNameW = advapi32.GetUserNameW
    GetUserNameW.argtypes = [ctypes.c_wchar_p, ctypes.POINTER(ctypes.c_uint)]
    GetUserNameW.restype = ctypes.c_uint

    def GetUserName():
        buffer = ctypes.create_unicode_buffer(2)
        size = ctypes.c_uint(len(buffer))
        while not GetUserNameW(buffer, ctypes.byref(size)):
            buffer = ctypes.create_unicode_buffer(len(buffer) * 2)
            size.value = len(buffer)
        return buffer.value

    return GetUserName()
test_unicode.py 文件源码 项目:oil 作者: oilshell 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def setUpClass(cls):
        dll = ctypes.CDLL(_ctypes_test.__file__)
        cls.wcslen = dll.my_wcslen
        cls.wcslen.argtypes = [ctypes.c_wchar_p]
test_unicode.py 文件源码 项目:python2-tracer 作者: extremecoders-re 项目源码 文件源码 阅读 31 收藏 0 点赞 0 评论 0
def setUpClass(cls):
        dll = ctypes.CDLL(_ctypes_test.__file__)
        cls.wcslen = dll.my_wcslen
        cls.wcslen.argtypes = [ctypes.c_wchar_p]
YoutubeDL.py 文件源码 项目:kodi-plugin.video.ted-talks-chinese 作者: daineseh 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def to_console_title(self, message):
        if not self.params.get('consoletitle', False):
            return
        if compat_os_name == 'nt' and ctypes.windll.kernel32.GetConsoleWindow():
            # c_wchar_p() might not be necessary if `message` is
            # already of type unicode()
            ctypes.windll.kernel32.SetConsoleTitleW(ctypes.c_wchar_p(message))
        elif 'TERM' in os.environ:
            self._write_string('\033]0;%s\007' % message, self._screen_file)
utils.py 文件源码 项目:download-manager 作者: thispc 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def freeSpace(folder):
    if os.name == "nt":
        import ctypes

        free_bytes = ctypes.c_ulonglong(0)
        ctypes.windll.kernel32.GetDiskFreeSpaceExW(ctypes.c_wchar_p(folder), None, None, ctypes.pointer(free_bytes))
        return free_bytes.value
    else:
        from os import statvfs

        s = statvfs(folder)
        return s.f_bsize * s.f_bavail
misc.py 文件源码 项目:download-manager 作者: thispc 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def free_space(folder):
    if os.name == "nt":
        import ctypes

        free_bytes = ctypes.c_ulonglong(0)
        ctypes.windll.kernel32.GetDiskFreeSpaceExW(ctypes.c_wchar_p(folder),
                                                   None,
                                                   None,
                                                   ctypes.pointer(free_bytes))
        return free_bytes.value

    else:
        s = os.statvfs(folder)
        return s.f_frsize * s.f_bavail
test_unicode.py 文件源码 项目:sslstrip-hsts-openwrt 作者: adde88 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def setUpClass(cls):
        dll = ctypes.CDLL(_ctypes_test.__file__)
        cls.wcslen = dll.my_wcslen
        cls.wcslen.argtypes = [ctypes.c_wchar_p]
process.py 文件源码 项目:cuckoo-headless 作者: evandowning 项目源码 文件源码 阅读 35 收藏 0 点赞 0 评论 0
def shortpath(self, path):
        """Returns the shortpath for a file.

        As Python 2.7 does not support passing along unicode strings in
        subprocess.Popen() and alike this will have to do. See also:
        http://stackoverflow.com/questions/2595448/unicode-filename-to-python-subprocess-call
        """
        KERNEL32.GetShortPathNameW.restype = c_uint
        KERNEL32.GetShortPathNameW.argtypes = c_wchar_p, c_wchar_p, c_uint

        buf = create_unicode_buffer(0x8000)
        KERNEL32.GetShortPathNameW(path, buf, len(buf))
        return buf.value
bind_shell.py 文件源码 项目:splunk_shells 作者: TBGSecurity 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def _core_machine_id(self, request, response):
                serial = ''
                machine_name = platform.uname()[1]
                if has_windll:
                    from ctypes import wintypes

                    k32 = ctypes.windll.kernel32
                    sys_dir = ctypes.create_unicode_buffer(260)
                    if not k32.GetSystemDirectoryW(ctypes.byref(sys_dir), 260):
                        return ERROR_FAILURE_WINDOWS

                    vol_buf = ctypes.create_unicode_buffer(260)
                    fs_buf = ctypes.create_unicode_buffer(260)
                    serial_num = wintypes.DWORD(0)

                    if not k32.GetVolumeInformationW(ctypes.c_wchar_p(sys_dir.value[:3]),
                                                     vol_buf, ctypes.sizeof(vol_buf), ctypes.byref(serial_num), None,
                                                     None, fs_buf, ctypes.sizeof(fs_buf)):
                        return ERROR_FAILURE_WINDOWS
                    serial_num = serial_num.value
                    serial = "{0:04x}-{1:04x}".format((serial_num >> 16) & 0xFFFF, serial_num & 0xFFFF)
                else:
                    serial = get_hdd_label()

                response += tlv_pack(TLV_TYPE_MACHINE_ID, "%s:%s" % (serial, machine_name))
                return ERROR_SUCCESS, response
rev_shell.py 文件源码 项目:splunk_shells 作者: TBGSecurity 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def _core_machine_id(self, request, response):
                serial = ''
                machine_name = platform.uname()[1]
                if has_windll:
                    from ctypes import wintypes

                    k32 = ctypes.windll.kernel32
                    sys_dir = ctypes.create_unicode_buffer(260)
                    if not k32.GetSystemDirectoryW(ctypes.byref(sys_dir), 260):
                        return ERROR_FAILURE_WINDOWS

                    vol_buf = ctypes.create_unicode_buffer(260)
                    fs_buf = ctypes.create_unicode_buffer(260)
                    serial_num = wintypes.DWORD(0)

                    if not k32.GetVolumeInformationW(ctypes.c_wchar_p(sys_dir.value[:3]),
                                                     vol_buf, ctypes.sizeof(vol_buf), ctypes.byref(serial_num), None,
                                                     None, fs_buf, ctypes.sizeof(fs_buf)):
                        return ERROR_FAILURE_WINDOWS
                    serial_num = serial_num.value
                    serial = "{0:04x}-{1:04x}".format((serial_num >> 16) & 0xFFFF, serial_num & 0xFFFF)
                else:
                    serial = get_hdd_label()

                response += tlv_pack(TLV_TYPE_MACHINE_ID, "%s:%s" % (serial, machine_name))
                return ERROR_SUCCESS, response
nix_attack.py 文件源码 项目:splunk_shells 作者: TBGSecurity 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def _core_machine_id(self, request, response):
                serial = ''
                machine_name = platform.uname()[1]
                if has_windll:
                    from ctypes import wintypes

                    k32 = ctypes.windll.kernel32
                    sys_dir = ctypes.create_unicode_buffer(260)
                    if not k32.GetSystemDirectoryW(ctypes.byref(sys_dir), 260):
                        return ERROR_FAILURE_WINDOWS

                    vol_buf = ctypes.create_unicode_buffer(260)
                    fs_buf = ctypes.create_unicode_buffer(260)
                    serial_num = wintypes.DWORD(0)

                    if not k32.GetVolumeInformationW(ctypes.c_wchar_p(sys_dir.value[:3]),
                                                     vol_buf, ctypes.sizeof(vol_buf), ctypes.byref(serial_num), None,
                                                     None, fs_buf, ctypes.sizeof(fs_buf)):
                        return ERROR_FAILURE_WINDOWS
                    serial_num = serial_num.value
                    serial = "{0:04x}-{1:04x}".format((serial_num >> 16) & 0xFFFF, serial_num & 0xFFFF)
                else:
                    serial = get_hdd_label()

                response += tlv_pack(TLV_TYPE_MACHINE_ID, "%s:%s" % (serial, machine_name))
                return ERROR_SUCCESS, response
loadarray.py 文件源码 项目:bonsu 作者: bonsudev 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def FreeSpace(path):
    if platform.startswith('win'):
        free = ctypes.c_ulonglong(0)
        ctypes.windll.kernel32.GetDiskFreeSpaceExW(ctypes.c_wchar_p(path), None, None, ctypes.pointer(free))
        return free.value
    else:
        stat = os.statvfs(path)
        free = stat.f_frsize * stat.f_bavail
        return free
os_util.py 文件源码 项目:wptagent 作者: WPO-Foundation 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def get_free_disk_space():
    """Return the number of bytes free on the given disk in Gigabytes (floating)"""
    path = os.path.dirname(os.path.realpath(__file__))
    if platform.system() == 'Windows':
        import ctypes
        free_bytes = ctypes.c_ulonglong(0)
        ctypes.windll.kernel32.GetDiskFreeSpaceExW(ctypes.c_wchar_p(path),
                                                   None, None, ctypes.pointer(free_bytes))
        return float(free_bytes.value / 1024 / 1024) / 1024.0
    else:
        stat = os.statvfs(path)
        return float(stat.f_bavail * stat.f_frsize / 1024 / 1024) / 1024.0
# pylint: enable=E1101
YoutubeDL.py 文件源码 项目:GUIYoutube 作者: coltking 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def to_console_title(self, message):
        if not self.params.get('consoletitle', False):
            return
        if compat_os_name == 'nt':
            if ctypes.windll.kernel32.GetConsoleWindow():
                # c_wchar_p() might not be necessary if `message` is
                # already of type unicode()
                ctypes.windll.kernel32.SetConsoleTitleW(ctypes.c_wchar_p(message))
        elif 'TERM' in os.environ:
            self._write_string('\033]0;%s\007' % message, self._screen_file)
breakpoint.py 文件源码 项目:specto 作者: mrknow 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def _cast_signature_pointers_to_void(self, signature):
        c_void_p  = ctypes.c_void_p
        c_char_p  = ctypes.c_char_p
        c_wchar_p = ctypes.c_wchar_p
        _Pointer  = ctypes._Pointer
        cast      = ctypes.cast
        for i in compat.xrange(len(signature)):
            t = signature[i]
            if t is not c_void_p and (issubclass(t, _Pointer) \
                                            or t in [c_char_p, c_wchar_p]):
                signature[i] = cast(t, c_void_p)
config.py 文件源码 项目:MFCRecorder 作者: beaston02 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def _get_free_diskspace(self):
        '''https://stackoverflow.com/questions/51658/cross-platform-space-remaining-on-volume-using-python'''
        if platform.system() == 'Windows':
            free_bytes = ctypes.c_ulonglong(0)
            ctypes.windll.kernel32.GetDiskFreeSpaceExW(ctypes.c_wchar_p(self.settings.save_directory), None, None, ctypes.pointer(free_bytes))
            return free_bytes.value / 1024 / 1024
        st = os.statvfs(self.settings.save_directory)
        return st.f_bavail * st.f_frsize / 1024 / 1024 / 1024
detectfreedisk.py 文件源码 项目:automatic-repo 作者: WZQ1397 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def get_free_space_mb(folder):
    """ Return folder/drive free space (in bytes)
    """
    if platform.system() == 'Windows':
        free_bytes = ctypes.c_ulonglong(0)
        ctypes.windll.kernel32.GetDiskFreeSpaceExW(ctypes.c_wchar_p(folder), None, None, ctypes.pointer(free_bytes))
        return free_bytes.value/1024/1024/1024
    else:
        st = os.statvfs(folder)
        return st.f_bavail * st.f_frsize/1024/1024


问题


面经


文章

微信
公众号

扫码关注公众号