py2docfx 0.1.15rc2025477__py3-none-any.whl → 0.1.16.dev2052678__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- py2docfx/docfx_yaml/process_doctree.py +21 -34
- py2docfx/docfx_yaml/tests/test_method_arguments.py +1 -7
- py2docfx/docfx_yaml/tests/test_process_doctree.py +120 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_core_metadata.py +21 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +13 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/ccompiler.py +5 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build.py +1 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_clib.py +1 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_ext.py +1 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/config.py +0 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install.py +8 -17
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compat/numpy.py +2 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +8 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +15 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/dist.py +2 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/sysconfig.py +0 -10
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +60 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/unixccompiler.py +6 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/util.py +7 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_normalization.py +29 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/__init__.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/_bdist_wheel.py +613 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/_setuptools_logging.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/bdist_wheel.py +25 -594
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/cli/__init__.py +6 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/cli/convert.py +282 -223
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/macosx_libfile.py +22 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/metadata.py +16 -13
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/util.py +0 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/wheelfile.py +40 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_wheel.py +6 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +49 -11
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +31 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +222 -129
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_validate_pyproject/formats.py +30 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/dist.py +168 -51
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/msvc.py +12 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +246 -13
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +42 -29
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +93 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_meta.py +17 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_core_metadata.py +45 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_egg_info.py +24 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_sdist.py +13 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/any_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/api_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/compiler/plugin_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_database.py +22 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pb2.py +82 -35
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/duration_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/empty_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/field_mask_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/builder.py +4 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/containers.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/decoder.py +62 -115
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_edition_defaults.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_message.py +15 -18
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/testing_refleaks.py +4 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/type_checkers.py +5 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/well_known_types.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/json_format.py +25 -9
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message.py +26 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message_factory.py +0 -63
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/proto.py +38 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/proto_text.py +129 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/reflection.py +0 -49
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/runtime_version.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/source_context_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/struct_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/symbol_database.py +0 -18
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/text_format.py +8 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/timestamp_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/type_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/unknown_fields.py +3 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/wrappers_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/msal/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/msal/application.py +51 -17
- py2docfx/venv/venv1/Lib/site-packages/msal/broker.py +18 -4
- py2docfx/venv/venv1/Lib/site-packages/msal/cloudshell.py +5 -1
- py2docfx/venv/venv1/Lib/site-packages/msal/managed_identity.py +5 -4
- py2docfx/venv/venv1/Lib/site-packages/msal/sku.py +6 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/token_cache.py +31 -10
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/__init__.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/cache_lock.py +4 -1
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/filelock.py +62 -0
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/libsecret.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/token_cache.py +7 -1
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_core_metadata.py +21 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/ccompiler.py +5 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build.py +1 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_clib.py +1 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_ext.py +1 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/config.py +0 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install.py +8 -17
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compat/numpy.py +2 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +8 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +15 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/dist.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/sysconfig.py +0 -10
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +60 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/unixccompiler.py +6 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/util.py +7 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_normalization.py +29 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/_bdist_wheel.py +613 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/_setuptools_logging.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/bdist_wheel.py +25 -594
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/cli/__init__.py +6 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/cli/convert.py +282 -223
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/macosx_libfile.py +22 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/metadata.py +16 -13
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/util.py +0 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/wheelfile.py +40 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_wheel.py +6 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +49 -11
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +31 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +222 -129
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_validate_pyproject/formats.py +30 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/dist.py +168 -51
- py2docfx/venv/venv1/Lib/site-packages/setuptools/msvc.py +12 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +246 -13
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +42 -29
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +93 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_meta.py +17 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_core_metadata.py +45 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_egg_info.py +24 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_sdist.py +13 -1
- py2docfx/venv/venv1/Lib/site-packages/typing_extensions.py +999 -74
- {py2docfx-0.1.15rc2025477.dist-info → py2docfx-0.1.16.dev2052678.dist-info}/METADATA +1 -1
- {py2docfx-0.1.15rc2025477.dist-info → py2docfx-0.1.16.dev2052678.dist-info}/RECORD +141 -596
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/__init__.py +0 -82
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/ado_consts.py +0 -283
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/adodbapi.py +0 -1153
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/apibase.py +0 -723
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_print.py +0 -72
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_table_names.py +0 -21
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/xls_read.py +0 -41
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/xls_write.py +0 -41
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/is64bit.py +0 -34
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/process_connect_string.py +0 -137
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/schema_table.py +0 -16
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/setup.py +0 -68
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitest.py +0 -1547
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitestconfig.py +0 -184
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/dbapi20.py +0 -879
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/is64bit.py +0 -34
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/setuptestframework.py +0 -98
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/test_adodbapi_dbapi20.py +0 -195
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/tryconnection.py +0 -30
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/_parameterized.py +0 -420
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/service.py +0 -213
- py2docfx/venv/venv1/Lib/site-packages/isapi/__init__.py +0 -39
- py2docfx/venv/venv1/Lib/site-packages/isapi/install.py +0 -809
- py2docfx/venv/venv1/Lib/site-packages/isapi/isapicon.py +0 -121
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/advanced.py +0 -218
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector.py +0 -116
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_asynch.py +0 -85
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_with_filter.py +0 -162
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/test.py +0 -195
- py2docfx/venv/venv1/Lib/site-packages/isapi/simple.py +0 -73
- py2docfx/venv/venv1/Lib/site-packages/isapi/test/extension_simple.py +0 -114
- py2docfx/venv/venv1/Lib/site-packages/isapi/threaded_extension.py +0 -191
- py2docfx/venv/venv1/Lib/site-packages/portalocker/__about__.py +0 -6
- py2docfx/venv/venv1/Lib/site-packages/portalocker/__init__.py +0 -79
- py2docfx/venv/venv1/Lib/site-packages/portalocker/__main__.py +0 -122
- py2docfx/venv/venv1/Lib/site-packages/portalocker/constants.py +0 -59
- py2docfx/venv/venv1/Lib/site-packages/portalocker/exceptions.py +0 -27
- py2docfx/venv/venv1/Lib/site-packages/portalocker/portalocker.py +0 -154
- py2docfx/venv/venv1/Lib/site-packages/portalocker/redis.py +0 -236
- py2docfx/venv/venv1/Lib/site-packages/portalocker/utils.py +0 -569
- py2docfx/venv/venv1/Lib/site-packages/pythoncom.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/basictimerapp.py +0 -258
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/customprint.py +0 -183
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/demoutils.py +0 -63
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/dlgappdemo.py +0 -51
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/dojobapp.py +0 -71
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/helloapp.py +0 -53
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/cmdserver.py +0 -113
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/createwin.py +0 -114
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/demoutils.py +0 -65
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dibdemo.py +0 -73
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dlgtest.py +0 -145
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dyndlg.py +0 -104
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/fontdemo.py +0 -85
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/guidemo.py +0 -53
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/hiertest.py +0 -138
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/menutest.py +0 -13
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/objdoc.py +0 -57
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/demoutils.py +0 -63
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/flash.py +0 -95
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/msoffice.py +0 -159
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxserialtest.py +0 -132
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxtest.py +0 -243
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/webbrowser.py +0 -72
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/openGLDemo.py +0 -415
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/progressbar.py +0 -105
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/sliderdemo.py +0 -76
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/splittst.py +0 -79
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/threadedgui.py +0 -189
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/toolbar.py +0 -105
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/__init__.py +0 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/__init__.py +0 -133
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/configui.py +0 -34
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgcon.py +0 -31
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgpyapp.py +0 -48
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/debugger.py +0 -1097
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/fail.py +0 -54
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/ideoptions.py +0 -136
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/list.py +0 -146
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/login.py +0 -155
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/status.py +0 -242
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/docking/DockingBar.py +0 -676
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/docking/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/app.py +0 -411
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/bitmap.py +0 -168
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/cmdline.py +0 -54
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dbgcommands.py +0 -188
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dlgappcore.py +0 -76
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/ModuleBrowser.py +0 -235
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/__init__.py +0 -105
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/color/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/color/coloreditor.py +0 -646
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/configui.py +0 -299
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/document.py +0 -379
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/editor.py +0 -511
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/frame.py +0 -74
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/template.py +0 -59
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/vss.py +0 -104
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/help.py +0 -173
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/interact.py +0 -995
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpyapp.py +0 -552
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpydde.py +0 -65
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/scriptutils.py +0 -684
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/sgrepmdi.py +0 -749
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/startup.py +0 -70
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/stdin.py +0 -172
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/toolmenu.py +0 -279
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/window.py +0 -14
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/winout.py +0 -589
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoExpand.py +0 -95
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoIndent.py +0 -536
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/CallTips.py +0 -216
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/FormatParagraph.py +0 -166
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/IdleHistory.py +0 -87
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/PyParse.py +0 -585
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/activex.py +0 -79
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/afxres.py +0 -501
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/dialog.py +0 -277
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/docview.py +0 -151
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/object.py +0 -66
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/thread.py +0 -25
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/window.py +0 -50
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/IDLEenvironment.py +0 -593
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/bindings.py +0 -180
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/config.py +0 -363
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/configui.py +0 -291
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/control.py +0 -565
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/document.py +0 -312
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/find.py +0 -511
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/formatter.py +0 -704
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/keycodes.py +0 -190
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/scintillacon.py +0 -3083
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/view.py +0 -841
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/TraceCollector.py +0 -79
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browseProjects.py +0 -323
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browser.py +0 -494
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/hierlist.py +0 -353
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/regedit.py +0 -382
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/regpy.py +0 -80
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/BackupRead_BackupWrite.py +0 -119
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/BackupSeek_streamheaders.py +0 -137
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/CopyFileEx.py +0 -57
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/CreateFileTransacted_MiniVersion.py +0 -122
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtFormatMessage.py +0 -83
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_pull.py +0 -28
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_push.py +0 -32
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/FileSecurityTest.py +0 -137
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/GetSaveFileName.py +0 -43
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/NetValidatePasswordPolicy.py +0 -127
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/OpenEncryptedFileRaw.py +0 -66
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/RegCreateKeyTransacted.py +0 -60
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/RegRestoreKey.py +0 -71
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/SystemParametersInfo.py +0 -210
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/c_extension/setup.py +0 -26
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeclient.py +0 -18
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeserver.py +0 -42
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/desktopmanager.py +0 -246
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/eventLogDemo.py +0 -143
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/getfilever.py +0 -33
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/mmapfile_demo.py +0 -101
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/cat.py +0 -17
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/runproc.py +0 -114
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/print_desktop.py +0 -113
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/rastest.py +0 -166
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/GetTokenInformation.py +0 -110
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/account_rights.py +0 -49
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/explicit_entries.py +0 -170
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/get_policy_info.py +0 -39
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/list_rights.py +0 -35
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/localized_names.py +0 -70
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/lsaregevent.py +0 -14
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/lsastore.py +0 -12
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/query_information.py +0 -25
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/regsave_sa.py +0 -61
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/regsecurity.py +0 -36
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sa_inherit.py +0 -8
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/security_enums.py +0 -336
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_audit.py +0 -106
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_owner.py +0 -73
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_policy_info.py +0 -25
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setkernelobjectsecurity.py +0 -134
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setnamedsecurityinfo.py +0 -131
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setsecurityinfo.py +0 -131
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setuserobjectsecurity.py +0 -102
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/fetch_url.py +0 -158
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/simple_auth.py +0 -72
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/socket_server.py +0 -199
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/validate_password.py +0 -41
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/nativePipeTestService.py +0 -63
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestService.py +0 -185
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestServiceClient.py +0 -158
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/serviceEvents.py +0 -98
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/timer_demo.py +0 -72
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboardDemo.py +0 -155
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboard_bitmapdemo.py +0 -117
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32comport_demo.py +0 -174
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32console_demo.py +0 -132
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32cred_demo.py +0 -82
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32fileDemo.py +0 -41
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_demo.py +0 -177
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_devicenotify.py +0 -106
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_dialog.py +0 -445
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_menu.py +0 -464
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_taskbar.py +0 -136
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32netdemo.py +0 -272
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32rcparser_demo.py +0 -86
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32servicedemo.py +0 -23
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32ts_logoff_disconnected.py +0 -25
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/testwnet.py +0 -123
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/winnetwk.py +0 -100
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/winprocess.py +0 -230
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/_win32verstamp_pywin32ctypes.py +0 -164
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/afxres.py +0 -8
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/commctrl.py +0 -1551
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/mmsystem.py +0 -956
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/netbios.py +0 -293
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/ntsecuritycon.py +0 -731
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_bootstrap.py +0 -21
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_testutil.py +0 -291
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywintypes.py +0 -124
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/rasutil.py +0 -40
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/regcheck.py +0 -161
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/regutil.py +0 -395
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspi.py +0 -413
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspicon.py +0 -477
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win2kras.py +0 -14
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32con.py +0 -5064
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32cryptcon.py +0 -1922
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32evtlogutil.py +0 -225
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32gui_struct.py +0 -957
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32inetcon.py +0 -1086
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32netcon.py +0 -627
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhquery.py +0 -570
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhutil.py +0 -212
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32rcparser.py +0 -674
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32serviceutil.py +0 -1073
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32timezone.py +0 -1201
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32traceutil.py +0 -59
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32verstamp.py +0 -235
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winerror.py +0 -7362
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winioctlcon.py +0 -1079
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winnt.py +0 -1347
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winperf.py +0 -236
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winxptheme.py +0 -8
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/ControlService.py +0 -594
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/BrandProject.py +0 -97
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/bulkstamp.py +0 -156
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/vssutil.py +0 -201
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/backupEventLog.py +0 -46
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/h2py.py +0 -194
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/killProcName.py +0 -62
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_postinstall.py +0 -733
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_testall.py +0 -120
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/rasutil.py +0 -98
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/regsetup.py +0 -607
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/setup_d.py +0 -111
- py2docfx/venv/venv1/Lib/site-packages/win32/test/handles.py +0 -175
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_clipboard.py +0 -137
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_exceptions.py +0 -213
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_odbc.py +0 -264
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_pywintypes.py +0 -111
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_security.py +0 -166
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_sspi.py +0 -229
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32api.py +0 -273
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32clipboard.py +0 -59
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32cred.py +0 -91
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32crypt.py +0 -144
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32event.py +0 -119
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32file.py +0 -1096
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32gui.py +0 -227
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32guistruct.py +0 -333
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32inet.py +0 -108
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32net.py +0 -23
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32pipe.py +0 -148
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32print.py +0 -24
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32profile.py +0 -19
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32rcparser.py +0 -70
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32timezone.py +0 -16
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32trace.py +0 -366
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32ts.py +0 -19
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32wnet.py +0 -174
- py2docfx/venv/venv1/Lib/site-packages/win32/test/testall.py +0 -223
- py2docfx/venv/venv1/Lib/site-packages/win32/winxpgui.py +0 -13
- py2docfx/venv/venv1/Lib/site-packages/win32com/__init__.py +0 -134
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/CLSIDToClass.py +0 -60
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/__init__.py +0 -717
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/build.py +0 -771
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/combrowse.py +0 -604
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/connect.py +0 -48
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/dynamic.py +0 -699
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/gencache.py +0 -825
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/genpy.py +0 -1350
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/makepy.py +0 -453
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/selecttlb.py +0 -182
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/tlbrowse.py +0 -277
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/util.py +0 -103
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/connect.py +0 -96
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/dump_clipboard.py +0 -74
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/eventsApartmentThreaded.py +0 -98
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/eventsFreeThreaded.py +0 -92
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelAddin.py +0 -169
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelRTDServer.py +0 -434
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/iebutton.py +0 -214
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/ietoolbar.py +0 -368
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/outlookAddin.py +0 -135
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/trybag.py +0 -78
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegw.py +0 -618
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwenum.py +0 -331
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwparse.py +0 -1017
- py2docfx/venv/venv1/Lib/site-packages/win32com/olectl.py +0 -70
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/connect.py +0 -85
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/dispatcher.py +0 -239
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/exception.py +0 -99
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/factory.py +0 -26
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/localserver.py +0 -53
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/policy.py +0 -803
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/register.py +0 -677
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/util.py +0 -229
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/PythonTools.py +0 -47
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/dictionary.py +0 -133
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/interp.py +0 -59
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/perfmon.py +0 -36
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/test_pycomtest.py +0 -181
- py2docfx/venv/venv1/Lib/site-packages/win32com/storagecon.py +0 -142
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/GenTestScripts.py +0 -95
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/daodump.py +0 -88
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/errorSemantics.py +0 -243
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/pippo_server.py +0 -96
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/policySemantics.py +0 -115
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testADOEvents.py +0 -100
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAXScript.py +0 -44
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAccess.py +0 -185
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testArrays.py +0 -99
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testClipboard.py +0 -169
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testCollections.py +0 -159
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testConversionErrors.py +0 -35
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDCOM.py +0 -50
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDates.py +0 -74
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDictionary.py +0 -101
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDynamic.py +0 -83
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExchange.py +0 -121
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExplorer.py +0 -139
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGIT.py +0 -142
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGatewayAddresses.py +0 -149
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testIterators.py +0 -140
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOffice.py +0 -184
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOfficeEvents.py +0 -138
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMarshal.py +0 -160
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPersist.py +0 -227
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPippo.py +0 -80
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPyComTest.py +0 -918
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testROT.py +0 -29
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testServers.py +0 -51
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testShell.py +0 -272
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testStorage.py +0 -88
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testStreams.py +0 -147
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testWMI.py +0 -18
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testall.py +0 -320
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testmakepy.py +0 -54
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvb.py +0 -583
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvbscript_regexp.py +0 -40
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testxslt.py +0 -34
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/util.py +0 -262
- py2docfx/venv/venv1/Lib/site-packages/win32com/universal.py +0 -224
- py2docfx/venv/venv1/Lib/site-packages/win32com/util.py +0 -35
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/__init__.py +0 -113
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/adsicon.py +0 -340
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/objectPicker.py +0 -68
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/scp.py +0 -565
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/search.py +0 -151
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/test.py +0 -274
- py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/__init__.py +0 -6
- py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditSecurity.py +0 -229
- py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditServiceSecurity.py +0 -219
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axcontrol/__init__.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/__init__.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/adb.py +0 -467
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/codecontainer.py +0 -279
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/contexts.py +0 -58
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/debugger.py +0 -238
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/documents.py +0 -135
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/dump.py +0 -57
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/expressions.py +0 -212
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/gateways.py +0 -583
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/stackframe.py +0 -178
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/util.py +0 -98
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/__init__.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/asputil.py +0 -13
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/debug.py +0 -223
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/error.py +0 -262
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/framework.py +0 -1291
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pydumper.py +0 -78
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript.py +0 -438
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript_rexec.py +0 -54
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/scriptdispatch.py +0 -103
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/axsite.py +0 -145
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/leakTest.py +0 -185
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost.py +0 -240
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost4Dbg.py +0 -83
- py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/__init__.py +0 -6
- py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/show_all_jobs.py +0 -48
- py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/test_bits.py +0 -119
- py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/__init__.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/ds_record.py +0 -60
- py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/ds_test.py +0 -402
- py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/demo/filterDemo.py +0 -300
- py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/ifiltercon.py +0 -110
- py2docfx/venv/venv1/Lib/site-packages/win32comext/internet/__init__.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/internet/inetcon.py +0 -261
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/__init__.py +0 -21
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/demos/mapisend.py +0 -98
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/emsabtags.py +0 -875
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapitags.py +0 -1023
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapiutil.py +0 -211
- py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/pscon.py +0 -838
- py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/test/testpropsys.py +0 -5
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/__init__.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IActiveDesktop.py +0 -83
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IFileOperationProgressSink.py +0 -179
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IShellLinkDataList.py +0 -67
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/ITransferAdviseSink.py +0 -93
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IUniformResourceLocator.py +0 -56
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/browse_for_folder.py +0 -45
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/create_link.py +0 -73
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/dump_link.py +0 -58
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/explorer_browser.py +0 -143
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/column_provider.py +0 -125
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/context_menu.py +0 -122
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/copy_hook.py +0 -84
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/empty_volume_cache.py +0 -188
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/folder_view.py +0 -866
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/icon_handler.py +0 -81
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/shell_view.py +0 -971
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/shellexecuteex.py +0 -19
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/viewstate.py +0 -68
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/walk_shell_folders.py +0 -24
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/shellcon.py +0 -1615
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testSHFileOperation.py +0 -75
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testShellFolder.py +0 -21
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testShellItem.py +0 -69
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/__init__.py +0 -6
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask.py +0 -66
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_1.py +0 -68
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_2.py +0 -49
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_localsystem.py +0 -3
- py2docfx/venv/venv1/Scripts/pywin32_postinstall.py +0 -733
- py2docfx/venv/venv1/Scripts/pywin32_testall.py +0 -120
- {py2docfx-0.1.15rc2025477.dist-info → py2docfx-0.1.16.dev2052678.dist-info}/WHEEL +0 -0
- {py2docfx-0.1.15rc2025477.dist-info → py2docfx-0.1.16.dev2052678.dist-info}/top_level.txt +0 -0
@@ -1,464 +0,0 @@
|
|
1
|
-
# Demonstrates some advanced menu concepts using win32gui.
|
2
|
-
# This creates a taskbar icon which has some fancy menus (but note that
|
3
|
-
# selecting the menu items does nothing useful - see win32gui_taskbar.py
|
4
|
-
# for examples of this.
|
5
|
-
|
6
|
-
# NOTE: This is a work in progress. Todo:
|
7
|
-
# * The "Checked" menu items don't work correctly - I'm not sure why.
|
8
|
-
# * No support for GetMenuItemInfo.
|
9
|
-
|
10
|
-
# Based on Andy McKay's demo code.
|
11
|
-
|
12
|
-
import os
|
13
|
-
import struct
|
14
|
-
import sys
|
15
|
-
|
16
|
-
import win32con
|
17
|
-
from win32api import GetSystemDirectory, GetSystemMetrics
|
18
|
-
from win32gui import (
|
19
|
-
LOWORD,
|
20
|
-
NIF_ICON,
|
21
|
-
NIF_MESSAGE,
|
22
|
-
NIF_TIP,
|
23
|
-
NIM_ADD,
|
24
|
-
NIM_DELETE,
|
25
|
-
WNDCLASS,
|
26
|
-
CheckMenuItem,
|
27
|
-
CheckMenuRadioItem,
|
28
|
-
CreateCompatibleBitmap,
|
29
|
-
CreateCompatibleDC,
|
30
|
-
CreateFontIndirect,
|
31
|
-
CreatePopupMenu,
|
32
|
-
CreateWindow,
|
33
|
-
DeleteDC,
|
34
|
-
DestroyIcon,
|
35
|
-
DestroyWindow,
|
36
|
-
DrawIconEx,
|
37
|
-
ExtTextOut,
|
38
|
-
FillRect,
|
39
|
-
GetCursorPos,
|
40
|
-
GetDC,
|
41
|
-
GetMenuDefaultItem,
|
42
|
-
GetMenuState,
|
43
|
-
GetModuleHandle,
|
44
|
-
GetSysColor,
|
45
|
-
GetSysColorBrush,
|
46
|
-
GetTextExtentPoint32,
|
47
|
-
InsertMenu,
|
48
|
-
InsertMenuItem,
|
49
|
-
LoadIcon,
|
50
|
-
LoadImage,
|
51
|
-
PostMessage,
|
52
|
-
PostQuitMessage,
|
53
|
-
PumpMessages,
|
54
|
-
PyGetMemory,
|
55
|
-
PyMakeBuffer,
|
56
|
-
PySetMemory,
|
57
|
-
RegisterClass,
|
58
|
-
ReleaseDC,
|
59
|
-
SelectObject,
|
60
|
-
SetBkColor,
|
61
|
-
SetBkMode,
|
62
|
-
SetForegroundWindow,
|
63
|
-
SetMenuDefaultItem,
|
64
|
-
SetTextColor,
|
65
|
-
Shell_NotifyIcon,
|
66
|
-
SystemParametersInfo,
|
67
|
-
TrackPopupMenu,
|
68
|
-
UpdateWindow,
|
69
|
-
)
|
70
|
-
from win32gui_struct import (
|
71
|
-
EmptyMENUITEMINFO,
|
72
|
-
PackMENUITEMINFO,
|
73
|
-
UnpackMENUITEMINFO,
|
74
|
-
)
|
75
|
-
|
76
|
-
this_dir = os.path.split(sys.argv[0])[0]
|
77
|
-
|
78
|
-
|
79
|
-
class MainWindow:
|
80
|
-
def __init__(self):
|
81
|
-
message_map = {
|
82
|
-
win32con.WM_DESTROY: self.OnDestroy,
|
83
|
-
win32con.WM_COMMAND: self.OnCommand,
|
84
|
-
win32con.WM_USER + 20: self.OnTaskbarNotify,
|
85
|
-
# owner-draw related handlers.
|
86
|
-
win32con.WM_MEASUREITEM: self.OnMeasureItem,
|
87
|
-
win32con.WM_DRAWITEM: self.OnDrawItem,
|
88
|
-
}
|
89
|
-
# Register the Window class.
|
90
|
-
wc = WNDCLASS()
|
91
|
-
hinst = wc.hInstance = GetModuleHandle(None)
|
92
|
-
wc.lpszClassName = "PythonTaskbarDemo"
|
93
|
-
wc.lpfnWndProc = message_map # could also specify a wndproc.
|
94
|
-
classAtom = RegisterClass(wc)
|
95
|
-
# Create the Window.
|
96
|
-
style = win32con.WS_OVERLAPPED | win32con.WS_SYSMENU
|
97
|
-
self.hwnd = CreateWindow(
|
98
|
-
classAtom,
|
99
|
-
"Taskbar Demo",
|
100
|
-
style,
|
101
|
-
0,
|
102
|
-
0,
|
103
|
-
win32con.CW_USEDEFAULT,
|
104
|
-
win32con.CW_USEDEFAULT,
|
105
|
-
0,
|
106
|
-
0,
|
107
|
-
hinst,
|
108
|
-
None,
|
109
|
-
)
|
110
|
-
UpdateWindow(self.hwnd)
|
111
|
-
iconPathName = os.path.abspath(os.path.join(sys.prefix, "pyc.ico"))
|
112
|
-
if not os.path.isfile(iconPathName):
|
113
|
-
# Look in the source tree.
|
114
|
-
iconPathName = os.path.abspath(
|
115
|
-
os.path.join(os.path.split(sys.executable)[0], "..\\PC\\pyc.ico")
|
116
|
-
)
|
117
|
-
if os.path.isfile(iconPathName):
|
118
|
-
icon_flags = win32con.LR_LOADFROMFILE | win32con.LR_DEFAULTSIZE
|
119
|
-
hicon = LoadImage(
|
120
|
-
hinst, iconPathName, win32con.IMAGE_ICON, 0, 0, icon_flags
|
121
|
-
)
|
122
|
-
else:
|
123
|
-
iconPathName = None
|
124
|
-
print("Can't find a Python icon file - using default")
|
125
|
-
hicon = LoadIcon(0, win32con.IDI_APPLICATION)
|
126
|
-
self.iconPathName = iconPathName
|
127
|
-
|
128
|
-
# Load up some information about menus needed by our owner-draw code.
|
129
|
-
# The font to use on the menu.
|
130
|
-
ncm = SystemParametersInfo(win32con.SPI_GETNONCLIENTMETRICS)
|
131
|
-
self.font_menu = CreateFontIndirect(ncm["lfMenuFont"])
|
132
|
-
# spacing for our ownerdraw menus - not sure exactly what constants
|
133
|
-
# should be used (and if you owner-draw all items on the menu, it
|
134
|
-
# doesn't matter!)
|
135
|
-
self.menu_icon_height = GetSystemMetrics(win32con.SM_CYMENU) - 4
|
136
|
-
self.menu_icon_width = self.menu_icon_height
|
137
|
-
self.icon_x_pad = 8 # space from end of icon to start of text.
|
138
|
-
# A map we use to stash away data we need for ownerdraw. Keyed
|
139
|
-
# by integer ID - that ID will be set in dwTypeData of the menu item.
|
140
|
-
self.menu_item_map = {}
|
141
|
-
|
142
|
-
# Finally, create the menu
|
143
|
-
self.createMenu()
|
144
|
-
|
145
|
-
flags = NIF_ICON | NIF_MESSAGE | NIF_TIP
|
146
|
-
nid = (self.hwnd, 0, flags, win32con.WM_USER + 20, hicon, "Python Demo")
|
147
|
-
Shell_NotifyIcon(NIM_ADD, nid)
|
148
|
-
print("Please right-click on the Python icon in the taskbar")
|
149
|
-
|
150
|
-
def createMenu(self):
|
151
|
-
self.hmenu = menu = CreatePopupMenu()
|
152
|
-
# Create our 'Exit' item with the standard, ugly 'close' icon.
|
153
|
-
item, extras = PackMENUITEMINFO(
|
154
|
-
text="Exit", hbmpItem=win32con.HBMMENU_MBAR_CLOSE, wID=1000
|
155
|
-
)
|
156
|
-
InsertMenuItem(menu, 0, 1, item)
|
157
|
-
# Create a 'text only' menu via InsertMenuItem rather then
|
158
|
-
# AppendMenu, just to prove we can!
|
159
|
-
item, extras = PackMENUITEMINFO(text="Text only item", wID=1001)
|
160
|
-
InsertMenuItem(menu, 0, 1, item)
|
161
|
-
|
162
|
-
load_bmp_flags = win32con.LR_LOADFROMFILE | win32con.LR_LOADTRANSPARENT
|
163
|
-
# These images are "over sized", so we load them scaled.
|
164
|
-
hbmp = LoadImage(
|
165
|
-
0,
|
166
|
-
os.path.join(this_dir, "images/smiley.bmp"),
|
167
|
-
win32con.IMAGE_BITMAP,
|
168
|
-
20,
|
169
|
-
20,
|
170
|
-
load_bmp_flags,
|
171
|
-
)
|
172
|
-
|
173
|
-
# Create a top-level menu with a bitmap
|
174
|
-
item, extras = PackMENUITEMINFO(
|
175
|
-
text="Menu with bitmap", hbmpItem=hbmp, wID=1002
|
176
|
-
)
|
177
|
-
InsertMenuItem(menu, 0, 1, item)
|
178
|
-
|
179
|
-
# Owner-draw menus mainly from:
|
180
|
-
# https://learn.microsoft.com/en-ca/windows/win32/menurc/using-menus
|
181
|
-
# and:
|
182
|
-
# https://www.codeguru.com/cplusplus/owner-drawn-menu-with-icons/
|
183
|
-
|
184
|
-
# Create one with an icon - this is *lots* more work - we do it
|
185
|
-
# owner-draw! The primary reason is to handle transparency better -
|
186
|
-
# converting to a bitmap causes the background to be incorrect when
|
187
|
-
# the menu item is selected. I can't see a simpler way.
|
188
|
-
# First, load the icon we want to use.
|
189
|
-
ico_x = GetSystemMetrics(win32con.SM_CXSMICON)
|
190
|
-
ico_y = GetSystemMetrics(win32con.SM_CYSMICON)
|
191
|
-
if self.iconPathName:
|
192
|
-
hicon = LoadImage(
|
193
|
-
0,
|
194
|
-
self.iconPathName,
|
195
|
-
win32con.IMAGE_ICON,
|
196
|
-
ico_x,
|
197
|
-
ico_y,
|
198
|
-
win32con.LR_LOADFROMFILE,
|
199
|
-
)
|
200
|
-
else:
|
201
|
-
shell_dll = os.path.join(GetSystemDirectory(), "shell32.dll")
|
202
|
-
large, small = win32gui.ExtractIconEx(shell_dll, 4, 1)
|
203
|
-
hicon = small[0]
|
204
|
-
DestroyIcon(large[0])
|
205
|
-
|
206
|
-
# Stash away the text and hicon in our map, and add the owner-draw
|
207
|
-
# item to the menu.
|
208
|
-
index = 0
|
209
|
-
self.menu_item_map[index] = (hicon, "Menu with owner-draw icon")
|
210
|
-
item, extras = PackMENUITEMINFO(
|
211
|
-
fType=win32con.MFT_OWNERDRAW, dwItemData=index, wID=1009
|
212
|
-
)
|
213
|
-
InsertMenuItem(menu, 0, 1, item)
|
214
|
-
|
215
|
-
# Add another icon-based icon - but this time using HBMMENU_CALLBACK
|
216
|
-
# in the hbmpItem elt, so we only need to draw the icon (ie, not the
|
217
|
-
# text or checkmark)
|
218
|
-
index = 1
|
219
|
-
self.menu_item_map[index] = (hicon, None)
|
220
|
-
item, extras = PackMENUITEMINFO(
|
221
|
-
text="Menu with o-d icon 2",
|
222
|
-
dwItemData=index,
|
223
|
-
hbmpItem=win32con.HBMMENU_CALLBACK,
|
224
|
-
wID=1010,
|
225
|
-
)
|
226
|
-
InsertMenuItem(menu, 0, 1, item)
|
227
|
-
|
228
|
-
# Add another icon-based icon - this time by converting
|
229
|
-
# via bitmap. Note the icon background when selected is ugly :(
|
230
|
-
hdcBitmap = CreateCompatibleDC(0)
|
231
|
-
hdcScreen = GetDC(0)
|
232
|
-
hbm = CreateCompatibleBitmap(hdcScreen, ico_x, ico_y)
|
233
|
-
hbmOld = SelectObject(hdcBitmap, hbm)
|
234
|
-
SetBkMode(hdcBitmap, win32con.TRANSPARENT)
|
235
|
-
# Fill the background.
|
236
|
-
brush = GetSysColorBrush(win32con.COLOR_MENU)
|
237
|
-
FillRect(hdcBitmap, (0, 0, 16, 16), brush)
|
238
|
-
# unclear if brush needs to be freed. Best clue I can find is:
|
239
|
-
# "GetSysColorBrush returns a cached brush instead of allocating a new
|
240
|
-
# one." - implies no DeleteObject.
|
241
|
-
# draw the icon
|
242
|
-
DrawIconEx(hdcBitmap, 0, 0, hicon, ico_x, ico_y, 0, 0, win32con.DI_NORMAL)
|
243
|
-
SelectObject(hdcBitmap, hbmOld)
|
244
|
-
DeleteDC(hdcBitmap)
|
245
|
-
item, extras = PackMENUITEMINFO(
|
246
|
-
text="Menu with icon", hbmpItem=hbm.Detach(), wID=1011
|
247
|
-
)
|
248
|
-
InsertMenuItem(menu, 0, 1, item)
|
249
|
-
|
250
|
-
# Create a sub-menu, and put a few funky ones there.
|
251
|
-
self.sub_menu = sub_menu = CreatePopupMenu()
|
252
|
-
# A 'checkbox' menu.
|
253
|
-
item, extras = PackMENUITEMINFO(
|
254
|
-
fState=win32con.MFS_CHECKED, text="Checkbox menu", hbmpItem=hbmp, wID=1003
|
255
|
-
)
|
256
|
-
InsertMenuItem(sub_menu, 0, 1, item)
|
257
|
-
# A 'radio' menu.
|
258
|
-
InsertMenu(sub_menu, 0, win32con.MF_BYPOSITION, win32con.MF_SEPARATOR, None)
|
259
|
-
item, extras = PackMENUITEMINFO(
|
260
|
-
fType=win32con.MFT_RADIOCHECK,
|
261
|
-
fState=win32con.MFS_CHECKED,
|
262
|
-
text="Checkbox menu - bullet 1",
|
263
|
-
hbmpItem=hbmp,
|
264
|
-
wID=1004,
|
265
|
-
)
|
266
|
-
InsertMenuItem(sub_menu, 0, 1, item)
|
267
|
-
item, extras = PackMENUITEMINFO(
|
268
|
-
fType=win32con.MFT_RADIOCHECK,
|
269
|
-
fState=win32con.MFS_UNCHECKED,
|
270
|
-
text="Checkbox menu - bullet 2",
|
271
|
-
hbmpItem=hbmp,
|
272
|
-
wID=1005,
|
273
|
-
)
|
274
|
-
InsertMenuItem(sub_menu, 0, 1, item)
|
275
|
-
# And add the sub-menu to the top-level menu.
|
276
|
-
item, extras = PackMENUITEMINFO(text="Sub-Menu", hSubMenu=sub_menu)
|
277
|
-
InsertMenuItem(menu, 0, 1, item)
|
278
|
-
|
279
|
-
# Set 'Exit' as the default option.
|
280
|
-
SetMenuDefaultItem(menu, 1000, 0)
|
281
|
-
|
282
|
-
def OnDestroy(self, hwnd, msg, wparam, lparam):
|
283
|
-
nid = (self.hwnd, 0)
|
284
|
-
Shell_NotifyIcon(NIM_DELETE, nid)
|
285
|
-
PostQuitMessage(0) # Terminate the app.
|
286
|
-
|
287
|
-
def OnTaskbarNotify(self, hwnd, msg, wparam, lparam):
|
288
|
-
if lparam == win32con.WM_RBUTTONUP:
|
289
|
-
print("You right clicked me.")
|
290
|
-
# display the menu at the cursor pos.
|
291
|
-
pos = GetCursorPos()
|
292
|
-
SetForegroundWindow(self.hwnd)
|
293
|
-
TrackPopupMenu(
|
294
|
-
self.hmenu, win32con.TPM_LEFTALIGN, pos[0], pos[1], 0, self.hwnd, None
|
295
|
-
)
|
296
|
-
PostMessage(self.hwnd, win32con.WM_NULL, 0, 0)
|
297
|
-
elif lparam == win32con.WM_LBUTTONDBLCLK:
|
298
|
-
print("You double-clicked me")
|
299
|
-
# find the default menu item and fire it.
|
300
|
-
cmd = GetMenuDefaultItem(self.hmenu, False, 0)
|
301
|
-
if cmd == -1:
|
302
|
-
print("Can't find a default!")
|
303
|
-
# and just pretend it came from the menu
|
304
|
-
self.OnCommand(hwnd, win32con.WM_COMMAND, cmd, 0)
|
305
|
-
return 1
|
306
|
-
|
307
|
-
def OnCommand(self, hwnd, msg, wparam, lparam):
|
308
|
-
id = LOWORD(wparam)
|
309
|
-
if id == 1000:
|
310
|
-
print("Goodbye")
|
311
|
-
DestroyWindow(self.hwnd)
|
312
|
-
elif id in (1003, 1004, 1005):
|
313
|
-
# Our 'checkbox' and 'radio' items
|
314
|
-
state = GetMenuState(self.sub_menu, id, win32con.MF_BYCOMMAND)
|
315
|
-
if state == -1:
|
316
|
-
raise RuntimeError("No item found")
|
317
|
-
if state & win32con.MF_CHECKED:
|
318
|
-
check_flags = win32con.MF_UNCHECKED
|
319
|
-
print("Menu was checked - unchecking")
|
320
|
-
else:
|
321
|
-
check_flags = win32con.MF_CHECKED
|
322
|
-
print("Menu was unchecked - checking")
|
323
|
-
|
324
|
-
if id == 1003:
|
325
|
-
# simple checkbox
|
326
|
-
rc = CheckMenuItem(
|
327
|
-
self.sub_menu, id, win32con.MF_BYCOMMAND | check_flags
|
328
|
-
)
|
329
|
-
else:
|
330
|
-
# radio button - must pass the first and last IDs in the
|
331
|
-
# "group", and the ID in the group that is to be selected.
|
332
|
-
rc = CheckMenuRadioItem(
|
333
|
-
self.sub_menu, 1004, 1005, id, win32con.MF_BYCOMMAND
|
334
|
-
)
|
335
|
-
# Get and check the new state - first the simple way...
|
336
|
-
new_state = GetMenuState(self.sub_menu, id, win32con.MF_BYCOMMAND)
|
337
|
-
if new_state & win32con.MF_CHECKED != check_flags:
|
338
|
-
raise RuntimeError("The new item didn't get the new checked state!")
|
339
|
-
# Now the long-winded way via GetMenuItemInfo...
|
340
|
-
buf, extras = EmptyMENUITEMINFO()
|
341
|
-
win32gui.GetMenuItemInfo(self.sub_menu, id, False, buf)
|
342
|
-
(
|
343
|
-
fType,
|
344
|
-
fState,
|
345
|
-
wID,
|
346
|
-
hSubMenu,
|
347
|
-
hbmpChecked,
|
348
|
-
hbmpUnchecked,
|
349
|
-
dwItemData,
|
350
|
-
text,
|
351
|
-
hbmpItem,
|
352
|
-
) = UnpackMENUITEMINFO(buf)
|
353
|
-
|
354
|
-
if fState & win32con.MF_CHECKED != check_flags:
|
355
|
-
raise RuntimeError("The new item didn't get the new checked state!")
|
356
|
-
else:
|
357
|
-
print("OnCommand for ID", id)
|
358
|
-
|
359
|
-
# Owner-draw related functions. We only have 1 owner-draw item, but
|
360
|
-
# we pretend we have more than that :)
|
361
|
-
def OnMeasureItem(self, hwnd, msg, wparam, lparam):
|
362
|
-
## Last item of MEASUREITEMSTRUCT is a ULONG_PTR
|
363
|
-
fmt = "5iP"
|
364
|
-
buf = PyMakeBuffer(struct.calcsize(fmt), lparam)
|
365
|
-
data = struct.unpack(fmt, buf)
|
366
|
-
ctlType, ctlID, itemID, itemWidth, itemHeight, itemData = data
|
367
|
-
|
368
|
-
hicon, text = self.menu_item_map[itemData]
|
369
|
-
if text is None:
|
370
|
-
# Only drawing icon due to HBMMENU_CALLBACK
|
371
|
-
cx = self.menu_icon_width
|
372
|
-
cy = self.menu_icon_height
|
373
|
-
else:
|
374
|
-
# drawing the lot!
|
375
|
-
dc = GetDC(hwnd)
|
376
|
-
oldFont = SelectObject(dc, self.font_menu)
|
377
|
-
cx, cy = GetTextExtentPoint32(dc, text)
|
378
|
-
SelectObject(dc, oldFont)
|
379
|
-
ReleaseDC(hwnd, dc)
|
380
|
-
|
381
|
-
cx += GetSystemMetrics(win32con.SM_CXMENUCHECK)
|
382
|
-
cx += self.menu_icon_width + self.icon_x_pad
|
383
|
-
|
384
|
-
cy = GetSystemMetrics(win32con.SM_CYMENU)
|
385
|
-
|
386
|
-
new_data = struct.pack(fmt, ctlType, ctlID, itemID, cx, cy, itemData)
|
387
|
-
PySetMemory(lparam, new_data)
|
388
|
-
return True
|
389
|
-
|
390
|
-
def OnDrawItem(self, hwnd, msg, wparam, lparam):
|
391
|
-
## lparam is a DRAWITEMSTRUCT
|
392
|
-
fmt = "5i2P4iP"
|
393
|
-
data = struct.unpack(fmt, PyGetMemory(lparam, struct.calcsize(fmt)))
|
394
|
-
(
|
395
|
-
ctlType,
|
396
|
-
ctlID,
|
397
|
-
itemID,
|
398
|
-
itemAction,
|
399
|
-
itemState,
|
400
|
-
hwndItem,
|
401
|
-
hDC,
|
402
|
-
left,
|
403
|
-
top,
|
404
|
-
right,
|
405
|
-
bot,
|
406
|
-
itemData,
|
407
|
-
) = data
|
408
|
-
|
409
|
-
rect = left, top, right, bot
|
410
|
-
hicon, text = self.menu_item_map[itemData]
|
411
|
-
|
412
|
-
if text is None:
|
413
|
-
# This means the menu-item had HBMMENU_CALLBACK - so all we
|
414
|
-
# draw is the icon. rect is the entire area we should use.
|
415
|
-
DrawIconEx(
|
416
|
-
hDC, left, top, hicon, right - left, bot - top, 0, 0, win32con.DI_NORMAL
|
417
|
-
)
|
418
|
-
else:
|
419
|
-
# If the user has selected the item, use the selected
|
420
|
-
# text and background colors to display the item.
|
421
|
-
selected = itemState & win32con.ODS_SELECTED
|
422
|
-
if selected:
|
423
|
-
crText = SetTextColor(hDC, GetSysColor(win32con.COLOR_HIGHLIGHTTEXT))
|
424
|
-
crBkgnd = SetBkColor(hDC, GetSysColor(win32con.COLOR_HIGHLIGHT))
|
425
|
-
|
426
|
-
each_pad = self.icon_x_pad // 2
|
427
|
-
x_icon = left + GetSystemMetrics(win32con.SM_CXMENUCHECK) + each_pad
|
428
|
-
x_text = x_icon + self.menu_icon_width + each_pad
|
429
|
-
|
430
|
-
# Draw text first, specifying a complete rect to fill - this sets
|
431
|
-
# up the background (but overwrites anything else already there!)
|
432
|
-
# Select the font, draw it, and restore the previous font.
|
433
|
-
hfontOld = SelectObject(hDC, self.font_menu)
|
434
|
-
ExtTextOut(hDC, x_text, top + 2, win32con.ETO_OPAQUE, rect, text)
|
435
|
-
SelectObject(hDC, hfontOld)
|
436
|
-
|
437
|
-
# Icon image next. Icons are transparent - no need to handle
|
438
|
-
# selection specially.
|
439
|
-
DrawIconEx(
|
440
|
-
hDC,
|
441
|
-
x_icon,
|
442
|
-
top + 2,
|
443
|
-
hicon,
|
444
|
-
self.menu_icon_width,
|
445
|
-
self.menu_icon_height,
|
446
|
-
0,
|
447
|
-
0,
|
448
|
-
win32con.DI_NORMAL,
|
449
|
-
)
|
450
|
-
|
451
|
-
# Return the text and background colors to their
|
452
|
-
# normal state (not selected).
|
453
|
-
if selected:
|
454
|
-
SetTextColor(hDC, crText)
|
455
|
-
SetBkColor(hDC, crBkgnd)
|
456
|
-
|
457
|
-
|
458
|
-
def main():
|
459
|
-
w = MainWindow()
|
460
|
-
PumpMessages()
|
461
|
-
|
462
|
-
|
463
|
-
if __name__ == "__main__":
|
464
|
-
main()
|
@@ -1,136 +0,0 @@
|
|
1
|
-
# Creates a task-bar icon. Run from Python.exe to see the
|
2
|
-
# messages printed.
|
3
|
-
import os
|
4
|
-
import sys
|
5
|
-
|
6
|
-
import win32api
|
7
|
-
import win32con
|
8
|
-
import win32gui
|
9
|
-
import winerror
|
10
|
-
|
11
|
-
|
12
|
-
class MainWindow:
|
13
|
-
def __init__(self):
|
14
|
-
msg_TaskbarRestart = win32gui.RegisterWindowMessage("TaskbarCreated")
|
15
|
-
message_map = {
|
16
|
-
msg_TaskbarRestart: self.OnRestart,
|
17
|
-
win32con.WM_DESTROY: self.OnDestroy,
|
18
|
-
win32con.WM_COMMAND: self.OnCommand,
|
19
|
-
win32con.WM_USER + 20: self.OnTaskbarNotify,
|
20
|
-
}
|
21
|
-
# Register the Window class.
|
22
|
-
wc = win32gui.WNDCLASS()
|
23
|
-
hinst = wc.hInstance = win32api.GetModuleHandle(None)
|
24
|
-
wc.lpszClassName = "PythonTaskbarDemo"
|
25
|
-
wc.style = win32con.CS_VREDRAW | win32con.CS_HREDRAW
|
26
|
-
wc.hCursor = win32api.LoadCursor(0, win32con.IDC_ARROW)
|
27
|
-
wc.hbrBackground = win32con.COLOR_WINDOW
|
28
|
-
wc.lpfnWndProc = message_map # could also specify a wndproc.
|
29
|
-
|
30
|
-
# Don't blow up if class already registered to make testing easier
|
31
|
-
try:
|
32
|
-
classAtom = win32gui.RegisterClass(wc)
|
33
|
-
except win32gui.error as err_info:
|
34
|
-
if err_info.winerror != winerror.ERROR_CLASS_ALREADY_EXISTS:
|
35
|
-
raise
|
36
|
-
|
37
|
-
# Create the Window.
|
38
|
-
style = win32con.WS_OVERLAPPED | win32con.WS_SYSMENU
|
39
|
-
self.hwnd = win32gui.CreateWindow(
|
40
|
-
wc.lpszClassName,
|
41
|
-
"Taskbar Demo",
|
42
|
-
style,
|
43
|
-
0,
|
44
|
-
0,
|
45
|
-
win32con.CW_USEDEFAULT,
|
46
|
-
win32con.CW_USEDEFAULT,
|
47
|
-
0,
|
48
|
-
0,
|
49
|
-
hinst,
|
50
|
-
None,
|
51
|
-
)
|
52
|
-
win32gui.UpdateWindow(self.hwnd)
|
53
|
-
self._DoCreateIcons()
|
54
|
-
|
55
|
-
def _DoCreateIcons(self):
|
56
|
-
# Try and find a custom icon
|
57
|
-
hinst = win32api.GetModuleHandle(None)
|
58
|
-
iconPathName = os.path.abspath(
|
59
|
-
os.path.join(os.path.split(sys.executable)[0], "pyc.ico")
|
60
|
-
)
|
61
|
-
if not os.path.isfile(iconPathName):
|
62
|
-
# Look in the source tree.
|
63
|
-
iconPathName = os.path.abspath(
|
64
|
-
os.path.join(os.path.split(sys.executable)[0], "..\\PC\\pyc.ico")
|
65
|
-
)
|
66
|
-
if os.path.isfile(iconPathName):
|
67
|
-
icon_flags = win32con.LR_LOADFROMFILE | win32con.LR_DEFAULTSIZE
|
68
|
-
hicon = win32gui.LoadImage(
|
69
|
-
hinst, iconPathName, win32con.IMAGE_ICON, 0, 0, icon_flags
|
70
|
-
)
|
71
|
-
else:
|
72
|
-
print("Can't find a Python icon file - using default")
|
73
|
-
hicon = win32gui.LoadIcon(0, win32con.IDI_APPLICATION)
|
74
|
-
|
75
|
-
flags = win32gui.NIF_ICON | win32gui.NIF_MESSAGE | win32gui.NIF_TIP
|
76
|
-
nid = (self.hwnd, 0, flags, win32con.WM_USER + 20, hicon, "Python Demo")
|
77
|
-
try:
|
78
|
-
win32gui.Shell_NotifyIcon(win32gui.NIM_ADD, nid)
|
79
|
-
except win32gui.error:
|
80
|
-
# This is common when windows is starting, and this code is hit
|
81
|
-
# before the taskbar has been created.
|
82
|
-
print("Failed to add the taskbar icon - is explorer running?")
|
83
|
-
# but keep running anyway - when explorer starts, we get the
|
84
|
-
# TaskbarCreated message.
|
85
|
-
|
86
|
-
def OnRestart(self, hwnd, msg, wparam, lparam):
|
87
|
-
self._DoCreateIcons()
|
88
|
-
|
89
|
-
def OnDestroy(self, hwnd, msg, wparam, lparam):
|
90
|
-
nid = (self.hwnd, 0)
|
91
|
-
win32gui.Shell_NotifyIcon(win32gui.NIM_DELETE, nid)
|
92
|
-
win32gui.PostQuitMessage(0) # Terminate the app.
|
93
|
-
|
94
|
-
def OnTaskbarNotify(self, hwnd, msg, wparam, lparam):
|
95
|
-
if lparam == win32con.WM_LBUTTONUP:
|
96
|
-
print("You clicked me.")
|
97
|
-
elif lparam == win32con.WM_LBUTTONDBLCLK:
|
98
|
-
print("You double-clicked me - goodbye")
|
99
|
-
win32gui.DestroyWindow(self.hwnd)
|
100
|
-
elif lparam == win32con.WM_RBUTTONUP:
|
101
|
-
print("You right clicked me.")
|
102
|
-
menu = win32gui.CreatePopupMenu()
|
103
|
-
win32gui.AppendMenu(menu, win32con.MF_STRING, 1023, "Display Dialog")
|
104
|
-
win32gui.AppendMenu(menu, win32con.MF_STRING, 1024, "Say Hello")
|
105
|
-
win32gui.AppendMenu(menu, win32con.MF_STRING, 1025, "Exit program")
|
106
|
-
pos = win32gui.GetCursorPos()
|
107
|
-
# See https://learn.microsoft.com/en-us/windows/win32/api/_menurc/
|
108
|
-
win32gui.SetForegroundWindow(self.hwnd)
|
109
|
-
win32gui.TrackPopupMenu(
|
110
|
-
menu, win32con.TPM_LEFTALIGN, pos[0], pos[1], 0, self.hwnd, None
|
111
|
-
)
|
112
|
-
win32gui.PostMessage(self.hwnd, win32con.WM_NULL, 0, 0)
|
113
|
-
return 1
|
114
|
-
|
115
|
-
def OnCommand(self, hwnd, msg, wparam, lparam):
|
116
|
-
id = win32api.LOWORD(wparam)
|
117
|
-
if id == 1023:
|
118
|
-
import win32gui_dialog
|
119
|
-
|
120
|
-
win32gui_dialog.DemoModal()
|
121
|
-
elif id == 1024:
|
122
|
-
print("Hello")
|
123
|
-
elif id == 1025:
|
124
|
-
print("Goodbye")
|
125
|
-
win32gui.DestroyWindow(self.hwnd)
|
126
|
-
else:
|
127
|
-
print("Unknown command -", id)
|
128
|
-
|
129
|
-
|
130
|
-
def main():
|
131
|
-
w = MainWindow()
|
132
|
-
win32gui.PumpMessages()
|
133
|
-
|
134
|
-
|
135
|
-
if __name__ == "__main__":
|
136
|
-
main()
|