├── ConsoleLogonHook ├── framework.h ├── detours │ ├── detours.lib │ ├── detours.pdb │ └── detver.h ├── init │ └── init.h ├── spdlog │ ├── fmt │ │ ├── bundled │ │ │ ├── locale.h │ │ │ └── fmt.license.rst │ │ ├── chrono.h │ │ ├── ranges.h │ │ ├── xchar.h │ │ ├── ostr.h │ │ ├── compile.h │ │ ├── std.h │ │ └── fmt.h │ ├── details │ │ ├── windows_include.h │ │ ├── console_globals.h │ │ ├── periodic_worker-inl.h │ │ ├── synchronous_factory.h │ │ ├── log_msg_buffer.h │ │ ├── null_mutex.h │ │ ├── backtracer.h │ │ ├── log_msg.h │ │ └── log_msg-inl.h │ ├── fwd.h │ ├── version.h │ ├── formatter.h │ ├── sinks │ │ ├── sink-inl.h │ │ ├── sink.h │ │ ├── basic_file_sink-inl.h │ │ ├── null_sink.h │ │ ├── ostream_sink.h │ │ └── stdout_color_sinks-inl.h │ ├── cfg │ │ ├── helpers.h │ │ ├── env.h │ │ └── argv.h │ └── mdc.h ├── ui │ ├── ui_messageview.h │ ├── ui_statusview.h │ ├── ui_lockedview.h │ ├── ui_selectedcredentialview.h │ ├── ui_securitycontrol.h │ ├── ui_userselect.h │ ├── ui_lockedview.cpp │ └── ui_sink.h ├── pch.h ├── util │ └── util.cpp └── imgui │ └── imgui_impl_dx11.h ├── ConsoleLogonUI ├── dui │ ├── DirectUI │ │ ├── event.h │ │ ├── BorderLayout.h │ │ ├── TouchButton.h │ │ ├── AutoLock.h │ │ ├── AutoThread.h │ │ ├── AutoVariant.h │ │ ├── FontCheckOut.h │ │ ├── DuiNavigate.h │ │ ├── CClassFactory.h │ │ ├── NavScoring.h │ │ ├── LinkedList.h │ │ ├── TouchCheckBox.h │ │ ├── SelectorSelection.h │ │ ├── BrowserSelection.h │ │ ├── FontCache.h │ │ ├── SelectorSelectionItem.h │ │ ├── host.h │ │ ├── ElementWithHWND.h │ │ ├── provider.h │ │ ├── Expandable.h │ │ ├── Repeater.h │ │ ├── AutoButton.h │ │ ├── PText.h │ │ ├── Clipper.h │ │ ├── CVScrollBar.h │ │ ├── CHScrollBar.h │ │ ├── CAVI.h │ │ ├── UnknownElement.h │ │ ├── Thumb.h │ │ ├── CListView.h │ │ ├── CProgressBar.h │ │ ├── CListBox.h │ │ ├── CCheckBox.h │ │ ├── SelectorNoDefault.h │ │ ├── Bind.h │ │ ├── Primitives.h │ │ ├── CCSysLink.h │ │ ├── CheckBoxGlyph.h │ │ ├── RepeatButton.h │ │ ├── RadioButtonGlyph.h │ │ ├── ExpandoButtonGlyph.h │ │ ├── CBaseCheckRadioButton.h │ │ ├── StyledScrollViewer.h │ │ ├── TextGraphic.h │ │ ├── PushButton.h │ │ ├── CRadioButton.h │ │ ├── ScrollItem.h │ │ ├── Browser.h │ │ ├── Expando.h │ │ ├── Toggle.h │ │ ├── ScrollViewer.h │ │ ├── TableItem.h │ │ ├── Table.h │ │ ├── DirectUI.def │ │ ├── CCommandLink.h │ │ ├── Macro.h │ │ ├── Selection.h │ │ ├── Selector.h │ │ ├── Grid.h │ │ ├── RefPointElement.h │ │ ├── SelectionItem.h │ │ ├── AccessibleButton.h │ │ ├── RangeValue.h │ │ ├── CTreeView.h │ │ ├── GridItem.h │ │ ├── Combobox.h │ │ ├── Button.h │ │ ├── Page.h │ │ ├── Progress.h │ │ ├── CTrackBar.h │ │ ├── Navigator.h │ │ ├── ExpandCollapse.h │ │ ├── NativeHWNDHost.h │ │ ├── XBaby.h │ │ └── XElement.h │ ├── UITest │ │ ├── .clang-format │ │ ├── UITest.rc │ │ ├── resource.h │ │ ├── packages.config │ │ ├── app.manifest │ │ └── UITest.vcxproj.filters │ ├── demangler │ │ ├── stdafx.h │ │ ├── stdafx.cpp │ │ ├── targetver.h │ │ ├── demangler.cpp │ │ ├── ReadMe.txt │ │ └── demangler.vcxproj.filters │ ├── dui_includes.h │ ├── docs │ │ ├── TouchEditBaseClass.g.txt │ │ ├── TouchEditInnerClass.g.txt │ │ ├── TouchEdit2Class.g.txt │ │ └── duixml │ │ │ └── AuthBrokerUI.dll.xml │ ├── README.md │ └── LICENSE ├── ui │ ├── dui_lockedview.h │ ├── dui_statusview.h │ ├── dui_messageview.h │ ├── dui_userselect.h │ ├── dui_lockedview.cpp │ ├── ui_sink.h │ ├── dui_securitycontrol.h │ └── dui_selectedcredentialview.h ├── resources │ ├── 5031.jpg │ ├── 5032.jpg │ ├── 5033.jpg │ ├── 5034.jpg │ ├── 5035.jpg │ ├── 5036.jpg │ ├── 5037.jpg │ ├── 5038.jpg │ ├── 5039.jpg │ ├── 5040.jpg │ ├── 5041.jpg │ ├── 5042.jpg │ ├── 5043.jpg │ ├── 5044.jpg │ ├── 5045.jpg │ ├── 5046.jpg │ ├── 5047.jpg │ ├── 5048.jpg │ ├── 5049.jpg │ ├── 5050.jpg │ ├── 5051.jpg │ ├── 5052.jpg │ ├── 5053.jpg │ ├── 5054.jpg │ ├── 5055.jpg │ ├── 5056.jpg │ ├── 11000.bmp │ ├── 11001.bmp │ ├── 11002.bmp │ ├── 11003.bmp │ ├── 12201.bmp │ ├── 12202.bmp │ ├── 12203.bmp │ ├── 12204.bmp │ ├── 12205.bmp │ ├── 12206.bmp │ ├── 12207.bmp │ ├── 12208.bmp │ ├── 12209.bmp │ ├── 12211.bmp │ ├── 12212.bmp │ ├── 12213.bmp │ ├── 12214.bmp │ ├── 12215.bmp │ ├── 12216.bmp │ ├── 12217.bmp │ ├── 12218.bmp │ ├── 12219.bmp │ ├── 12220.bmp │ ├── 12221.bmp │ ├── 12222.bmp │ ├── 12223.bmp │ ├── 12224.bmp │ ├── 12225.bmp │ ├── 12226.bmp │ ├── 12227.bmp │ ├── 12228.bmp │ ├── 12229.bmp │ ├── 12230.bmp │ ├── 12231.bmp │ ├── 12232.bmp │ ├── 12233.bmp │ ├── 12234.bmp │ ├── 12235.bmp │ ├── 12236.bmp │ ├── 12237.bmp │ ├── 12238.bmp │ ├── 12259.bmp │ ├── 12260.bmp │ ├── 12261.bmp │ ├── 12262.bmp │ ├── 12263.bmp │ ├── 12264.bmp │ ├── 12265.bmp │ ├── 12266.bmp │ ├── 12267.bmp │ ├── 12268.bmp │ ├── 12269.bmp │ ├── 12270.bmp │ ├── 12271.bmp │ ├── 12272.bmp │ ├── 12273.bmp │ ├── 12274.bmp │ ├── 12275.bmp │ ├── 12276.bmp │ ├── 12277.bmp │ ├── 12278.bmp │ ├── 12279.bmp │ ├── 12280.bmp │ ├── 12281.bmp │ ├── 12282.bmp │ ├── 12283.bmp │ ├── 12284.bmp │ ├── 12285.bmp │ ├── 12286.bmp │ ├── 12287.bmp │ ├── 12288.bmp │ ├── 12289.bmp │ ├── 12290.bmp │ ├── 12291.bmp │ ├── 12292.bmp │ ├── 12293.bmp │ ├── 12294.bmp │ ├── 12295.bmp │ ├── 12296.bmp │ ├── 12298.bmp │ ├── 12299.bmp │ ├── 12300.bmp │ ├── 12301.bmp │ ├── 12302.bmp │ ├── 12303.bmp │ ├── 12304.bmp │ ├── 12305.bmp │ ├── 12306.bmp │ ├── 12307.bmp │ ├── 12309.bmp │ ├── 12310.bmp │ ├── 12311.bmp │ ├── 12312.bmp │ ├── 12313.bmp │ ├── 12314.bmp │ ├── 12315.bmp │ ├── 12316.bmp │ ├── 12317.bmp │ ├── 12318.bmp │ ├── 12320.bmp │ ├── 12321.bmp │ ├── 12322.bmp │ ├── 12323.bmp │ ├── 12324.bmp │ ├── Bitmap120.bmp │ ├── Bitmap1120.bmp │ ├── Bitmap2120.bmp │ ├── Bitmap5000.bmp │ ├── Bitmap5001.bmp │ ├── Bitmap5002.bmp │ ├── Bitmap5003.bmp │ ├── Bitmap5004.bmp │ ├── resource.h.bak │ ├── ConsoleLogonUI.rc.bak │ ├── test.xml │ ├── 12210.bmp │ ├── lockedview.xml │ └── statusview.xml ├── spdlog │ ├── fmt │ │ ├── bundled │ │ │ ├── locale.h │ │ │ └── fmt.license.rst │ │ ├── xchar.h │ │ ├── chrono.h │ │ ├── ostr.h │ │ ├── ranges.h │ │ ├── compile.h │ │ ├── std.h │ │ └── fmt.h │ ├── details │ │ ├── windows_include.h │ │ ├── console_globals.h │ │ ├── periodic_worker-inl.h │ │ ├── synchronous_factory.h │ │ ├── log_msg_buffer.h │ │ ├── null_mutex.h │ │ ├── backtracer.h │ │ ├── log_msg.h │ │ └── log_msg-inl.h │ ├── fwd.h │ ├── version.h │ ├── formatter.h │ ├── sinks │ │ ├── sink-inl.h │ │ ├── sink.h │ │ ├── basic_file_sink-inl.h │ │ ├── null_sink.h │ │ ├── ostream_sink.h │ │ └── stdout_color_sinks-inl.h │ ├── cfg │ │ ├── helpers.h │ │ ├── env.h │ │ └── argv.h │ └── mdc.h └── resource.h └── .github └── workflows └── msbuild.yml /ConsoleLogonHook/framework.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/event.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/UITest/.clang-format: -------------------------------------------------------------------------------- 1 | BasedOnStyle: LLVM 2 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/BorderLayout.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/ui/dui_lockedview.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "dui_manager.h" 3 | #include -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5031.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5031.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5032.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5032.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5033.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5033.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5034.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5034.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5035.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5035.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5036.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5036.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5037.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5037.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5038.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5038.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5039.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5039.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5040.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5040.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5041.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5041.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5042.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5042.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5043.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5043.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5044.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5044.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5045.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5045.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5046.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5046.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5047.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5047.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5048.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5048.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5049.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5049.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5050.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5050.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5051.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5051.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5052.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5052.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5053.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5053.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5054.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5054.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5055.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5055.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/5056.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/5056.jpg -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/UITest/UITest.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/dui/UITest/UITest.rc -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/11000.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/11000.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/11001.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/11001.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/11002.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/11002.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/11003.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/11003.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12201.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12201.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12202.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12202.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12203.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12203.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12204.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12204.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12205.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12205.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12206.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12206.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12207.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12207.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12208.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12208.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12209.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12209.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12211.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12211.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12212.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12212.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12213.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12213.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12214.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12214.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12215.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12215.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12216.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12216.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12217.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12217.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12218.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12218.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12219.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12219.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12220.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12220.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12221.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12221.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12222.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12222.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12223.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12223.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12224.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12224.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12225.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12225.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12226.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12226.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12227.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12227.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12228.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12228.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12229.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12229.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12230.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12230.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12231.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12231.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12232.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12232.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12233.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12233.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12234.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12234.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12235.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12235.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12236.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12236.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12237.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12237.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12238.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12238.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12259.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12259.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12260.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12260.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12261.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12261.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12262.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12262.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12263.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12263.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12264.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12264.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12265.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12265.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12266.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12266.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12267.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12267.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12268.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12268.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12269.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12269.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12270.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12270.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12271.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12271.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12272.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12272.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12273.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12273.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12274.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12274.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12275.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12275.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12276.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12276.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12277.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12277.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12278.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12278.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12279.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12279.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12280.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12280.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12281.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12281.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12282.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12282.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12283.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12283.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12284.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12284.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12285.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12285.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12286.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12286.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12287.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12287.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12288.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12288.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12289.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12289.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12290.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12290.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12291.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12291.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12292.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12292.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12293.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12293.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12294.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12294.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12295.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12295.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12296.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12296.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12298.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12298.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12299.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12299.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12300.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12300.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12301.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12301.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12302.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12302.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12303.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12303.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12304.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12304.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12305.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12305.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12306.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12306.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12307.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12307.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12309.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12309.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12310.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12310.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12311.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12311.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12312.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12312.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12313.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12313.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12314.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12314.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12315.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12315.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12316.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12316.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12317.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12317.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12318.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12318.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12320.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12320.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12321.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12321.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12322.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12322.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12323.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12323.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12324.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/12324.bmp -------------------------------------------------------------------------------- /ConsoleLogonHook/detours/detours.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonHook/detours/detours.lib -------------------------------------------------------------------------------- /ConsoleLogonHook/detours/detours.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonHook/detours/detours.pdb -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/UITest/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/dui/UITest/resource.h -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/demangler/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/dui/demangler/stdafx.h -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/Bitmap120.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/Bitmap120.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/demangler/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/dui/demangler/stdafx.cpp -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/demangler/targetver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/dui/demangler/targetver.h -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/dui_includes.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #pragma comment(lib,"dui70.lib") 3 | 4 | #include 5 | #include "DirectUI\DirectUI.h" -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/Bitmap1120.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/Bitmap1120.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/Bitmap2120.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/Bitmap2120.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/Bitmap5000.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/Bitmap5000.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/Bitmap5001.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/Bitmap5001.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/Bitmap5002.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/Bitmap5002.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/Bitmap5003.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/Bitmap5003.bmp -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/Bitmap5004.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/resources/Bitmap5004.bmp -------------------------------------------------------------------------------- /ConsoleLogonHook/init/init.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace init 4 | { 5 | void InitSpdlog(); 6 | void InitHooks(); 7 | void Unload(); 8 | } -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/fmt/bundled/locale.h: -------------------------------------------------------------------------------- 1 | #include "xchar.h" 2 | #warning fmt/locale.h is deprecated, include fmt/format.h or fmt/xchar.h instead 3 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/demangler/demangler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wiktorwiktor12/ConsoleLogonHook/HEAD/ConsoleLogonUI/dui/demangler/demangler.cpp -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/fmt/bundled/locale.h: -------------------------------------------------------------------------------- 1 | #include "xchar.h" 2 | #warning fmt/locale.h is deprecated, include fmt/format.h or fmt/xchar.h instead 3 | -------------------------------------------------------------------------------- /ConsoleLogonHook/ui/ui_messageview.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | class uiMessageView 5 | { 6 | public: 7 | 8 | static void InitHooks(uintptr_t baseaddress); 9 | }; -------------------------------------------------------------------------------- /ConsoleLogonHook/ui/ui_statusview.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | class uiStatusView 5 | { 6 | public: 7 | 8 | static void InitHooks(uintptr_t baseaddress); 9 | }; -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/UITest/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/TouchButton.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI { 4 | 5 | struct UILIB_API TouchButton : public RichText { 6 | 7 | static UID WINAPI Click(void); 8 | 9 | }; 10 | 11 | } 12 | -------------------------------------------------------------------------------- /ConsoleLogonHook/ui/ui_lockedview.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | 6 | class uiLockedView 7 | { 8 | public: 9 | static void InitHooks(uintptr_t baseaddress); 10 | }; -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/AutoLock.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API AutoLock 6 | { 7 | public: 8 | AutoLock(LPCRITICAL_SECTION lpCriticalSection); 9 | AutoLock& operator=(const AutoLock& ); 10 | ~AutoLock(); 11 | }; 12 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/AutoThread.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API AutoThread 6 | { 7 | public: 8 | AutoThread(); 9 | ~AutoThread(); 10 | AutoThread& operator=(const AutoThread &); 11 | HRESULT Init(); 12 | }; 13 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/resource.h.bak: -------------------------------------------------------------------------------- 1 | #define IDUIF_MAIN 100 2 | #define IDUIF_TEST 101 3 | #define IDUIF_MESSAGEVIEW 102 4 | #define IDUIF_SECURITYCONTROL 103 5 | #define IDUIF_SELECTEDCREDENTIALVIEW 104 6 | #define IDUIF_STATUSVIEW 105 7 | #define IDUIF_USERSELECT 106 -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/AutoVariant.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "types.h" 3 | 4 | namespace DirectUI 5 | { 6 | class UILIB_API AutoVariant 7 | { 8 | public: 9 | AutoVariant(); 10 | AutoVariant& operator=(const AutoVariant &); 11 | ~AutoVariant(); 12 | }; 13 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/FontCheckOut.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API FontCheckOut 6 | { 7 | public: 8 | FontCheckOut(Element *, HDC); 9 | ~FontCheckOut(void); 10 | FontCheckOut & operator=(FontCheckOut const &); 11 | }; 12 | } -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/details/windows_include.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef NOMINMAX 4 | #define NOMINMAX // prevent windows redefining min/max 5 | #endif 6 | 7 | #ifndef WIN32_LEAN_AND_MEAN 8 | #define WIN32_LEAN_AND_MEAN 9 | #endif 10 | 11 | #include 12 | -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/details/windows_include.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef NOMINMAX 4 | #define NOMINMAX // prevent windows redefining min/max 5 | #endif 6 | 7 | #ifndef WIN32_LEAN_AND_MEAN 8 | #define WIN32_LEAN_AND_MEAN 9 | #endif 10 | 11 | #include 12 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/DuiNavigate.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API DuiNavigate 6 | { 7 | public: 8 | static Element * __stdcall Navigate(Element *, DynamicArray *, int); 9 | DuiNavigate & operator=(DuiNavigate const &); 10 | }; 11 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/CClassFactory.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | struct UILIB_API CClassFactory { 6 | //static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 7 | //long Register(struct IClassInfo*); 8 | }; 9 | 10 | //CClassFactory *g_pClassFactory; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /ConsoleLogonUI/ui/dui_statusview.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "dui_manager.h" 3 | #include 4 | 5 | class duiStatusView : public duiBaseElement 6 | { 7 | public: 8 | 9 | duiStatusView(); 10 | virtual ~duiStatusView() override; 11 | 12 | DEFINE_DUIELEMENTCLASS(L"duiStatusView"); 13 | 14 | std::wstring statusText; 15 | 16 | }; -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/NavScoring.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | struct UILIB_API NavScoring 6 | { 7 | public: 8 | void Init(Element *, int, NavReference const *); 9 | NavScoring & operator=(NavScoring const &); 10 | int TrackScore(Element *, Element *); 11 | int Try(Element *, int, NavReference const *, unsigned long); 12 | }; 13 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/ConsoleLogonUI.rc.bak: -------------------------------------------------------------------------------- 1 | #include "resource.h" 2 | 3 | IDUIF_MAIN UIFILE "Main.xml" 4 | IDUIF_TEST UIFILE "test.xml" 5 | IDUIF_MESSAGEVIEW UIFILE "messageview.xml" 6 | IDUIF_SECURITYCONTROL UIFILE "securitycontrol.xml" 7 | IDUIF_SELECTEDCREDENTIALVIEW UIFILE "selectedcredentialview.xml" 8 | IDUIF_STATUSVIEW UIFILE "statusview.xml" 9 | IDUIF_USERSELECT UIFILE "userselect.xml" -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/fwd.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | namespace spdlog { 7 | class logger; 8 | class formatter; 9 | 10 | namespace sinks { 11 | class sink; 12 | } 13 | 14 | namespace level { 15 | enum level_enum : int; 16 | } 17 | 18 | } // namespace spdlog 19 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/fwd.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | namespace spdlog { 7 | class logger; 8 | class formatter; 9 | 10 | namespace sinks { 11 | class sink; 12 | } 13 | 14 | namespace level { 15 | enum level_enum : int; 16 | } 17 | 18 | } // namespace spdlog 19 | -------------------------------------------------------------------------------- /ConsoleLogonUI/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by ConsoleLogonUI.rc 4 | 5 | // Next default values for new objects 6 | // 7 | #ifdef APSTUDIO_INVOKED 8 | #ifndef APSTUDIO_READONLY_SYMBOLS 9 | #define _APS_NEXT_RESOURCE_VALUE 101 10 | #define _APS_NEXT_COMMAND_VALUE 40001 11 | #define _APS_NEXT_CONTROL_VALUE 1001 12 | #define _APS_NEXT_SYMED_VALUE 101 13 | #endif 14 | #endif 15 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/version.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #define SPDLOG_VER_MAJOR 1 7 | #define SPDLOG_VER_MINOR 14 8 | #define SPDLOG_VER_PATCH 1 9 | 10 | #define SPDLOG_TO_VERSION(major, minor, patch) (major * 10000 + minor * 100 + patch) 11 | #define SPDLOG_VERSION SPDLOG_TO_VERSION(SPDLOG_VER_MAJOR, SPDLOG_VER_MINOR, SPDLOG_VER_PATCH) 12 | -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/version.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #define SPDLOG_VER_MAJOR 1 7 | #define SPDLOG_VER_MINOR 14 8 | #define SPDLOG_VER_PATCH 1 9 | 10 | #define SPDLOG_TO_VERSION(major, minor, patch) (major * 10000 + minor * 100 + patch) 11 | #define SPDLOG_VERSION SPDLOG_TO_VERSION(SPDLOG_VER_MAJOR, SPDLOG_VER_MINOR, SPDLOG_VER_PATCH) 12 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/LinkedList.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API LinkedListNode 6 | { 7 | public: 8 | LinkedListNode& operator=(LinkedListNode const &); 9 | }; 10 | 11 | class UILIB_API LinkedList 12 | { 13 | public: 14 | LinkedList(void); 15 | ~LinkedList(void); 16 | LinkedList & operator=(LinkedList const &); 17 | void Add(LinkedListNode *); 18 | void Remove(LinkedListNode *); 19 | class LinkedListNode * RemoveTail(void); 20 | }; 21 | 22 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/TouchCheckBox.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI { 4 | 5 | enum CheckedStateFlags { 6 | CheckedStateFlags_NONE, 7 | CheckedStateFlags_CHECKED 8 | }; 9 | 10 | struct UILIB_API TouchCheckBox : public TouchButton { 11 | CheckedStateFlags GetCheckedState(); 12 | HRESULT SetCheckedState(CheckedStateFlags state); 13 | 14 | bool GetToggleOnClick(); 15 | HRESULT SetToggleOnClick(bool toggle); 16 | 17 | }; 18 | } 19 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/SelectorSelection.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API SelectorSelectionProxy :IProxy 6 | { 7 | public: 8 | SelectorSelectionProxy(SelectorSelectionProxy const &); 9 | SelectorSelectionProxy(void); 10 | SelectorSelectionProxy & operator=(SelectorSelectionProxy const &); 11 | 12 | virtual long DoMethod(int, char *); 13 | protected: 14 | virtual void Init(Element *); 15 | private: 16 | long GetIsSelectionRequired(int *); 17 | 18 | }; 19 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ConsoleLogonUI/ui/dui_messageview.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "dui_manager.h" 3 | #include 4 | 5 | struct MessageOptionControlWrapper 6 | { 7 | void* actualInstance; 8 | int optionflag; 9 | 10 | void Press(); 11 | 12 | std::wstring GetText(); 13 | }; 14 | 15 | class duiMessageView : public duiBaseElement 16 | { 17 | public: 18 | duiMessageView(); 19 | virtual ~duiMessageView() override; 20 | 21 | DEFINE_DUIELEMENTCLASS(L"duiMessageView"); 22 | 23 | std::wstring message; 24 | 25 | }; -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/BrowserSelection.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API BrowserSelectionProxy : public IProxy 6 | { 7 | public: 8 | BrowserSelectionProxy(BrowserSelectionProxy const &); 9 | BrowserSelectionProxy(void); 10 | BrowserSelectionProxy & operator=(BrowserSelectionProxy const &); 11 | virtual long DoMethod(int, char *); 12 | protected: 13 | virtual void Init(Element *); 14 | private: 15 | long GetIsSelectionRequired(int *); 16 | long GetSelection(SAFEARRAY * *); 17 | 18 | }; 19 | } -------------------------------------------------------------------------------- /ConsoleLogonHook/ui/ui_selectedcredentialview.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | //struct EditControlWrapper 5 | //{ 6 | // void* actualInstance; 7 | // std::string inputBuffer = ""; // for imgui 8 | // std::string fieldNameCache = ""; 9 | // 10 | // std::wstring GetFieldName(); 11 | // std::wstring GetInputtedText(); 12 | // void SetInputtedText(std::wstring input); 13 | // bool isVisible(); 14 | //}; 15 | 16 | class uiSelectedCredentialView 17 | { 18 | public: 19 | 20 | static void InitHooks(uintptr_t baseaddress); 21 | }; -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/formatter.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | namespace spdlog { 10 | 11 | class formatter { 12 | public: 13 | virtual ~formatter() = default; 14 | virtual void format(const details::log_msg &msg, memory_buf_t &dest) = 0; 15 | virtual std::unique_ptr clone() const = 0; 16 | }; 17 | } // namespace spdlog 18 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/formatter.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | namespace spdlog { 10 | 11 | class formatter { 12 | public: 13 | virtual ~formatter() = default; 14 | virtual void format(const details::log_msg &msg, memory_buf_t &dest) = 0; 15 | virtual std::unique_ptr clone() const = 0; 16 | }; 17 | } // namespace spdlog 18 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/FontCache.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API FontCache 6 | { 7 | public: 8 | FontCache(FontCache const &); 9 | FontCache(void); 10 | FontCache & operator=(FontCache const &); 11 | 12 | static long __stdcall InitProcess(void); 13 | static long __stdcall InitThread(void); 14 | static void __stdcall UninitProcess(void); 15 | static void __stdcall UninitThread(void); 16 | 17 | virtual void T1() = 0; 18 | virtual void T2() = 0; 19 | virtual void T3() = 0; 20 | virtual void T4() = 0; 21 | }; 22 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/docs/TouchEditBaseClass.g.txt: -------------------------------------------------------------------------------- 1 | ClassInfo: 2 | Base Class: 3 | Properties: 4 | [PasswordCharacter]: Int 5 | [IgnoredKeyCombos]: Int 6 | Enum values: 7 | None : 0x0 (0) 8 | Copy : 0x11 (17) 9 | Paste : 0xa (10) 10 | Cut : 0x24 (36) 11 | Default : 0x1 (1) 12 | Left : 0x1 (1) 13 | Center : 0x2 (2) 14 | Right : 0x4 (4) 15 | [KeyboardNavigationCapture]: Int 16 | Enum values: 17 | Default : 0x0 (0) 18 | None : 0x1 (1) 19 | VisualState : 0x6 (6) 20 |  : 0x0 (0) 21 | -------------------------------------------------------------------------------- /ConsoleLogonHook/pch.h: -------------------------------------------------------------------------------- 1 | // pch.h: This is a precompiled header file. 2 | // Files listed below are compiled only once, improving build performance for future builds. 3 | // This also affects IntelliSense performance, including code completion and many code browsing features. 4 | // However, files listed here are ALL re-compiled if any one of them is updated between builds. 5 | // Do not add files here that you will be updating frequently as this negates the performance advantage. 6 | 7 | #ifndef PCH_H 8 | #define PCH_H 9 | 10 | // add headers that you want to pre-compile here 11 | #include "framework.h" 12 | 13 | #endif //PCH_H 14 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/SelectorSelectionItem.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API SelectorSelectionItemProxy : public IProxy 6 | { 7 | public: 8 | SelectorSelectionItemProxy(SelectorSelectionItemProxy const &); 9 | SelectorSelectionItemProxy(void); 10 | SelectorSelectionItemProxy & operator=(SelectorSelectionItemProxy const &); 11 | 12 | virtual long DoMethod(int, char *); 13 | protected: 14 | virtual void Init(Element *); 15 | private: 16 | long AddToSelection(void); 17 | long GetSelectionContainer(IRawElementProviderSimple * *); 18 | long Select(void); 19 | 20 | }; 21 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/host.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API XHost 6 | { 7 | public: 8 | 9 | XHost(); 10 | ~XHost(); 11 | XHost & operator=(XHost const &); 12 | 13 | static long WINAPI Create(class IXElementCP*, XHost**); 14 | void Destroy(); 15 | void DestroyWindow(); 16 | 17 | class Element* GetElement(); 18 | HWND GetHWND(); 19 | 20 | void HideWindow(); 21 | void Host(class Element*); 22 | long Initialize(class IXElementCP*); 23 | void ShowWindow(int); 24 | 25 | static LRESULT WINAPI WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); 26 | }; 27 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/docs/TouchEditInnerClass.g.txt: -------------------------------------------------------------------------------- 1 | ClassInfo: 2 | Base Class: 3 | Properties: 4 | [PasswordCharacter]: Int 5 | [IgnoredKeyCombos]: Int 6 | Enum values: 7 | None : 0x0 (0) 8 | Copy : 0x11 (17) 9 | Paste : 0xa (10) 10 | Cut : 0x24 (36) 11 | Default : 0x1 (1) 12 | Left : 0x1 (1) 13 | Center : 0x2 (2) 14 | Right : 0x4 (4) 15 | [KeyboardNavigationCapture]: Int 16 | Enum values: 17 | Default : 0x0 (0) 18 | None : 0x1 (1) 19 | VisualState : 0x6 (6) 20 |  : 0x0 (0) 21 | -------------------------------------------------------------------------------- /ConsoleLogonHook/ui/ui_securitycontrol.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | //struct SecurityOptionControlWrapper 5 | //{ 6 | // void* actualInstance; 7 | // 8 | // SecurityOptionControlWrapper(void* instance) 9 | // { 10 | // actualInstance = instance; 11 | // } 12 | // 13 | // wchar_t* getString() 14 | // { 15 | // return *(wchar_t**)(__int64(actualInstance) + 0x48); 16 | // } 17 | // 18 | // void Press(); 19 | //}; 20 | 21 | class uiSecurityControl 22 | { 23 | public: 24 | 25 | std::vector> wasInSecurityControlNotifies; 26 | 27 | static void InitHooks(uintptr_t baseaddress); 28 | }; -------------------------------------------------------------------------------- /ConsoleLogonUI/ui/dui_userselect.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "dui_manager.h" 3 | #include 4 | 5 | struct SelectableUserOrCredentialControlWrapper 6 | { 7 | public: 8 | void* actualInstance; 9 | std::wstring text; 10 | HBITMAP pfp = 0; 11 | bool hastext = false; 12 | 13 | std::wstring GetText(); 14 | 15 | void Press(); 16 | bool isCredentialControl(); 17 | }; 18 | 19 | class duiUserSelect : public duiBaseElement 20 | { 21 | public: 22 | 23 | duiUserSelect(); 24 | virtual ~duiUserSelect() override; 25 | 26 | DEFINE_DUIELEMENTCLASS(L"duiUserSelect"); 27 | 28 | bool wasInSelectedCredentialView = false; 29 | 30 | 31 | }; -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/ElementWithHWND.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API ElementWithHWND : public Element 6 | { 7 | public: 8 | ElementWithHWND(const ElementWithHWND &); 9 | ElementWithHWND(); 10 | ElementWithHWND& operator=(const ElementWithHWND &); 11 | 12 | virtual ~ElementWithHWND(); 13 | 14 | static long WINAPI Create(Element*, unsigned long*, Element**); 15 | static IClassInfo* WINAPI GetClassInfoPtr(); 16 | static long WINAPI Register(); 17 | static void WINAPI SetClassInfoPtr(IClassInfo*); 18 | 19 | virtual IClassInfo* GetClassInfoW(); 20 | 21 | private: 22 | static IClassInfo*s_pClassInfo; 23 | }; 24 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/fmt/xchar.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(c) 2016 Gabi Melman. 3 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 4 | // 5 | 6 | #pragma once 7 | // 8 | // include bundled or external copy of fmtlib's xchar support 9 | // 10 | #include 11 | 12 | #if !defined(SPDLOG_USE_STD_FORMAT) 13 | #if !defined(SPDLOG_FMT_EXTERNAL) 14 | #ifdef SPDLOG_HEADER_ONLY 15 | #ifndef FMT_HEADER_ONLY 16 | #define FMT_HEADER_ONLY 17 | #endif 18 | #endif 19 | #include 20 | #else 21 | #include 22 | #endif 23 | #endif 24 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/fmt/chrono.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(c) 2016 Gabi Melman. 3 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 4 | // 5 | 6 | #pragma once 7 | // 8 | // include bundled or external copy of fmtlib's chrono support 9 | // 10 | #include 11 | 12 | #if !defined(SPDLOG_USE_STD_FORMAT) 13 | #if !defined(SPDLOG_FMT_EXTERNAL) 14 | #ifdef SPDLOG_HEADER_ONLY 15 | #ifndef FMT_HEADER_ONLY 16 | #define FMT_HEADER_ONLY 17 | #endif 18 | #endif 19 | #include 20 | #else 21 | #include 22 | #endif 23 | #endif 24 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/fmt/ranges.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(c) 2016 Gabi Melman. 3 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 4 | // 5 | 6 | #pragma once 7 | // 8 | // include bundled or external copy of fmtlib's ranges support 9 | // 10 | #include 11 | 12 | #if !defined(SPDLOG_USE_STD_FORMAT) 13 | #if !defined(SPDLOG_FMT_EXTERNAL) 14 | #ifdef SPDLOG_HEADER_ONLY 15 | #ifndef FMT_HEADER_ONLY 16 | #define FMT_HEADER_ONLY 17 | #endif 18 | #endif 19 | #include 20 | #else 21 | #include 22 | #endif 23 | #endif 24 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/fmt/xchar.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(c) 2016 Gabi Melman. 3 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 4 | // 5 | 6 | #pragma once 7 | // 8 | // include bundled or external copy of fmtlib's xchar support 9 | // 10 | #include 11 | 12 | #if !defined(SPDLOG_USE_STD_FORMAT) 13 | #if !defined(SPDLOG_FMT_EXTERNAL) 14 | #ifdef SPDLOG_HEADER_ONLY 15 | #ifndef FMT_HEADER_ONLY 16 | #define FMT_HEADER_ONLY 17 | #endif 18 | #endif 19 | #include 20 | #else 21 | #include 22 | #endif 23 | #endif 24 | -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/fmt/chrono.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(c) 2016 Gabi Melman. 3 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 4 | // 5 | 6 | #pragma once 7 | // 8 | // include bundled or external copy of fmtlib's chrono support 9 | // 10 | #include 11 | 12 | #if !defined(SPDLOG_USE_STD_FORMAT) 13 | #if !defined(SPDLOG_FMT_EXTERNAL) 14 | #ifdef SPDLOG_HEADER_ONLY 15 | #ifndef FMT_HEADER_ONLY 16 | #define FMT_HEADER_ONLY 17 | #endif 18 | #endif 19 | #include 20 | #else 21 | #include 22 | #endif 23 | #endif 24 | -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/fmt/ostr.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(c) 2016 Gabi Melman. 3 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 4 | // 5 | 6 | #pragma once 7 | // 8 | // include bundled or external copy of fmtlib's ostream support 9 | // 10 | #include 11 | 12 | #if !defined(SPDLOG_USE_STD_FORMAT) 13 | #if !defined(SPDLOG_FMT_EXTERNAL) 14 | #ifdef SPDLOG_HEADER_ONLY 15 | #ifndef FMT_HEADER_ONLY 16 | #define FMT_HEADER_ONLY 17 | #endif 18 | #endif 19 | #include 20 | #else 21 | #include 22 | #endif 23 | #endif 24 | -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/fmt/ranges.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(c) 2016 Gabi Melman. 3 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 4 | // 5 | 6 | #pragma once 7 | // 8 | // include bundled or external copy of fmtlib's ranges support 9 | // 10 | #include 11 | 12 | #if !defined(SPDLOG_USE_STD_FORMAT) 13 | #if !defined(SPDLOG_FMT_EXTERNAL) 14 | #ifdef SPDLOG_HEADER_ONLY 15 | #ifndef FMT_HEADER_ONLY 16 | #define FMT_HEADER_ONLY 17 | #endif 18 | #endif 19 | #include 20 | #else 21 | #include 22 | #endif 23 | #endif 24 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/fmt/ostr.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(c) 2016 Gabi Melman. 3 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 4 | // 5 | 6 | #pragma once 7 | // 8 | // include bundled or external copy of fmtlib's ostream support 9 | // 10 | #include 11 | 12 | #if !defined(SPDLOG_USE_STD_FORMAT) 13 | #if !defined(SPDLOG_FMT_EXTERNAL) 14 | #ifdef SPDLOG_HEADER_ONLY 15 | #ifndef FMT_HEADER_ONLY 16 | #define FMT_HEADER_ONLY 17 | #endif 18 | #endif 19 | #include 20 | #else 21 | #include 22 | #endif 23 | #endif 24 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/fmt/compile.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(c) 2016 Gabi Melman. 3 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 4 | // 5 | 6 | #pragma once 7 | // 8 | // include bundled or external copy of fmtlib's compile-time support 9 | // 10 | #include 11 | 12 | #if !defined(SPDLOG_USE_STD_FORMAT) 13 | #if !defined(SPDLOG_FMT_EXTERNAL) 14 | #ifdef SPDLOG_HEADER_ONLY 15 | #ifndef FMT_HEADER_ONLY 16 | #define FMT_HEADER_ONLY 17 | #endif 18 | #endif 19 | #include 20 | #else 21 | #include 22 | #endif 23 | #endif 24 | -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/fmt/compile.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(c) 2016 Gabi Melman. 3 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 4 | // 5 | 6 | #pragma once 7 | // 8 | // include bundled or external copy of fmtlib's compile-time support 9 | // 10 | #include 11 | 12 | #if !defined(SPDLOG_USE_STD_FORMAT) 13 | #if !defined(SPDLOG_FMT_EXTERNAL) 14 | #ifdef SPDLOG_HEADER_ONLY 15 | #ifndef FMT_HEADER_ONLY 16 | #define FMT_HEADER_ONLY 17 | #endif 18 | #endif 19 | #include 20 | #else 21 | #include 22 | #endif 23 | #endif 24 | -------------------------------------------------------------------------------- /ConsoleLogonUI/ui/dui_lockedview.cpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "dui_lockedview.h" 3 | #include "resources/resource.h" 4 | 5 | void external::LockedView_SetActive() 6 | { 7 | duiManager::SetPageActive((DirectUI::UCString)MAKEINTRESOURCEW(IDUIF_LOCKEDVIEW), [](DirectUI::Element *element) -> void { 8 | HideConsoleUI(); 9 | auto pDuiManager = duiManager::Get(); 10 | 11 | WCHAR szCtrlAltDel[256] = { 0 }; 12 | LoadStringW(GetModuleHandleW(L"ConsoleLogon.dll"), 100, szCtrlAltDel, 256); 13 | 14 | auto text = pDuiManager->pUIElement->FindDescendent(ATOMID(L"LockedText")); 15 | if (text) 16 | { 17 | text->SetContentString((DirectUI::UCString)szCtrlAltDel); 18 | } 19 | }); 20 | } -------------------------------------------------------------------------------- /ConsoleLogonHook/ui/ui_userselect.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | struct SelectableUserOrCredentialControlWrapper 6 | { 7 | public: 8 | void* actualInstance; 9 | std::wstring text; 10 | WORD virtualKeyCodeToPress = VK_RETURN; 11 | int controlHandleIndex = -1; 12 | unsigned long long tickMarkedPressed = 0; 13 | bool markedPressed = false; 14 | bool hastext = false; 15 | 16 | std::wstring GetText(); 17 | 18 | void Press(); 19 | bool isCredentialControl(); 20 | }; 21 | 22 | inline HANDLE uiUserSelectThreadHandle; 23 | 24 | static class uiUserSelect 25 | { 26 | public: 27 | 28 | 29 | 30 | static void InitHooks(uintptr_t baseaddress); 31 | }; -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/details/console_globals.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | namespace spdlog { 10 | namespace details { 11 | 12 | struct console_mutex { 13 | using mutex_t = std::mutex; 14 | static mutex_t &mutex() { 15 | static mutex_t s_mutex; 16 | return s_mutex; 17 | } 18 | }; 19 | 20 | struct console_nullmutex { 21 | using mutex_t = null_mutex; 22 | static mutex_t &mutex() { 23 | static mutex_t s_mutex; 24 | return s_mutex; 25 | } 26 | }; 27 | } // namespace details 28 | } // namespace spdlog 29 | -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/details/console_globals.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | namespace spdlog { 10 | namespace details { 11 | 12 | struct console_mutex { 13 | using mutex_t = std::mutex; 14 | static mutex_t &mutex() { 15 | static mutex_t s_mutex; 16 | return s_mutex; 17 | } 18 | }; 19 | 20 | struct console_nullmutex { 21 | using mutex_t = null_mutex; 22 | static mutex_t &mutex() { 23 | static mutex_t s_mutex; 24 | return s_mutex; 25 | } 26 | }; 27 | } // namespace details 28 | } // namespace spdlog 29 | -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/fmt/std.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(c) 2016 Gabi Melman. 3 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 4 | // 5 | 6 | #pragma once 7 | // 8 | // include bundled or external copy of fmtlib's std support (for formatting e.g. 9 | // std::filesystem::path, std::thread::id, std::monostate, std::variant, ...) 10 | // 11 | #include 12 | 13 | #if !defined(SPDLOG_USE_STD_FORMAT) 14 | #if !defined(SPDLOG_FMT_EXTERNAL) 15 | #ifdef SPDLOG_HEADER_ONLY 16 | #ifndef FMT_HEADER_ONLY 17 | #define FMT_HEADER_ONLY 18 | #endif 19 | #endif 20 | #include 21 | #else 22 | #include 23 | #endif 24 | #endif 25 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/fmt/std.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(c) 2016 Gabi Melman. 3 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 4 | // 5 | 6 | #pragma once 7 | // 8 | // include bundled or external copy of fmtlib's std support (for formatting e.g. 9 | // std::filesystem::path, std::thread::id, std::monostate, std::variant, ...) 10 | // 11 | #include 12 | 13 | #if !defined(SPDLOG_USE_STD_FORMAT) 14 | #if !defined(SPDLOG_FMT_EXTERNAL) 15 | #ifdef SPDLOG_HEADER_ONLY 16 | #ifndef FMT_HEADER_ONLY 17 | #define FMT_HEADER_ONLY 18 | #endif 19 | #endif 20 | #include 21 | #else 22 | #include 23 | #endif 24 | #endif 25 | -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/details/periodic_worker-inl.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #ifndef SPDLOG_HEADER_ONLY 7 | #include 8 | #endif 9 | 10 | namespace spdlog { 11 | namespace details { 12 | 13 | // stop the worker thread and join it 14 | SPDLOG_INLINE periodic_worker::~periodic_worker() { 15 | if (worker_thread_.joinable()) { 16 | { 17 | std::lock_guard lock(mutex_); 18 | active_ = false; 19 | } 20 | cv_.notify_one(); 21 | worker_thread_.join(); 22 | } 23 | } 24 | 25 | } // namespace details 26 | } // namespace spdlog 27 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/details/periodic_worker-inl.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #ifndef SPDLOG_HEADER_ONLY 7 | #include 8 | #endif 9 | 10 | namespace spdlog { 11 | namespace details { 12 | 13 | // stop the worker thread and join it 14 | SPDLOG_INLINE periodic_worker::~periodic_worker() { 15 | if (worker_thread_.joinable()) { 16 | { 17 | std::lock_guard lock(mutex_); 18 | active_ = false; 19 | } 20 | cv_.notify_one(); 21 | worker_thread_.join(); 22 | } 23 | } 24 | 25 | } // namespace details 26 | } // namespace spdlog 27 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/provider.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | 6 | 7 | class UILIB_API XResourceProvider : IXProviderCP 8 | { 9 | public: 10 | XResourceProvider(); 11 | XResourceProvider( const XResourceProvider& ); 12 | XResourceProvider& operator=( const XResourceProvider& ); 13 | 14 | //1 15 | virtual long CreateDUICP(HWNDElement*, HWND, HWND, Element**, class DUIXmlParser**); 16 | //2 17 | virtual long CreateParserCP(class DUIXmlParser** pOut); 18 | //3 19 | virtual void DestroyCP(); 20 | 21 | static long WINAPI Create(XResourceProvider**pOut); 22 | static long WINAPI Create(HINSTANCE, UCString, UCString, UCString, XResourceProvider**pOut ); 23 | 24 | long Initialize(HINSTANCE h, UCString s1, UCString s2, UCString s3); 25 | }; 26 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/Expandable.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API Expandable :public Element 6 | { 7 | public: 8 | Expandable(Expandable const &); 9 | Expandable(void); 10 | virtual ~Expandable(void); 11 | Expandable & operator=(Expandable const &); 12 | 13 | static long __stdcall Create(Element *, unsigned long *, Element * *); 14 | static const PropertyInfo* __stdcall ExpandedProp(void); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static long __stdcall Register(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | 19 | bool GetExpanded(void); 20 | long SetExpanded(bool); 21 | 22 | virtual IClassInfo * GetClassInfoW(void); 23 | 24 | private: 25 | static IClassInfo * s_pClassInfo; 26 | 27 | }; 28 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/Repeater.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API Repeater : public Macro 6 | { 7 | public: 8 | Repeater(Repeater const &); 9 | Repeater(void); 10 | virtual ~Repeater(void); 11 | Repeater & operator=(Repeater const &); 12 | 13 | static long __stdcall Create(Element *, unsigned long *, Element * *); 14 | static IClassInfo * __stdcall GetClassInfoPtr(void); 15 | static long __stdcall Register(void); 16 | static void __stdcall SetClassInfoPtr(IClassInfo *); 17 | 18 | long Initialize(Element *, unsigned long *); 19 | void SetDataEngine(IDataEngine *); 20 | 21 | virtual IClassInfo * GetClassInfoW(void); 22 | protected: 23 | virtual long BuildElement(void); 24 | private: 25 | static IClassInfo * s_pClassInfo; 26 | 27 | }; 28 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/AutoButton.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | //所有虚函数均是重载,无需调整顺序 6 | class UILIB_API AutoButton :public AccessibleButton 7 | { 8 | public: 9 | AutoButton(const AutoButton &); 10 | AutoButton(); 11 | AutoButton & operator=(const AutoButton&); 12 | virtual ~AutoButton(); 13 | 14 | static long __stdcall Create(Element* , unsigned long *, Element** ); 15 | static IClassInfo* __stdcall GetClassInfoPtr(); 16 | static long __stdcall Register(); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | static UID __stdcall Toggle(); 19 | 20 | virtual IClassInfo* GetClassInfoW(); 21 | virtual void OnEvent(Event *); 22 | 23 | long Initialize(Element *, unsigned long *); 24 | 25 | private: 26 | static IClassInfo* s_pClassInfo; 27 | }; 28 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/PText.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API PText : public TextGraphic 6 | { 7 | public: 8 | PText(PText const &); 9 | PText(void); 10 | virtual ~PText(void); 11 | PText & operator=(PText const &); 12 | 13 | static long __stdcall Create(Element *, unsigned long *, Element * *); 14 | static IClassInfo * __stdcall GetClassInfoPtr(void); 15 | static long __stdcall Register(void); 16 | static void __stdcall SetClassInfoPtr(IClassInfo *); 17 | 18 | long Initialize(Element *, unsigned long *); 19 | void SetDataEntry(IDataEntry *); 20 | 21 | virtual IClassInfo * GetClassInfoW(void); 22 | virtual bool OnPropertyChanging(PropertyInfo const *, int, Value *, Value *); 23 | 24 | private: 25 | static IClassInfo * s_pClassInfo; 26 | }; 27 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/Clipper.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API Clipper : public Expandable 6 | { 7 | public: 8 | Clipper(Clipper const &); 9 | Clipper(void); 10 | virtual ~Clipper(void); 11 | Clipper & operator=(Clipper const &); 12 | 13 | static long __stdcall Create(Element *, unsigned long *, Element * *); 14 | static IClassInfo * __stdcall GetClassInfoPtr(void); 15 | static long __stdcall Register(void); 16 | static void __stdcall SetClassInfoPtr(IClassInfo *); 17 | 18 | long Initialize(Element *, unsigned long *); 19 | 20 | virtual IClassInfo * GetClassInfoW(void); 21 | virtual void _SelfLayoutDoLayout(int, int); 22 | virtual SIZE _SelfLayoutUpdateDesiredSize(int, int, Surface *); 23 | 24 | private: 25 | static IClassInfo * s_pClassInfo; 26 | }; 27 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/CVScrollBar.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API CCVScrollBar : public CCBaseScrollBar 6 | { 7 | public: 8 | CCVScrollBar(CCVScrollBar const &); 9 | CCVScrollBar(void); 10 | virtual ~CCVScrollBar(void); 11 | CCVScrollBar & operator=(CCVScrollBar const &); 12 | 13 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static long __stdcall Register(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | 19 | virtual IClassInfo * GetClassInfoW(void); 20 | virtual SIZE GetContentSize(int, int, Surface *); 21 | 22 | private: 23 | static IClassInfo * s_pClassInfo; 24 | 25 | }; 26 | } -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/sinks/sink-inl.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #ifndef SPDLOG_HEADER_ONLY 7 | #include 8 | #endif 9 | 10 | #include 11 | 12 | SPDLOG_INLINE bool spdlog::sinks::sink::should_log(spdlog::level::level_enum msg_level) const { 13 | return msg_level >= level_.load(std::memory_order_relaxed); 14 | } 15 | 16 | SPDLOG_INLINE void spdlog::sinks::sink::set_level(level::level_enum log_level) { 17 | level_.store(log_level, std::memory_order_relaxed); 18 | } 19 | 20 | SPDLOG_INLINE spdlog::level::level_enum spdlog::sinks::sink::level() const { 21 | return static_cast(level_.load(std::memory_order_relaxed)); 22 | } 23 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/CHScrollBar.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | //此类虚函数全部来自父 6 | class UILIB_API CCHScrollBar : public CCBaseScrollBar 7 | { 8 | public: 9 | CCHScrollBar(const CCHScrollBar &); 10 | CCHScrollBar(void); 11 | CCHScrollBar & operator=(const CCHScrollBar &); 12 | virtual ~CCHScrollBar(void); 13 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static long __stdcall Register(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | 19 | virtual IClassInfo * GetClassInfoW(void); 20 | virtual SIZE GetContentSize(int, int, Surface *); 21 | 22 | private: 23 | static IClassInfo * s_pClassInfo; 24 | }; 25 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/sinks/sink-inl.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #ifndef SPDLOG_HEADER_ONLY 7 | #include 8 | #endif 9 | 10 | #include 11 | 12 | SPDLOG_INLINE bool spdlog::sinks::sink::should_log(spdlog::level::level_enum msg_level) const { 13 | return msg_level >= level_.load(std::memory_order_relaxed); 14 | } 15 | 16 | SPDLOG_INLINE void spdlog::sinks::sink::set_level(level::level_enum log_level) { 17 | level_.store(log_level, std::memory_order_relaxed); 18 | } 19 | 20 | SPDLOG_INLINE spdlog::level::level_enum spdlog::sinks::sink::level() const { 21 | return static_cast(level_.load(std::memory_order_relaxed)); 22 | } 23 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/CAVI.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API CCAVI :public CCBase 6 | { 7 | public: 8 | CCAVI(const CCAVI &); 9 | CCAVI(void); 10 | CCAVI & operator=(const CCAVI &); 11 | 12 | virtual ~CCAVI(void); 13 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static long __stdcall Register(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | 19 | void Play(HWND); 20 | void Stop(void); 21 | virtual IClassInfo * GetClassInfoW(void); 22 | protected: 23 | virtual void PostCreate(HWND); 24 | private: 25 | void OpenAnimation(HWND); 26 | 27 | static IClassInfo * s_pClassInfo; 28 | 29 | }; 30 | } -------------------------------------------------------------------------------- /ConsoleLogonHook/detours/detver.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Common version parameters. 4 | // 5 | // Microsoft Research Detours Package, Version 4.0.1 6 | // 7 | // Copyright (c) Microsoft Corporation. All rights reserved. 8 | // 9 | 10 | #define _USING_V110_SDK71_ 1 11 | #include "winver.h" 12 | #if 0 13 | #include 14 | #include 15 | #else 16 | #ifndef DETOURS_STRINGIFY 17 | #define DETOURS_STRINGIFY_(x) #x 18 | #define DETOURS_STRINGIFY(x) DETOURS_STRINGIFY_(x) 19 | #endif 20 | 21 | #define VER_FILEFLAGSMASK 0x3fL 22 | #define VER_FILEFLAGS 0x0L 23 | #define VER_FILEOS 0x00040004L 24 | #define VER_FILETYPE 0x00000002L 25 | #define VER_FILESUBTYPE 0x00000000L 26 | #endif 27 | #define VER_DETOURS_BITS DETOURS_STRINGIFY(DETOURS_BITS) 28 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/UnknownElement.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API UnknownElement : public Element 6 | { 7 | public: 8 | UnknownElement(UnknownElement const &); 9 | UnknownElement(void); 10 | virtual ~UnknownElement(void); 11 | UnknownElement & operator=(UnknownElement const &); 12 | 13 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static long __stdcall Register(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | 19 | long Initialize(unsigned int, Element *, unsigned long *); 20 | 21 | virtual IClassInfo * GetClassInfoW(void); 22 | private: 23 | static IClassInfo * s_pClassInfo; 24 | 25 | }; 26 | } -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/cfg/helpers.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | namespace spdlog { 10 | namespace cfg { 11 | namespace helpers { 12 | // 13 | // Init levels from given string 14 | // 15 | // Examples: 16 | // 17 | // set global level to debug: "debug" 18 | // turn off all logging except for logger1: "off,logger1=debug" 19 | // turn off all logging except for logger1 and logger2: "off,logger1=debug,logger2=info" 20 | // 21 | SPDLOG_API void load_levels(const std::string &txt); 22 | } // namespace helpers 23 | 24 | } // namespace cfg 25 | } // namespace spdlog 26 | 27 | #ifdef SPDLOG_HEADER_ONLY 28 | #include "helpers-inl.h" 29 | #endif // SPDLOG_HEADER_ONLY 30 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/Thumb.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API Thumb : public Button 6 | { 7 | public: 8 | Thumb(Thumb const &); 9 | Thumb(void); 10 | virtual ~Thumb(void); 11 | Thumb & operator=(Thumb const &); 12 | 13 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static UID __stdcall Drag(void); 16 | static IClassInfo * __stdcall GetClassInfoPtr(void); 17 | static long __stdcall Register(void); 18 | static void __stdcall SetClassInfoPtr(IClassInfo *); 19 | 20 | long Initialize(unsigned int, Element *, unsigned long *); 21 | 22 | virtual IClassInfo * GetClassInfoW(void); 23 | virtual void OnInput(InputEvent *); 24 | private: 25 | static IClassInfo * s_pClassInfo; 26 | 27 | }; 28 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/cfg/helpers.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | namespace spdlog { 10 | namespace cfg { 11 | namespace helpers { 12 | // 13 | // Init levels from given string 14 | // 15 | // Examples: 16 | // 17 | // set global level to debug: "debug" 18 | // turn off all logging except for logger1: "off,logger1=debug" 19 | // turn off all logging except for logger1 and logger2: "off,logger1=debug,logger2=info" 20 | // 21 | SPDLOG_API void load_levels(const std::string &txt); 22 | } // namespace helpers 23 | 24 | } // namespace cfg 25 | } // namespace spdlog 26 | 27 | #ifdef SPDLOG_HEADER_ONLY 28 | #include "helpers-inl.h" 29 | #endif // SPDLOG_HEADER_ONLY 30 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/CListView.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API CCListView : public CCBase 6 | { 7 | public: 8 | CCListView(CCListView const &); 9 | CCListView(void); 10 | virtual ~CCListView(void); 11 | CCListView & operator=(CCListView const &); 12 | 13 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static long __stdcall Register(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | 19 | long Initialize(unsigned int, Element *, unsigned long *); 20 | 21 | virtual IClassInfo * GetClassInfoW(void); 22 | virtual SIZE GetContentSize(int, int, Surface *); 23 | private: 24 | static IClassInfo * s_pClassInfo; 25 | }; 26 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/details/synchronous_factory.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include "registry.h" 7 | 8 | namespace spdlog { 9 | 10 | // Default logger factory- creates synchronous loggers 11 | class logger; 12 | 13 | struct synchronous_factory { 14 | template 15 | static std::shared_ptr create(std::string logger_name, SinkArgs &&...args) { 16 | auto sink = std::make_shared(std::forward(args)...); 17 | auto new_logger = std::make_shared(std::move(logger_name), std::move(sink)); 18 | details::registry::instance().initialize_logger(new_logger); 19 | return new_logger; 20 | } 21 | }; 22 | } // namespace spdlog 23 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/details/synchronous_factory.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include "registry.h" 7 | 8 | namespace spdlog { 9 | 10 | // Default logger factory- creates synchronous loggers 11 | class logger; 12 | 13 | struct synchronous_factory { 14 | template 15 | static std::shared_ptr create(std::string logger_name, SinkArgs &&...args) { 16 | auto sink = std::make_shared(std::forward(args)...); 17 | auto new_logger = std::make_shared(std::move(logger_name), std::move(sink)); 18 | details::registry::instance().initialize_logger(new_logger); 19 | return new_logger; 20 | } 21 | }; 22 | } // namespace spdlog 23 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/CProgressBar.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API CCProgressBar :public CCBase 6 | { 7 | public: 8 | CCProgressBar(CCProgressBar const &); 9 | CCProgressBar(void); 10 | virtual ~CCProgressBar(void); 11 | CCProgressBar & operator=(CCProgressBar const &); 12 | 13 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static long __stdcall Register(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | 19 | long Initialize(unsigned int, Element *, unsigned long *); 20 | 21 | virtual IClassInfo * GetClassInfoW(void); 22 | virtual void OnInput(InputEvent *); 23 | 24 | private: 25 | static IClassInfo * s_pClassInfo; 26 | }; 27 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/CListBox.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API CCListBox : public CCBase 6 | { 7 | public: 8 | CCListBox(CCListBox const &); 9 | CCListBox(void); 10 | virtual ~CCListBox(void); 11 | CCListBox & operator=(CCListBox const &); 12 | 13 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static long __stdcall Register(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | 19 | int DeleteString(int); 20 | int AddString(unsigned short const *); 21 | int GetCount(void); 22 | 23 | virtual IClassInfo * GetClassInfoW(void); 24 | virtual SIZE GetContentSize(int, int, Surface *); 25 | 26 | private: 27 | static IClassInfo * s_pClassInfo; 28 | }; 29 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/docs/TouchEdit2Class.g.txt: -------------------------------------------------------------------------------- 1 | ClassInfo: 2 | Base Class: 3 | Properties: 4 | [PromptText]: String 5 | [PromptWithCaret]: Bool 6 | [SuppressClearButton]: Bool 7 | [ShowClearButtonMinWidth]: Int 8 | [PasswordRevealMode]: Int 9 | Enum values: 10 | Normal : 0x0 (0) 11 | Disabled : 0x1 (1) 12 | [InnerBorderThickness]: Rect 13 | [PasswordCharacter]: Int 14 | [IgnoredKeyCombos]: Int 15 | Enum values: 16 | None : 0x0 (0) 17 | Copy : 0x11 (17) 18 | Paste : 0xa (10) 19 | Cut : 0x24 (36) 20 | Default : 0x1 (1) 21 | Left : 0x1 (1) 22 | Center : 0x2 (2) 23 | Right : 0x4 (4) 24 | [KeyboardNavigationCapture]: Int 25 | Enum values: 26 | Default : 0x0 (0) 27 | None : 0x1 (1) 28 | VisualState : 0x6 (6) 29 |  : 0x0 (0) 30 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/CCheckBox.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API CCCheckBox :public CCBaseCheckRadioButton 6 | { 7 | public: 8 | CCCheckBox(const CCCheckBox &); 9 | CCCheckBox(unsigned long v1=0x403); 10 | CCCheckBox & operator=(const CCCheckBox &); 11 | virtual ~CCCheckBox(void); 12 | 13 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static long __stdcall Register(void); 16 | static void __stdcall SetClassInfoPtr(IClassInfo *); 17 | static IClassInfo * __stdcall GetClassInfoPtr(void); 18 | 19 | virtual IClassInfo * GetClassInfoW(void); 20 | virtual void OnInput(InputEvent *); 21 | virtual bool OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* plResult); 22 | 23 | private: 24 | static IClassInfo * s_pClassInfo; 25 | }; 26 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/SelectorNoDefault.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API SelectorNoDefault :public Selector 6 | { 7 | public: 8 | SelectorNoDefault(SelectorNoDefault const &); 9 | SelectorNoDefault(void); 10 | virtual ~SelectorNoDefault(void); 11 | SelectorNoDefault & operator=(SelectorNoDefault const &); 12 | 13 | static long __stdcall Create(Element *, unsigned long *, Element * *); 14 | static IClassInfo * __stdcall GetClassInfoPtr(void); 15 | static long __stdcall Register(void); 16 | static void __stdcall SetClassInfoPtr(IClassInfo *); 17 | 18 | long Initialize(Element *, unsigned long *); 19 | 20 | virtual IClassInfo * GetClassInfoW(void); 21 | virtual void OnEvent(Event *); 22 | virtual void OnKeyFocusMoved(Element *, Element *); 23 | virtual long SetSelection(Element *); 24 | private: 25 | static IClassInfo * s_pClassInfo; 26 | 27 | }; 28 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/Bind.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API Bind :public Element 6 | { 7 | public: 8 | Bind(const Bind &); 9 | Bind(void); 10 | Bind & operator=(const Bind &); 11 | virtual ~Bind(void); 12 | 13 | static const PropertyInfo * __stdcall ConnectProp(void); 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static const PropertyInfo * __stdcall PropertyProp(void); 17 | static long __stdcall Register(void); 18 | static void __stdcall SetClassInfoPtr(IClassInfo *); 19 | 20 | virtual IClassInfo * GetClassInfoW(void); 21 | 22 | UCString GetConnect(Value * *); 23 | UCString GetProperty(Value * *); 24 | long Initialize(Element *, unsigned long *); 25 | long SetConnect(UCString); 26 | long SetProperty(UCString); 27 | private: 28 | static IClassInfo* s_pClassInfo; 29 | }; 30 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/Primitives.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | 6 | struct Fill 7 | { 8 | 9 | }; 10 | 11 | struct Cursor 12 | { 13 | 14 | }; 15 | 16 | struct Graphic 17 | { 18 | 19 | }; 20 | 21 | 22 | struct EnumMap 23 | { 24 | 25 | }; 26 | 27 | struct PropertyInfo 28 | { 29 | UCString name; 30 | UINT64 unk1; 31 | struct PropCapability { 32 | ValueType type : 6; 33 | UINT other : 26; 34 | UINT unk; 35 | } *cap; 36 | struct { UCString str_value; int int_value; } *enum_value_map; 37 | Value *(*get_default_value)(); 38 | UINT64 *unk2; 39 | }; 40 | 41 | struct DepRecs 42 | { 43 | 44 | }; 45 | 46 | struct UILIB_API NavReference 47 | { 48 | public: 49 | NavReference() = delete; 50 | NavReference(const NavReference&) = delete; 51 | ~NavReference() = delete; 52 | 53 | void Init(Element *, RECT *); 54 | NavReference& operator=(NavReference const &); 55 | }; 56 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/CCSysLink.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API CCSysLink :public CCBase 6 | { 7 | public: 8 | CCSysLink(CCSysLink const &); 9 | CCSysLink(void); 10 | virtual ~CCSysLink(void); 11 | CCSysLink & operator=(CCSysLink const &); 12 | 13 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static long __stdcall Register(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | 19 | virtual IClassInfo * GetClassInfoW(void); 20 | virtual struct tagSIZE GetContentSize(int, int, Surface *); 21 | virtual void OnInput(InputEvent *); 22 | virtual bool OnLostDialogFocus(DialogElement *); 23 | virtual bool OnReceivedDialogFocus(DialogElement *); 24 | 25 | private: 26 | static IClassInfo * s_pClassInfo; 27 | }; 28 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/README.md: -------------------------------------------------------------------------------- 1 | # DirectUI 2 | 3 | `dui70.dll`,延续 mingkuang 的工作,主要探索了其制成成品软件的能力: 4 | 5 | * `DirectUI::Value` 的各个 Type 。 6 | * `IClassInfo`, `PropertyInfo`, `EnumMap` 构成的反射,并由此 dump 出 `/docs`,写 xml 查起来应该比较方便。 7 | * 做了 `IEventListener` 的接口修正,和事件系统稍微一缝就能跑起来了。 8 | * 只看了 InputEvent,普通 Event 没看,估计是每种消息都有一种 Event,太麻烦了。 9 | * 大致的 Layout 方法,看代码应该能看懂,光 `BorderLayout()` 就已经足够排出大部分自适应布局。 10 | * style 的写法,`if` `unless` 是抄的 css 选择器,而 `ressheet` `resstr` 等资源相关的比较简单, duixml 中比较迷惑的是 `gtc` `gtf` 这些,实际上都是 uxtheme 的 API,想了解 ida 从 parser 找过去就可以了。 11 | * 动画,虽然插值方法很多种,但属性比较少,所以只能支持简单的动画,看 animation enum 的取值即可。如果你有旧系统,可以把 Win7 或 Vista 的 "入门" 控制面板项中的 UIFILE 提取出来读,里面有伸缩位移+透明度混合的动画。 12 | * Interop,由于底层是 Gdip,我想也没什么必要特地做;实际上有自己实现 IClassInfo,重写 Element 的虚方法,自制控件的办法,此时既可以用传统 WndProc 子类化,也可以弄个 Host 在自己里面继续套娃做 UserControl,就是写起来应该比较抽象。 13 | * 兼容性,虽然 dui70 是个随系统 ship 的库,而且还有像是 ieui 等不少 fork,但它的兼容性似乎没什么问题,旧的接口从版本 8 一直到现在的版本 14 还是能用。 14 | 15 | UxTheme 的时代曾还没开始就已经结束,Qt, yue 和 dui70 是三个仅存的火种。 16 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/CheckBoxGlyph.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API CheckBoxGlyph : public Button 6 | { 7 | public: 8 | CheckBoxGlyph(CheckBoxGlyph const &); 9 | CheckBoxGlyph(void); 10 | virtual ~CheckBoxGlyph(void); 11 | CheckBoxGlyph & operator=(CheckBoxGlyph const &); 12 | 13 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static long __stdcall Register(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | 19 | long Initialize(unsigned int, Element *, unsigned long *); 20 | 21 | virtual IClassInfo * GetClassInfoW(void); 22 | virtual bool OnLostDialogFocus(DialogElement *); 23 | virtual bool OnReceivedDialogFocus(DialogElement *); 24 | 25 | private: 26 | static IClassInfo * s_pClassInfo; 27 | 28 | }; 29 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/fmt/fmt.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(c) 2016-2018 Gabi Melman. 3 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 4 | // 5 | 6 | #pragma once 7 | 8 | // 9 | // Include a bundled header-only copy of fmtlib or an external one. 10 | // By default spdlog include its own copy. 11 | // 12 | #include 13 | 14 | #if defined(SPDLOG_USE_STD_FORMAT) // SPDLOG_USE_STD_FORMAT is defined - use std::format 15 | #include 16 | #elif !defined(SPDLOG_FMT_EXTERNAL) 17 | #if !defined(SPDLOG_COMPILED_LIB) && !defined(FMT_HEADER_ONLY) 18 | #define FMT_HEADER_ONLY 19 | #endif 20 | #ifndef FMT_USE_WINDOWS_H 21 | #define FMT_USE_WINDOWS_H 0 22 | #endif 23 | 24 | #include 25 | #include 26 | 27 | #else // SPDLOG_FMT_EXTERNAL is defined - use external fmtlib 28 | #include 29 | #include 30 | #endif 31 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/fmt/fmt.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(c) 2016-2018 Gabi Melman. 3 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 4 | // 5 | 6 | #pragma once 7 | 8 | // 9 | // Include a bundled header-only copy of fmtlib or an external one. 10 | // By default spdlog include its own copy. 11 | // 12 | #include 13 | 14 | #if defined(SPDLOG_USE_STD_FORMAT) // SPDLOG_USE_STD_FORMAT is defined - use std::format 15 | #include 16 | #elif !defined(SPDLOG_FMT_EXTERNAL) 17 | #if !defined(SPDLOG_COMPILED_LIB) && !defined(FMT_HEADER_ONLY) 18 | #define FMT_HEADER_ONLY 19 | #endif 20 | #ifndef FMT_USE_WINDOWS_H 21 | #define FMT_USE_WINDOWS_H 0 22 | #endif 23 | 24 | #include 25 | #include 26 | 27 | #else // SPDLOG_FMT_EXTERNAL is defined - use external fmtlib 28 | #include 29 | #include 30 | #endif 31 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/RepeatButton.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | 6 | class UILIB_API RepeatButton : public Button 7 | { 8 | public: 9 | RepeatButton(RepeatButton const &); 10 | RepeatButton(void); 11 | virtual ~RepeatButton(void); 12 | RepeatButton & operator=(RepeatButton const &); 13 | 14 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 15 | static long __stdcall Create(Element *, unsigned long *, Element * *); 16 | static IClassInfo * __stdcall GetClassInfoPtr(void); 17 | static long __stdcall Register(void); 18 | static void __stdcall SetClassInfoPtr(IClassInfo *); 19 | 20 | long Initialize(unsigned int, Element *, unsigned long *); 21 | 22 | virtual IClassInfo * GetClassInfoW(void); 23 | virtual void OnInput(struct InputEvent *); 24 | private: 25 | static void __stdcall _RepeatButtonActionCallback(struct GMA_ACTIONINFO *); 26 | static IClassInfo * s_pClassInfo; 27 | 28 | }; 29 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/RadioButtonGlyph.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API RadioButtonGlyph : public Button 6 | { 7 | public: 8 | RadioButtonGlyph(RadioButtonGlyph const &); 9 | RadioButtonGlyph(void); 10 | virtual ~RadioButtonGlyph(void); 11 | RadioButtonGlyph & operator=(RadioButtonGlyph const &); 12 | 13 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static long __stdcall Register(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | 19 | long Initialize(unsigned int, Element *, unsigned long *); 20 | 21 | virtual IClassInfo * GetClassInfoW(void); 22 | virtual bool OnLostDialogFocus(DialogElement *); 23 | virtual bool OnReceivedDialogFocus(DialogElement *); 24 | private: 25 | static IClassInfo * s_pClassInfo; 26 | 27 | }; 28 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/ExpandoButtonGlyph.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API ExpandoButtonGlyph : public Button 6 | { 7 | public: 8 | ExpandoButtonGlyph(ExpandoButtonGlyph const &); 9 | ExpandoButtonGlyph(void); 10 | virtual ~ExpandoButtonGlyph(void); 11 | ExpandoButtonGlyph & operator=(ExpandoButtonGlyph const &); 12 | 13 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static long __stdcall Register(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | 19 | long Initialize(unsigned int, Element *, unsigned long *); 20 | 21 | virtual IClassInfo * GetClassInfoW(void); 22 | virtual bool OnLostDialogFocus(DialogElement *); 23 | virtual bool OnReceivedDialogFocus(DialogElement *); 24 | 25 | private: 26 | static IClassInfo * s_pClassInfo; 27 | }; 28 | } -------------------------------------------------------------------------------- /ConsoleLogonHook/ui/ui_lockedview.cpp: -------------------------------------------------------------------------------- 1 | #include "ui_lockedview.h" 2 | #include "detours.h" 3 | 4 | // LockedView::RuntimeClassInitialize is often inlined. Rely on BasicTextControl's 5 | // initializer instead. 6 | HRESULT (*BasicTextControl_RuntimeClassInitialize)(void *, void *, UINT); 7 | HRESULT BasicTextControl_RuntimeClassInitialize_hook(void *pThis, void *view, UINT stringResourceId) 8 | { 9 | if (stringResourceId == 100) 10 | { 11 | external::LockedView_SetActive(); 12 | } 13 | return BasicTextControl_RuntimeClassInitialize(pThis, view, stringResourceId); 14 | } 15 | 16 | void uiLockedView::InitHooks(uintptr_t baseaddress) 17 | { 18 | BasicTextControl_RuntimeClassInitialize = memory::FindPatternCached( 19 | "BasicTextControl_RuntimeClassInitialize", 20 | { "48 89 5C 24 08 48 89 74 24 10 57 48 83 EC ?? 48 8B F2 48 8B F9 48 83 C1" } 21 | ); 22 | 23 | Hook(BasicTextControl_RuntimeClassInitialize, BasicTextControl_RuntimeClassInitialize_hook); 24 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/CBaseCheckRadioButton.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | //此类无新增虚函数 6 | class UILIB_API CCBaseCheckRadioButton : public CCPushButton 7 | { 8 | public: 9 | CCBaseCheckRadioButton(const CCBaseCheckRadioButton &); 10 | CCBaseCheckRadioButton(unsigned long); 11 | CCBaseCheckRadioButton & operator=(const CCBaseCheckRadioButton &); 12 | 13 | virtual ~CCBaseCheckRadioButton(void); 14 | 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static long __stdcall Register(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | 19 | virtual IClassInfo * GetClassInfoW(void); 20 | virtual SIZE GetContentSize(int, int, Surface *); 21 | virtual bool OnLostDialogFocus(DialogElement *); 22 | virtual void OnPropertyChanged(PropertyInfo const *, int, Value *, Value *); 23 | virtual bool OnReceivedDialogFocus(DialogElement *); 24 | protected: 25 | virtual void PostCreate(HWND); 26 | 27 | private: 28 | static IClassInfo * s_pClassInfo; 29 | }; 30 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/StyledScrollViewer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API StyledScrollViewer 6 | : public BaseScrollViewer 7 | { 8 | public: 9 | StyledScrollViewer(StyledScrollViewer const &); 10 | StyledScrollViewer(void); 11 | virtual ~StyledScrollViewer(void); 12 | StyledScrollViewer & operator=(StyledScrollViewer const &); 13 | 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static long __stdcall Register(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | 19 | virtual IClassInfo * GetClassInfoW(void); 20 | virtual void OnListenedPropertyChanged(Element *, PropertyInfo const *, int, Value *, Value *); 21 | protected: 22 | virtual long AddChildren(void); 23 | virtual long CreateScrollBars(void); 24 | virtual BaseScrollBar * GetHScroll(void); 25 | virtual BaseScrollBar * GetVScroll(void); 26 | private: 27 | static IClassInfo * s_pClassInfo; 28 | 29 | }; 30 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/TextGraphic.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API TextGraphic : public Element 6 | { 7 | public: 8 | TextGraphic(TextGraphic const &); 9 | TextGraphic(void); 10 | virtual ~TextGraphic(void); 11 | TextGraphic & operator=(TextGraphic const &); 12 | 13 | static long __stdcall Create(Element *, unsigned long *, Element * *); 14 | static IClassInfo * __stdcall GetClassInfoPtr(void); 15 | static long __stdcall Register(void); 16 | static void __stdcall SetClassInfoPtr(IClassInfo *); 17 | static PropertyInfo const * __stdcall SideGraphicProp(void); 18 | 19 | long Initialize(Element *, unsigned long *); 20 | 21 | virtual IClassInfo * GetClassInfoW(void); 22 | virtual unsigned short const * GetContentStringAsDisplayed(Value * *); 23 | virtual void OnPropertyChanged(PropertyInfo const *, int, Value *, Value *); 24 | virtual bool OnPropertyChanging(PropertyInfo const *, int, Value *, Value *); 25 | 26 | private: 27 | static IClassInfo * s_pClassInfo; 28 | }; 29 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/PushButton.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | namespace DirectUI 5 | { 6 | class UILIB_API PushButton : public AutoButton 7 | { 8 | public: 9 | PushButton(PushButton const &); 10 | PushButton(void); 11 | virtual ~PushButton(void); 12 | PushButton & operator=(PushButton const &); 13 | 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static PropertyInfo const * __stdcall EnforceSizeProp(void); 16 | static IClassInfo * __stdcall GetClassInfoPtr(void); 17 | static UID __stdcall Hosted(void); 18 | static long __stdcall Register(void); 19 | static void __stdcall SetClassInfoPtr(IClassInfo *); 20 | 21 | bool GetEnforceSize(void); 22 | long SetEnforceSize(bool); 23 | 24 | virtual IClassInfo * GetClassInfoW(void); 25 | virtual SIZE GetContentSize(int, int, Surface *); 26 | virtual void OnHosted(Element *); 27 | virtual void OnUnHosted(Element *); 28 | 29 | private: 30 | static IClassInfo * s_pClassInfo; 31 | void FireHostEvent(Element *, bool); 32 | 33 | }; 34 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/demangler/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | 控制台应用程序:demangler 项目概述 3 | ======================================================================== 4 | 5 | 应用程序向导已为您创建了此 demangler 应用程序。 6 | 7 | 本文件概要介绍组成 demangler 应用程序的每个文件的内容。 8 | 9 | 10 | demangler.vcxproj 11 | 这是使用应用程序向导生成的 VC++ 项目的主项目文件,其中包含生成该文件的 Visual C++ 的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。 12 | 13 | demangler.vcxproj.filters 14 | 这是使用“应用程序向导”生成的 VC++ 项目筛选器文件。它包含有关项目文件与筛选器之间的关联信息。在 IDE 中,通过这种关联,在特定节点下以分组形式显示具有相似扩展名的文件。例如,“.cpp”文件与“源文件”筛选器关联。 15 | 16 | demangler.cpp 17 | 这是主应用程序源文件。 18 | 19 | ///////////////////////////////////////////////////////////////////////////// 20 | 其他标准文件: 21 | 22 | StdAfx.h, StdAfx.cpp 23 | 这些文件用于生成名为 demangler.pch 的预编译头 (PCH) 文件和名为 StdAfx.obj 的预编译类型文件。 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | 其他注释: 27 | 28 | 应用程序向导使用“TODO:”注释来指示应添加或自定义的源代码部分。 29 | 30 | ///////////////////////////////////////////////////////////////////////////// 31 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/CRadioButton.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API CCRadioButton : public CCBaseCheckRadioButton 6 | { 7 | public: 8 | CCRadioButton(CCRadioButton const &); 9 | CCRadioButton(void); 10 | virtual ~CCRadioButton(void); 11 | CCRadioButton & operator=(CCRadioButton const &); 12 | 13 | static PropertyInfo const * __stdcall AutoGroupingProp(void); 14 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 15 | static long __stdcall Create(Element *, unsigned long *, Element * *); 16 | static void __stdcall SetClassInfoPtr(IClassInfo *); 17 | static IClassInfo * __stdcall GetClassInfoPtr(void); 18 | static long __stdcall Register(void); 19 | 20 | bool GetAutoGrouping(void); 21 | long SetAutoGrouping(bool); 22 | 23 | virtual IClassInfo * GetClassInfoW(void); 24 | virtual void OnInput(InputEvent *); 25 | virtual bool OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* plResult); 26 | private: 27 | static IClassInfo * s_pClassInfo; 28 | }; 29 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/sinks/sink.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | namespace spdlog { 10 | 11 | namespace sinks { 12 | class SPDLOG_API sink { 13 | public: 14 | virtual ~sink() = default; 15 | virtual void log(const details::log_msg &msg) = 0; 16 | virtual void flush() = 0; 17 | virtual void set_pattern(const std::string &pattern) = 0; 18 | virtual void set_formatter(std::unique_ptr sink_formatter) = 0; 19 | 20 | void set_level(level::level_enum log_level); 21 | level::level_enum level() const; 22 | bool should_log(level::level_enum msg_level) const; 23 | 24 | protected: 25 | // sink log level - default is all 26 | level_t level_{level::trace}; 27 | }; 28 | 29 | } // namespace sinks 30 | } // namespace spdlog 31 | 32 | #ifdef SPDLOG_HEADER_ONLY 33 | #include "sink-inl.h" 34 | #endif 35 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/sinks/sink.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | namespace spdlog { 10 | 11 | namespace sinks { 12 | class SPDLOG_API sink { 13 | public: 14 | virtual ~sink() = default; 15 | virtual void log(const details::log_msg &msg) = 0; 16 | virtual void flush() = 0; 17 | virtual void set_pattern(const std::string &pattern) = 0; 18 | virtual void set_formatter(std::unique_ptr sink_formatter) = 0; 19 | 20 | void set_level(level::level_enum log_level); 21 | level::level_enum level() const; 22 | bool should_log(level::level_enum msg_level) const; 23 | 24 | protected: 25 | // sink log level - default is all 26 | level_t level_{level::trace}; 27 | }; 28 | 29 | } // namespace sinks 30 | } // namespace spdlog 31 | 32 | #ifdef SPDLOG_HEADER_ONLY 33 | #include "sink-inl.h" 34 | #endif 35 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/ScrollItem.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API ScrollItemProvider 6 | : public PatternProvider 7 | , public IScrollItemProvider 8 | { 9 | public: 10 | ScrollItemProvider(void); 11 | virtual ~ScrollItemProvider(void); 12 | 13 | virtual unsigned long __stdcall AddRef(void); 14 | virtual ProviderProxyCall GetProxyCreator(void); 15 | virtual long __stdcall QueryInterface(struct _GUID const &, void * *); 16 | virtual unsigned long __stdcall Release(void); 17 | virtual long __stdcall ScrollIntoView(void); 18 | 19 | }; 20 | 21 | class UILIB_API ScrollItemProxy : public IProxy 22 | { 23 | public: 24 | ScrollItemProxy(ScrollItemProxy const &); 25 | ScrollItemProxy(void); 26 | ScrollItemProxy & operator=(ScrollItemProxy const &); 27 | 28 | static ScrollItemProxy * __stdcall Create(Element *); 29 | static bool __stdcall IsPatternSupported(Element *); 30 | 31 | virtual long DoMethod(int, char *); 32 | protected: 33 | virtual void Init(Element *); 34 | }; 35 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/12210.bmp: -------------------------------------------------------------------------------- 1 | BMF6(  -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/Browser.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API Browser :public Element 6 | { 7 | public: 8 | Browser(const Browser &); 9 | Browser(void); 10 | Browser & operator=(const Browser &); 11 | virtual ~Browser(void); 12 | 13 | static long __stdcall Create(Element *, unsigned long *, Element * *); 14 | static UID __stdcall Entered(void); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static UID __stdcall Leaving(void); 17 | static long __stdcall Register(void); 18 | static void __stdcall SetClassInfoPtr(IClassInfo *); 19 | static UID __stdcall StartNavigate(void); 20 | 21 | Element * GetCurrentPage(void); 22 | unsigned short GetCurrentPageID(void); 23 | class Pages * GetPages(void); 24 | long Initialize(Element *, unsigned long *); 25 | 26 | virtual IClassInfo * GetClassInfoW(void); 27 | virtual void OnEvent(Event *); 28 | virtual void OnPropertyChanged(const PropertyInfo *, int, Value *, Value *); 29 | private: 30 | int FireNavigate(unsigned short); 31 | static IClassInfo * s_pClassInfo; 32 | }; 33 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/details/log_msg_buffer.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | 8 | namespace spdlog { 9 | namespace details { 10 | 11 | // Extend log_msg with internal buffer to store its payload. 12 | // This is needed since log_msg holds string_views that points to stack data. 13 | 14 | class SPDLOG_API log_msg_buffer : public log_msg { 15 | memory_buf_t buffer; 16 | void update_string_views(); 17 | 18 | public: 19 | log_msg_buffer() = default; 20 | explicit log_msg_buffer(const log_msg &orig_msg); 21 | log_msg_buffer(const log_msg_buffer &other); 22 | log_msg_buffer(log_msg_buffer &&other) SPDLOG_NOEXCEPT; 23 | log_msg_buffer &operator=(const log_msg_buffer &other); 24 | log_msg_buffer &operator=(log_msg_buffer &&other) SPDLOG_NOEXCEPT; 25 | }; 26 | 27 | } // namespace details 28 | } // namespace spdlog 29 | 30 | #ifdef SPDLOG_HEADER_ONLY 31 | #include "log_msg_buffer-inl.h" 32 | #endif 33 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/details/log_msg_buffer.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | 8 | namespace spdlog { 9 | namespace details { 10 | 11 | // Extend log_msg with internal buffer to store its payload. 12 | // This is needed since log_msg holds string_views that points to stack data. 13 | 14 | class SPDLOG_API log_msg_buffer : public log_msg { 15 | memory_buf_t buffer; 16 | void update_string_views(); 17 | 18 | public: 19 | log_msg_buffer() = default; 20 | explicit log_msg_buffer(const log_msg &orig_msg); 21 | log_msg_buffer(const log_msg_buffer &other); 22 | log_msg_buffer(log_msg_buffer &&other) SPDLOG_NOEXCEPT; 23 | log_msg_buffer &operator=(const log_msg_buffer &other); 24 | log_msg_buffer &operator=(log_msg_buffer &&other) SPDLOG_NOEXCEPT; 25 | }; 26 | 27 | } // namespace details 28 | } // namespace spdlog 29 | 30 | #ifdef SPDLOG_HEADER_ONLY 31 | #include "log_msg_buffer-inl.h" 32 | #endif 33 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/Expando.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API Expando : public Expandable 6 | { 7 | public: 8 | Expando(Expando const &); 9 | Expando(void); 10 | virtual ~Expando(void); 11 | Expando & operator=(Expando const &); 12 | 13 | static long __stdcall Register(void); 14 | static void __stdcall SetClassInfoPtr(IClassInfo *); 15 | static long __stdcall Create(Element *, unsigned long *, Element * *); 16 | static IClassInfo * __stdcall GetClassInfoPtr(void); 17 | 18 | long Initialize(Element *, unsigned long *); 19 | 20 | virtual long Add(Element * *, unsigned int); 21 | virtual IClassInfo * GetClassInfoW(void); 22 | virtual void OnEvent(Event *); 23 | virtual void OnPropertyChanged(PropertyInfo const *, int, Value *, Value *); 24 | protected: 25 | static unsigned short __stdcall Arrow(void); 26 | static unsigned short __stdcall Clipper(void); 27 | void UpdateChildren(Value *); 28 | 29 | private: 30 | static unsigned short _atmArrow; 31 | static unsigned short _atmClipper; 32 | static IClassInfo * s_pClassInfo; 33 | }; 34 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/details/null_mutex.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | // null, no cost dummy "mutex" and dummy "atomic" int 9 | 10 | namespace spdlog { 11 | namespace details { 12 | struct null_mutex { 13 | void lock() const {} 14 | void unlock() const {} 15 | }; 16 | 17 | struct null_atomic_int { 18 | int value; 19 | null_atomic_int() = default; 20 | 21 | explicit null_atomic_int(int new_value) 22 | : value(new_value) {} 23 | 24 | int load(std::memory_order = std::memory_order_relaxed) const { return value; } 25 | 26 | void store(int new_value, std::memory_order = std::memory_order_relaxed) { value = new_value; } 27 | 28 | int exchange(int new_value, std::memory_order = std::memory_order_relaxed) { 29 | std::swap(new_value, value); 30 | return new_value; // return value before the call 31 | } 32 | }; 33 | 34 | } // namespace details 35 | } // namespace spdlog 36 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/details/null_mutex.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | // null, no cost dummy "mutex" and dummy "atomic" int 9 | 10 | namespace spdlog { 11 | namespace details { 12 | struct null_mutex { 13 | void lock() const {} 14 | void unlock() const {} 15 | }; 16 | 17 | struct null_atomic_int { 18 | int value; 19 | null_atomic_int() = default; 20 | 21 | explicit null_atomic_int(int new_value) 22 | : value(new_value) {} 23 | 24 | int load(std::memory_order = std::memory_order_relaxed) const { return value; } 25 | 26 | void store(int new_value, std::memory_order = std::memory_order_relaxed) { value = new_value; } 27 | 28 | int exchange(int new_value, std::memory_order = std::memory_order_relaxed) { 29 | std::swap(new_value, value); 30 | return new_value; // return value before the call 31 | } 32 | }; 33 | 34 | } // namespace details 35 | } // namespace spdlog 36 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/Toggle.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API ToggleProvider 6 | : public PatternProvider 7 | , public IToggleProvider 8 | { 9 | public: 10 | ToggleProvider(void); 11 | virtual ~ToggleProvider(void); 12 | virtual unsigned long __stdcall AddRef(void); 13 | virtual ProviderProxyCall GetProxyCreator(void); 14 | virtual long __stdcall QueryInterface(GUID const &, void * *); 15 | virtual unsigned long __stdcall Release(void); 16 | virtual long __stdcall Toggle(void); 17 | virtual long __stdcall get_ToggleState(ToggleState *); 18 | }; 19 | 20 | class UILIB_API ToggleProxy : IProxy 21 | { 22 | public: 23 | ToggleProxy(ToggleProxy const &); 24 | ToggleProxy(void); 25 | ToggleProxy & operator=(ToggleProxy const &); 26 | static ToggleProxy * __stdcall Create(Element *); 27 | static bool __stdcall IsPatternSupported(Element *); 28 | virtual long DoMethod(int, char *); 29 | 30 | protected: 31 | virtual void Init(Element *); 32 | 33 | private: 34 | long GetToggleState(ToggleState *); 35 | 36 | }; 37 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/ScrollViewer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API ScrollViewer 6 | : public BaseScrollViewer 7 | { 8 | public: 9 | ScrollViewer(ScrollViewer const &); 10 | ScrollViewer(void); 11 | virtual ~ScrollViewer(void); 12 | ScrollViewer & operator=(ScrollViewer const &); 13 | 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static long __stdcall Register(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | 19 | virtual IClassInfo * GetClassInfoW(void); 20 | virtual void OnListenedPropertyChanged(Element *, PropertyInfo const *, int, Value *, Value *); 21 | virtual void OnPropertyChanged(PropertyInfo const *, int, Value *, Value *); 22 | protected: 23 | //1 24 | virtual long CreateScrollBars(void); 25 | //2 26 | virtual long AddChildren(void); 27 | //3 28 | virtual BaseScrollBar * GetHScroll(void); 29 | //4 30 | virtual BaseScrollBar * GetVScroll(void); 31 | 32 | private: 33 | static IClassInfo * s_pClassInfo; 34 | 35 | }; 36 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/TableItem.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API TableItemProvider 6 | : public PatternProvider 7 | , public ITableItemProvider 8 | { 9 | public: 10 | TableItemProvider(void); 11 | virtual ~TableItemProvider(void); 12 | 13 | virtual unsigned long __stdcall AddRef(void); 14 | virtual long __stdcall GetColumnHeaderItems(SAFEARRAY * *); 15 | virtual ProviderProxyCall GetProxyCreator(void); 16 | virtual long __stdcall GetRowHeaderItems(SAFEARRAY * *); 17 | virtual long __stdcall QueryInterface(GUID const &, void * *); 18 | virtual unsigned long __stdcall Release(void); 19 | 20 | }; 21 | 22 | class UILIB_API TableItemProxy : public IProxy 23 | { 24 | public: 25 | TableItemProxy(TableItemProxy const &); 26 | TableItemProxy(void); 27 | TableItemProxy & operator=(TableItemProxy const &); 28 | 29 | static TableItemProxy * __stdcall Create(Element *); 30 | static bool __stdcall IsPatternSupported(Element *); 31 | virtual long DoMethod(int, char *); 32 | protected: 33 | virtual void Init(Element *); 34 | 35 | }; 36 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/Table.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API TableProvider 6 | : public PatternProvider 7 | , public ITableProvider 8 | { 9 | public: 10 | TableProvider(void); 11 | virtual ~TableProvider(void); 12 | 13 | virtual unsigned long __stdcall AddRef(void); 14 | virtual long __stdcall GetColumnHeaders(SAFEARRAY * *); 15 | virtual ProviderProxyCall GetProxyCreator(void); 16 | virtual long __stdcall GetRowHeaders(SAFEARRAY * *); 17 | virtual long __stdcall QueryInterface(GUID const &, void * *); 18 | virtual unsigned long __stdcall Release(void); 19 | virtual long __stdcall get_RowOrColumnMajor(RowOrColumnMajor *); 20 | }; 21 | 22 | class UILIB_API TableProxy : public IProxy 23 | { 24 | public: 25 | TableProxy(TableProxy const &); 26 | TableProxy(void); 27 | TableProxy & operator=(TableProxy const &); 28 | 29 | static TableProxy * __stdcall Create(Element *); 30 | static bool __stdcall IsPatternSupported(Element *); 31 | 32 | virtual long DoMethod(int, char *); 33 | 34 | protected: 35 | virtual void Init(Element *); 36 | 37 | }; 38 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/cfg/env.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | #include 6 | #include 7 | #include 8 | 9 | // 10 | // Init levels and patterns from env variables SPDLOG_LEVEL 11 | // Inspired from Rust's "env_logger" crate (https://crates.io/crates/env_logger). 12 | // Note - fallback to "info" level on unrecognized levels 13 | // 14 | // Examples: 15 | // 16 | // set global level to debug: 17 | // export SPDLOG_LEVEL=debug 18 | // 19 | // turn off all logging except for logger1: 20 | // export SPDLOG_LEVEL="*=off,logger1=debug" 21 | // 22 | 23 | // turn off all logging except for logger1 and logger2: 24 | // export SPDLOG_LEVEL="off,logger1=debug,logger2=info" 25 | 26 | namespace spdlog { 27 | namespace cfg { 28 | inline void load_env_levels() { 29 | auto env_val = details::os::getenv("SPDLOG_LEVEL"); 30 | if (!env_val.empty()) { 31 | helpers::load_levels(env_val); 32 | } 33 | } 34 | 35 | } // namespace cfg 36 | } // namespace spdlog 37 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/cfg/env.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | #include 6 | #include 7 | #include 8 | 9 | // 10 | // Init levels and patterns from env variables SPDLOG_LEVEL 11 | // Inspired from Rust's "env_logger" crate (https://crates.io/crates/env_logger). 12 | // Note - fallback to "info" level on unrecognized levels 13 | // 14 | // Examples: 15 | // 16 | // set global level to debug: 17 | // export SPDLOG_LEVEL=debug 18 | // 19 | // turn off all logging except for logger1: 20 | // export SPDLOG_LEVEL="*=off,logger1=debug" 21 | // 22 | 23 | // turn off all logging except for logger1 and logger2: 24 | // export SPDLOG_LEVEL="off,logger1=debug,logger2=info" 25 | 26 | namespace spdlog { 27 | namespace cfg { 28 | inline void load_env_levels() { 29 | auto env_val = details::os::getenv("SPDLOG_LEVEL"); 30 | if (!env_val.empty()) { 31 | helpers::load_levels(env_val); 32 | } 33 | } 34 | 35 | } // namespace cfg 36 | } // namespace spdlog 37 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Chuyu-Team 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/DirectUI.def: -------------------------------------------------------------------------------- 1 | LIBRARY 2 | EXPORTS 3 | InitProcessPriv 4 | UnInitProcessPriv 5 | InitThread 6 | UnInitThread 7 | CreateDUIWrapper 8 | CreateDUIWrapperEx 9 | CreateDUIWrapperFromResource 10 | GetScreenDPI 11 | RegisterAllControls 12 | RegisterBaseControls 13 | RegisterBrowserControls 14 | RegisterCommonControls 15 | RegisterExtendedControls 16 | RegisterMacroControls 17 | RegisterMiscControls 18 | RegisterStandardControls 19 | RegisterXControls 20 | StartMessagePump 21 | StopMessagePump 22 | StrToID 23 | UnicodeToMultiByte 24 | MultiByteToUnicode 25 | IsAnimationsEnabled 26 | IsPalette 27 | IsUIAutomationProviderEnabled 28 | BlurBitmap 29 | BrushFromEnumI 30 | ColorFromEnumI 31 | DisableAnimations 32 | DrawShadowTextEx 33 | DUIDrawShadowText 34 | ElementFromGadget 35 | EnableAnimations 36 | FlushThemeHandles 37 | ForceDebugBreak 38 | GetElementDataEntry 39 | GetElementMacro 40 | GetFontCache 41 | GetThemeHandle 42 | HrSysAllocString 43 | HStrDup 44 | InitPreprocessor 45 | SetDefAction 46 | UiaHideOnGetObject 47 | UiaOnDestroySink 48 | UiaOnGetObject 49 | UiaOnToolTip 50 | NotifyAccessibilityEvent 51 | PreprocessBuffer 52 | ProcessAlphaBitmapI 53 | PurgeThemeHandles 54 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/UITest/app.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 15 | 16 | 17 | 18 | 19 | 20 | 24 | true/PM 25 | PerMonitorV2 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/CCommandLink.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API CCCommandLink :public CCPushButton 6 | { 7 | public: 8 | CCCommandLink(CCCommandLink const &); 9 | CCCommandLink(unsigned long v1=0xE); 10 | virtual ~CCCommandLink(void); 11 | CCCommandLink & operator=(CCCommandLink const &); 12 | 13 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static long __stdcall Register(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | static PropertyInfo const * __stdcall NoteProp(void); 19 | 20 | UCString GetNote(Value * *); 21 | long SetNote(UCString); 22 | 23 | virtual IClassInfo * GetClassInfoW(void); 24 | virtual SIZE GetContentSize(int, int, Surface *); 25 | virtual void OnPropertyChanged(PropertyInfo const *, int, Value *, Value *); 26 | virtual void OnSelectedPropertyChanged(void); 27 | protected: 28 | void SyncNoteAndGlyph(HWND); 29 | virtual void PostCreate(HWND); 30 | 31 | private: 32 | static IClassInfo * s_pClassInfo; 33 | }; 34 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/Macro.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API Macro : public Element 6 | { 7 | public: 8 | Macro(Macro const &); 9 | Macro(void); 10 | virtual ~Macro(void); 11 | Macro & operator=(Macro const &); 12 | 13 | static long __stdcall Create(Element *, unsigned long *, Element * *); 14 | static PropertyInfo const * __stdcall ExpandProp(void); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static long __stdcall Register(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | 19 | void SetDataEntry(IDataEntry *, Element *);; 20 | long SetExpand(unsigned short const *); 21 | void SetParser(DUIXmlParser *); 22 | IDataEntry * GetDataEntry(void); 23 | unsigned short const * GetExpand(Value * *); 24 | long Initialize(Element *, unsigned long *); 25 | 26 | 27 | virtual long Add(Element * *, unsigned int); 28 | virtual IClassInfo * GetClassInfoW(void); 29 | virtual void OnPropertyChanged(PropertyInfo const *, int, Value *, Value *); 30 | protected: 31 | //1 32 | virtual long BuildElement(void); 33 | void ResolveBindings(void); 34 | 35 | private: 36 | static IClassInfo * s_pClassInfo; 37 | }; 38 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/lockedview.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/Selection.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API SelectionProvider 6 | : public PatternProvider 7 | , public ISelectionProvider 8 | { 9 | public: 10 | SelectionProvider(void); 11 | virtual ~SelectionProvider(void); 12 | 13 | virtual unsigned long __stdcall AddRef(void); 14 | virtual ProviderProxyCall GetProxyCreator(void); 15 | virtual long __stdcall GetSelection(SAFEARRAY * *); 16 | virtual long __stdcall QueryInterface(GUID const &, void * *); 17 | virtual unsigned long __stdcall Release(void); 18 | virtual long __stdcall get_CanSelectMultiple(int *); 19 | virtual long __stdcall get_IsSelectionRequired(int *); 20 | 21 | }; 22 | 23 | class UILIB_API SelectionProxy : public IProxy 24 | { 25 | protected: 26 | SelectionProxy(void); 27 | public: 28 | SelectionProxy(SelectionProxy const &); 29 | SelectionProxy & operator=(SelectionProxy const &); 30 | 31 | static SelectionProxy * __stdcall Create(Element *); 32 | static bool __stdcall IsPatternSupported(Element *); 33 | 34 | virtual long DoMethod(int, char *); 35 | protected: 36 | virtual void Init(Element *); 37 | 38 | }; 39 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/Selector.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API Selector : public Element 6 | { 7 | public: 8 | Selector(Selector const &); 9 | Selector(void); 10 | virtual ~Selector(void); 11 | Selector & operator=(Selector const &); 12 | 13 | static long __stdcall Create(Element *, unsigned long *, Element * *); 14 | static long __stdcall Register(void); 15 | static UID __stdcall SelectionChange(void); 16 | static PropertyInfo const * __stdcall SelectionProp(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | static IClassInfo * __stdcall GetClassInfoPtr(void); 19 | 20 | Element * GetSelection(void); 21 | long Initialize(Element *, unsigned long *); 22 | 23 | virtual Element * GetAdjacent(Element *, int, NavReference const *, unsigned long); 24 | virtual IClassInfo * GetClassInfoW(void); 25 | virtual void OnEvent(Event *); 26 | virtual void OnInput(struct InputEvent *); 27 | virtual void OnKeyFocusMoved(Element *, Element *); 28 | virtual void OnPropertyChanged(PropertyInfo const *, int, Value *, Value *); 29 | 30 | //1 31 | virtual long SetSelection(Element *); 32 | 33 | private: 34 | static IClassInfo * s_pClassInfo; 35 | 36 | }; 37 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/ui/ui_sink.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "spdlog/sinks/base_sink.h" 3 | #include "spdlog/sinks/sink.h" 4 | #include "spdlog/spdlog.h" 5 | #include "spdlog/sinks/basic_file_sink.h" 6 | #include "spdlog/sinks/stdout_color_sinks.h" 7 | #include "spdlog/fwd.h" 8 | 9 | struct log_message 10 | { 11 | std::string msg; 12 | spdlog::level::level_enum level; 13 | }; 14 | 15 | namespace log_global 16 | { 17 | inline bool should_console_scroll_down = false; 18 | inline std::vector logs; 19 | } 20 | 21 | template 22 | class ui_sink : public spdlog::sinks::base_sink 23 | { 24 | public: 25 | explicit ui_sink() {} 26 | protected: 27 | void sink_it_(const spdlog::details::log_msg& msg) override 28 | { 29 | log_global::should_console_scroll_down = true; 30 | 31 | spdlog::memory_buf_t formatted; 32 | spdlog::sinks::base_sink::formatter_->format(msg, formatted); 33 | 34 | log_global::logs.push_back({ 35 | fmt::to_string(formatted), 36 | msg.level 37 | }); 38 | } 39 | 40 | void flush_() override 41 | { 42 | } 43 | }; 44 | 45 | #include "spdlog/details/null_mutex.h" 46 | #include 47 | using ui_sink_mt = ui_sink; 48 | using ui_sink_st = ui_sink; -------------------------------------------------------------------------------- /ConsoleLogonHook/ui/ui_sink.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "spdlog/sinks/base_sink.h" 3 | #include "spdlog/sinks/sink.h" 4 | #include "spdlog/spdlog.h" 5 | #include "spdlog/sinks/basic_file_sink.h" 6 | #include "spdlog/sinks/stdout_color_sinks.h" 7 | #include "spdlog/fwd.h" 8 | 9 | struct log_message 10 | { 11 | std::string msg; 12 | spdlog::level::level_enum level; 13 | }; 14 | 15 | namespace log_global 16 | { 17 | inline bool should_console_scroll_down = false; 18 | inline std::vector logs; 19 | } 20 | 21 | template 22 | class ui_sink : public spdlog::sinks::base_sink 23 | { 24 | public: 25 | explicit ui_sink() {} 26 | protected: 27 | void sink_it_(const spdlog::details::log_msg& msg) override 28 | { 29 | log_global::should_console_scroll_down = true; 30 | 31 | spdlog::memory_buf_t formatted; 32 | spdlog::sinks::base_sink::formatter_->format(msg, formatted); 33 | 34 | log_global::logs.push_back({ 35 | fmt::to_string(formatted), 36 | msg.level 37 | }); 38 | } 39 | 40 | void flush_() override 41 | { 42 | } 43 | }; 44 | 45 | #include "spdlog/details/null_mutex.h" 46 | #include 47 | using ui_sink_mt = ui_sink; 48 | using ui_sink_st = ui_sink; -------------------------------------------------------------------------------- /ConsoleLogonHook/util/util.cpp: -------------------------------------------------------------------------------- 1 | #include "util.h" 2 | #include "interop.h" 3 | 4 | //const wchar_t* external::GetProfilePicturePathFromUsername(const wchar_t* username,bool bHighRes) 5 | //{ 6 | // const wchar_t* sid = L"NULL"; 7 | // auto hr = ::GetSIDStringFromUsername(username, const_cast(&sid)); 8 | // 9 | // if (hr != S_OK) 10 | // { 11 | // const wchar_t* finalpath = L"C:\\ProgramData\\Microsoft\\User Account Pictures\\user-48.png"; 12 | // 13 | // if (bHighRes) 14 | // finalpath = L"C:\\ProgramData\\Microsoft\\User Account Pictures\\user-192.png"; 15 | // 16 | // return finalpath; 17 | // } 18 | // 19 | // auto path = ::GetProfilePicturePathFromSID(sid, bHighRes); 20 | // return path; 21 | //} 22 | 23 | void external::GetProfilePicturePathFromSID(const wchar_t* sid, const wchar_t* outUsername, bool bHighRes) 24 | { 25 | ::GetProfilePicturePathFromSID(std::wstring(sid),outUsername,bHighRes); 26 | } 27 | void external::GetSIDFromName(const wchar_t* username, wchar_t** sid) 28 | { 29 | auto hr = ::GetSIDStringFromUsername(username, sid); 30 | } 31 | 32 | void external::HideConsoleUI() 33 | { 34 | MinimizeLogonConsole(); 35 | } 36 | 37 | void external::ShowConsoleUI() 38 | { 39 | ShowLogonConsole(); 40 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/Grid.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API GridProvider 6 | : public PatternProvider 7 | , public IGridProvider 8 | { 9 | public: 10 | GridProvider(void); 11 | virtual ~GridProvider(void);; 12 | 13 | virtual unsigned long __stdcall AddRef(void); 14 | virtual long __stdcall GetItem(int, int, IRawElementProviderSimple * *); 15 | virtual ProviderProxyCall GetProxyCreator(void); 16 | virtual long __stdcall QueryInterface(GUID const &, void * *); 17 | virtual unsigned long __stdcall Release(void); 18 | virtual long __stdcall get_ColumnCount(int *); 19 | virtual long __stdcall get_RowCount(int *); 20 | 21 | }; 22 | 23 | class UILIB_API GridProxy : public IProxy 24 | { 25 | public: 26 | GridProxy(GridProxy const &); 27 | GridProxy(); 28 | GridProxy & operator=(GridProxy const &); 29 | 30 | static GridProxy * __stdcall Create(Element *); 31 | static bool __stdcall IsPatternSupported(Element *); 32 | 33 | virtual long DoMethod(int, char *); 34 | 35 | protected: 36 | virtual void Init(Element *); 37 | 38 | private: 39 | long GetColumnCount(int *); 40 | long GetItem(unsigned int, unsigned int, IRawElementProviderSimple * *); 41 | long GetRowCount(int *); 42 | }; 43 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/RefPointElement.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API RefPointElement : public Element 6 | { 7 | public: 8 | RefPointElement(RefPointElement const &); 9 | RefPointElement(void); 10 | virtual ~RefPointElement(void); 11 | RefPointElement & operator=(RefPointElement const &); 12 | 13 | static PropertyInfo const * __stdcall ActualReferencePointProp(void); 14 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 15 | static long __stdcall Create(Element *, unsigned long *, Element * *); 16 | static Element * __stdcall FindRefPoint(Element *, POINT *); 17 | static IClassInfo * __stdcall GetClassInfoPtr(void); 18 | static PropertyInfo const * __stdcall ReferencePointProp(void); 19 | static long __stdcall Register(void); 20 | static void __stdcall SetClassInfoPtr(IClassInfo *); 21 | static RefPointElement * __stdcall Locate(Element *); 22 | 23 | POINT const * GetActualReferencePoint(Value * *); 24 | POINT const * GetReferencePoint(Value * *); 25 | long Initialize(unsigned int, Element *, unsigned long *); 26 | long SetReferencePoint(int, int); 27 | 28 | virtual IClassInfo * GetClassInfoW(void); 29 | virtual void OnPropertyChanged(PropertyInfo const *, int, Value *, Value *); 30 | private: 31 | static IClassInfo * s_pClassInfo; 32 | 33 | }; 34 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/SelectionItem.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API SelectionItemProvider 6 | : public PatternProvider 7 | , public ISelectionItemProvider 8 | { 9 | public: 10 | SelectionItemProvider(void); 11 | virtual ~SelectionItemProvider(void); 12 | 13 | virtual unsigned long __stdcall AddRef(void); 14 | virtual long __stdcall AddToSelection(void); 15 | virtual ProviderProxyCall GetProxyCreator(void); 16 | virtual long __stdcall QueryInterface(GUID const &, void * *); 17 | virtual unsigned long __stdcall Release(void); 18 | virtual long __stdcall RemoveFromSelection(void); 19 | virtual long __stdcall Select(void); 20 | virtual long __stdcall get_IsSelected(int *); 21 | virtual long __stdcall get_SelectionContainer(IRawElementProviderSimple * *); 22 | 23 | }; 24 | 25 | class UILIB_API SelectionItemProxy : IProxy 26 | { 27 | protected: 28 | SelectionItemProxy(void); 29 | public: 30 | SelectionItemProxy(SelectionItemProxy const &); 31 | SelectionItemProxy & operator=(SelectionItemProxy const &); 32 | 33 | static SelectionItemProxy * __stdcall Create(Element *); 34 | static bool __stdcall IsPatternSupported(Element *); 35 | 36 | virtual long DoMethod(int, char *); 37 | protected: 38 | virtual void Init(Element *); 39 | 40 | }; 41 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/AccessibleButton.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API AccessibleButton : public Button 6 | { 7 | public: 8 | AccessibleButton(const AccessibleButton&); 9 | AccessibleButton(); 10 | 11 | virtual ~AccessibleButton(); 12 | AccessibleButton& operator=(const AccessibleButton&); 13 | 14 | static HRESULT WINAPI Create(Element*, unsigned long*, Element**); 15 | static IClassInfo* WINAPI GetClassInfoPtr(); 16 | //Button函数重写 17 | //0 18 | virtual void OnPropertyChanged(const PropertyInfo*, int, Value*, Value*); 19 | //1 20 | virtual IClassInfo* GetClassInfoW(); 21 | 22 | long Initialize(Element*, unsigned long*); 23 | 24 | void Recalc(); 25 | static HRESULT WINAPI Register(); 26 | static void WINAPI SetClassInfoPtr(IClassInfo*); 27 | 28 | // member types 29 | struct UILIB_API ACCESSIBLEROLE 30 | { 31 | ACCESSIBLEROLE() = delete; 32 | ACCESSIBLEROLE(const ACCESSIBLEROLE&) = delete; 33 | ~ACCESSIBLEROLE() = delete; 34 | 35 | // see http://msdn.microsoft.com/en-us/library/system.windows.forms.accessiblerole.aspx 36 | ACCESSIBLEROLE& operator=(const ACCESSIBLEROLE&); 37 | }; 38 | 39 | private: 40 | static const ACCESSIBLEROLE* WINAPI FindAccessibleRole(int); 41 | 42 | static const ACCESSIBLEROLE* __ptr32 c_rgar; 43 | static IClassInfo* s_pClassInfo; 44 | }; 45 | 46 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/details/backtracer.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | #include 10 | #include 11 | #include 12 | 13 | // Store log messages in circular buffer. 14 | // Useful for storing debug data in case of error/warning happens. 15 | 16 | namespace spdlog { 17 | namespace details { 18 | class SPDLOG_API backtracer { 19 | mutable std::mutex mutex_; 20 | std::atomic enabled_{false}; 21 | circular_q messages_; 22 | 23 | public: 24 | backtracer() = default; 25 | backtracer(const backtracer &other); 26 | 27 | backtracer(backtracer &&other) SPDLOG_NOEXCEPT; 28 | backtracer &operator=(backtracer other); 29 | 30 | void enable(size_t size); 31 | void disable(); 32 | bool enabled() const; 33 | void push_back(const log_msg &msg); 34 | bool empty() const; 35 | 36 | // pop all items in the q and apply the given fun on each of them. 37 | void foreach_pop(std::function fun); 38 | }; 39 | 40 | } // namespace details 41 | } // namespace spdlog 42 | 43 | #ifdef SPDLOG_HEADER_ONLY 44 | #include "backtracer-inl.h" 45 | #endif 46 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/details/backtracer.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | #include 10 | #include 11 | #include 12 | 13 | // Store log messages in circular buffer. 14 | // Useful for storing debug data in case of error/warning happens. 15 | 16 | namespace spdlog { 17 | namespace details { 18 | class SPDLOG_API backtracer { 19 | mutable std::mutex mutex_; 20 | std::atomic enabled_{false}; 21 | circular_q messages_; 22 | 23 | public: 24 | backtracer() = default; 25 | backtracer(const backtracer &other); 26 | 27 | backtracer(backtracer &&other) SPDLOG_NOEXCEPT; 28 | backtracer &operator=(backtracer other); 29 | 30 | void enable(size_t size); 31 | void disable(); 32 | bool enabled() const; 33 | void push_back(const log_msg &msg); 34 | bool empty() const; 35 | 36 | // pop all items in the q and apply the given fun on each of them. 37 | void foreach_pop(std::function fun); 38 | }; 39 | 40 | } // namespace details 41 | } // namespace spdlog 42 | 43 | #ifdef SPDLOG_HEADER_ONLY 44 | #include "backtracer-inl.h" 45 | #endif 46 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/RangeValue.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API RangeValueProvider 6 | : public PatternProvider 7 | , public IRangeValueProvider 8 | { 9 | public: 10 | RangeValueProvider(void); 11 | virtual ~RangeValueProvider(void); 12 | 13 | virtual unsigned long __stdcall AddRef(void); 14 | virtual ProviderProxyCall GetProxyCreator(void); 15 | virtual long __stdcall QueryInterface(GUID const &, void * *); 16 | virtual unsigned long __stdcall Release(void); 17 | virtual long __stdcall SetValue(double); 18 | virtual long __stdcall get_IsReadOnly(int *); 19 | virtual long __stdcall get_LargeChange(double *); 20 | virtual long __stdcall get_Maximum(double *); 21 | virtual long __stdcall get_Minimum(double *); 22 | virtual long __stdcall get_SmallChange(double *); 23 | virtual long __stdcall get_Value(double *); 24 | }; 25 | 26 | class UILIB_API RangeValueProxy : public IProxy 27 | { 28 | public: 29 | RangeValueProxy(RangeValueProxy const &); 30 | RangeValueProxy & operator=(RangeValueProxy const &); 31 | 32 | static RangeValueProxy * __stdcall Create(Element *); 33 | static bool __stdcall IsPatternSupported(Element *); 34 | 35 | virtual long DoMethod(int, char *); 36 | protected: 37 | RangeValueProxy(void); 38 | 39 | virtual void Init(Element *); 40 | 41 | }; 42 | } -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/details/log_msg.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | namespace spdlog { 10 | namespace details { 11 | struct SPDLOG_API log_msg { 12 | log_msg() = default; 13 | log_msg(log_clock::time_point log_time, 14 | source_loc loc, 15 | string_view_t logger_name, 16 | level::level_enum lvl, 17 | string_view_t msg); 18 | log_msg(source_loc loc, string_view_t logger_name, level::level_enum lvl, string_view_t msg); 19 | log_msg(string_view_t logger_name, level::level_enum lvl, string_view_t msg); 20 | log_msg(const log_msg &other) = default; 21 | log_msg &operator=(const log_msg &other) = default; 22 | 23 | string_view_t logger_name; 24 | level::level_enum level{level::off}; 25 | log_clock::time_point time; 26 | size_t thread_id{0}; 27 | 28 | // wrapping the formatted text with color (updated by pattern_formatter). 29 | mutable size_t color_range_start{0}; 30 | mutable size_t color_range_end{0}; 31 | 32 | source_loc source; 33 | string_view_t payload; 34 | }; 35 | } // namespace details 36 | } // namespace spdlog 37 | 38 | #ifdef SPDLOG_HEADER_ONLY 39 | #include "log_msg-inl.h" 40 | #endif 41 | -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/details/log_msg.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | namespace spdlog { 10 | namespace details { 11 | struct SPDLOG_API log_msg { 12 | log_msg() = default; 13 | log_msg(log_clock::time_point log_time, 14 | source_loc loc, 15 | string_view_t logger_name, 16 | level::level_enum lvl, 17 | string_view_t msg); 18 | log_msg(source_loc loc, string_view_t logger_name, level::level_enum lvl, string_view_t msg); 19 | log_msg(string_view_t logger_name, level::level_enum lvl, string_view_t msg); 20 | log_msg(const log_msg &other) = default; 21 | log_msg &operator=(const log_msg &other) = default; 22 | 23 | string_view_t logger_name; 24 | level::level_enum level{level::off}; 25 | log_clock::time_point time; 26 | size_t thread_id{0}; 27 | 28 | // wrapping the formatted text with color (updated by pattern_formatter). 29 | mutable size_t color_range_start{0}; 30 | mutable size_t color_range_end{0}; 31 | 32 | source_loc source; 33 | string_view_t payload; 34 | }; 35 | } // namespace details 36 | } // namespace spdlog 37 | 38 | #ifdef SPDLOG_HEADER_ONLY 39 | #include "log_msg-inl.h" 40 | #endif 41 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/CTreeView.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API CCTreeView : public CCBase 6 | { 7 | public: 8 | CCTreeView(CCTreeView const &); 9 | CCTreeView(unsigned long v1=0); 10 | virtual~CCTreeView(void); 11 | CCTreeView &operator=(CCTreeView const &); 12 | 13 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static long __stdcall Register(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | 19 | HTREEITEM InsertItem(unsigned short *, unsigned int, const HTREEITEM, const HTREEITEM); 20 | HTREEITEM InsertItem(const TVINSERTSTRUCTW *); 21 | unsigned int GetItemState(HTREEITEM const); 22 | unsigned long GetStyle(void); 23 | void SetItemState(HTREEITEM, unsigned int); 24 | 25 | virtual IClassInfo *GetClassInfoW(void); 26 | virtual SIZE GetContentSize(int, int, Surface *); 27 | virtual bool OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* plResult); 28 | unsigned long SetStyle(unsigned long); 29 | 30 | protected: 31 | //1 32 | virtual long _OnGetInfoTip(NMTVGETINFOTIPW const *); 33 | //2 34 | virtual long _OnItemChanged(NMTVITEMCHANGE const *); 35 | 36 | private: 37 | static IClassInfo * s_pClassInfo; 38 | }; 39 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/cfg/argv.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | #include 6 | #include 7 | 8 | // 9 | // Init log levels using each argv entry that starts with "SPDLOG_LEVEL=" 10 | // 11 | // set all loggers to debug level: 12 | // example.exe "SPDLOG_LEVEL=debug" 13 | 14 | // set logger1 to trace level 15 | // example.exe "SPDLOG_LEVEL=logger1=trace" 16 | 17 | // turn off all logging except for logger1 and logger2: 18 | // example.exe "SPDLOG_LEVEL=off,logger1=debug,logger2=info" 19 | 20 | namespace spdlog { 21 | namespace cfg { 22 | 23 | // search for SPDLOG_LEVEL= in the args and use it to init the levels 24 | inline void load_argv_levels(int argc, const char **argv) { 25 | const std::string spdlog_level_prefix = "SPDLOG_LEVEL="; 26 | for (int i = 1; i < argc; i++) { 27 | std::string arg = argv[i]; 28 | if (arg.find(spdlog_level_prefix) == 0) { 29 | auto levels_string = arg.substr(spdlog_level_prefix.size()); 30 | helpers::load_levels(levels_string); 31 | } 32 | } 33 | } 34 | 35 | inline void load_argv_levels(int argc, char **argv) { 36 | load_argv_levels(argc, const_cast(argv)); 37 | } 38 | 39 | } // namespace cfg 40 | } // namespace spdlog 41 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/cfg/argv.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | #include 6 | #include 7 | 8 | // 9 | // Init log levels using each argv entry that starts with "SPDLOG_LEVEL=" 10 | // 11 | // set all loggers to debug level: 12 | // example.exe "SPDLOG_LEVEL=debug" 13 | 14 | // set logger1 to trace level 15 | // example.exe "SPDLOG_LEVEL=logger1=trace" 16 | 17 | // turn off all logging except for logger1 and logger2: 18 | // example.exe "SPDLOG_LEVEL=off,logger1=debug,logger2=info" 19 | 20 | namespace spdlog { 21 | namespace cfg { 22 | 23 | // search for SPDLOG_LEVEL= in the args and use it to init the levels 24 | inline void load_argv_levels(int argc, const char **argv) { 25 | const std::string spdlog_level_prefix = "SPDLOG_LEVEL="; 26 | for (int i = 1; i < argc; i++) { 27 | std::string arg = argv[i]; 28 | if (arg.find(spdlog_level_prefix) == 0) { 29 | auto levels_string = arg.substr(spdlog_level_prefix.size()); 30 | helpers::load_levels(levels_string); 31 | } 32 | } 33 | } 34 | 35 | inline void load_argv_levels(int argc, char **argv) { 36 | load_argv_levels(argc, const_cast(argv)); 37 | } 38 | 39 | } // namespace cfg 40 | } // namespace spdlog 41 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/GridItem.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API GridItemProvider 6 | : PatternProvider 7 | , public IGridItemProvider 8 | { 9 | public: 10 | GridItemProvider(void); 11 | virtual ~GridItemProvider(void); 12 | 13 | virtual unsigned long __stdcall AddRef(void); 14 | virtual ProviderProxyCall GetProxyCreator(void);; 15 | virtual long __stdcall QueryInterface(GUID const &, void * *); 16 | virtual unsigned long __stdcall Release(void); 17 | virtual long __stdcall get_Column(int *); 18 | virtual long __stdcall get_ColumnSpan(int *); 19 | virtual long __stdcall get_ContainingGrid(IRawElementProviderSimple * *); 20 | virtual long __stdcall get_Row(int *); 21 | virtual long __stdcall get_RowSpan(int *); 22 | }; 23 | 24 | class UILIB_API GridItemProxy : public IProxy 25 | { 26 | public: 27 | GridItemProxy(GridItemProxy const &); 28 | GridItemProxy(void); 29 | GridItemProxy & operator=(GridItemProxy const &); 30 | 31 | static GridItemProxy * __stdcall Create(Element *); 32 | static bool __stdcall IsPatternSupported(Element *); 33 | //1 34 | virtual long DoMethod(int, char *); 35 | protected: 36 | //2 37 | virtual void Init(Element *); 38 | 39 | private: 40 | long GetColumn(int *); 41 | long GetContainingGrid(IRawElementProviderSimple * *); 42 | long GetRow(int *); 43 | }; 44 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/demangler/demangler.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 头文件 23 | 24 | 25 | 头文件 26 | 27 | 28 | 29 | 30 | 源文件 31 | 32 | 33 | 源文件 34 | 35 | 36 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/sinks/basic_file_sink-inl.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #ifndef SPDLOG_HEADER_ONLY 7 | #include 8 | #endif 9 | 10 | #include 11 | #include 12 | 13 | namespace spdlog { 14 | namespace sinks { 15 | 16 | template 17 | SPDLOG_INLINE basic_file_sink::basic_file_sink(const filename_t &filename, 18 | bool truncate, 19 | const file_event_handlers &event_handlers) 20 | : file_helper_{event_handlers} { 21 | file_helper_.open(filename, truncate); 22 | } 23 | 24 | template 25 | SPDLOG_INLINE const filename_t &basic_file_sink::filename() const { 26 | return file_helper_.filename(); 27 | } 28 | 29 | template 30 | SPDLOG_INLINE void basic_file_sink::sink_it_(const details::log_msg &msg) { 31 | memory_buf_t formatted; 32 | base_sink::formatter_->format(msg, formatted); 33 | file_helper_.write(formatted); 34 | } 35 | 36 | template 37 | SPDLOG_INLINE void basic_file_sink::flush_() { 38 | file_helper_.flush(); 39 | } 40 | 41 | } // namespace sinks 42 | } // namespace spdlog 43 | -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/sinks/basic_file_sink-inl.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #ifndef SPDLOG_HEADER_ONLY 7 | #include 8 | #endif 9 | 10 | #include 11 | #include 12 | 13 | namespace spdlog { 14 | namespace sinks { 15 | 16 | template 17 | SPDLOG_INLINE basic_file_sink::basic_file_sink(const filename_t &filename, 18 | bool truncate, 19 | const file_event_handlers &event_handlers) 20 | : file_helper_{event_handlers} { 21 | file_helper_.open(filename, truncate); 22 | } 23 | 24 | template 25 | SPDLOG_INLINE const filename_t &basic_file_sink::filename() const { 26 | return file_helper_.filename(); 27 | } 28 | 29 | template 30 | SPDLOG_INLINE void basic_file_sink::sink_it_(const details::log_msg &msg) { 31 | memory_buf_t formatted; 32 | base_sink::formatter_->format(msg, formatted); 33 | file_helper_.write(formatted); 34 | } 35 | 36 | template 37 | SPDLOG_INLINE void basic_file_sink::flush_() { 38 | file_helper_.flush(); 39 | } 40 | 41 | } // namespace sinks 42 | } // namespace spdlog 43 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/sinks/null_sink.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | #include 9 | 10 | #include 11 | 12 | namespace spdlog { 13 | namespace sinks { 14 | 15 | template 16 | class null_sink : public base_sink { 17 | protected: 18 | void sink_it_(const details::log_msg &) override {} 19 | void flush_() override {} 20 | }; 21 | 22 | using null_sink_mt = null_sink; 23 | using null_sink_st = null_sink; 24 | 25 | } // namespace sinks 26 | 27 | template 28 | inline std::shared_ptr null_logger_mt(const std::string &logger_name) { 29 | auto null_logger = Factory::template create(logger_name); 30 | null_logger->set_level(level::off); 31 | return null_logger; 32 | } 33 | 34 | template 35 | inline std::shared_ptr null_logger_st(const std::string &logger_name) { 36 | auto null_logger = Factory::template create(logger_name); 37 | null_logger->set_level(level::off); 38 | return null_logger; 39 | } 40 | 41 | } // namespace spdlog 42 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/sinks/ostream_sink.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | #include 10 | #include 11 | 12 | namespace spdlog { 13 | namespace sinks { 14 | template 15 | class ostream_sink final : public base_sink { 16 | public: 17 | explicit ostream_sink(std::ostream &os, bool force_flush = false) 18 | : ostream_(os), 19 | force_flush_(force_flush) {} 20 | ostream_sink(const ostream_sink &) = delete; 21 | ostream_sink &operator=(const ostream_sink &) = delete; 22 | 23 | protected: 24 | void sink_it_(const details::log_msg &msg) override { 25 | memory_buf_t formatted; 26 | base_sink::formatter_->format(msg, formatted); 27 | ostream_.write(formatted.data(), static_cast(formatted.size())); 28 | if (force_flush_) { 29 | ostream_.flush(); 30 | } 31 | } 32 | 33 | void flush_() override { ostream_.flush(); } 34 | 35 | std::ostream &ostream_; 36 | bool force_flush_; 37 | }; 38 | 39 | using ostream_sink_mt = ostream_sink; 40 | using ostream_sink_st = ostream_sink; 41 | 42 | } // namespace sinks 43 | } // namespace spdlog 44 | -------------------------------------------------------------------------------- /ConsoleLogonUI/resources/statusview.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/sinks/null_sink.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | #include 9 | 10 | #include 11 | 12 | namespace spdlog { 13 | namespace sinks { 14 | 15 | template 16 | class null_sink : public base_sink { 17 | protected: 18 | void sink_it_(const details::log_msg &) override {} 19 | void flush_() override {} 20 | }; 21 | 22 | using null_sink_mt = null_sink; 23 | using null_sink_st = null_sink; 24 | 25 | } // namespace sinks 26 | 27 | template 28 | inline std::shared_ptr null_logger_mt(const std::string &logger_name) { 29 | auto null_logger = Factory::template create(logger_name); 30 | null_logger->set_level(level::off); 31 | return null_logger; 32 | } 33 | 34 | template 35 | inline std::shared_ptr null_logger_st(const std::string &logger_name) { 36 | auto null_logger = Factory::template create(logger_name); 37 | null_logger->set_level(level::off); 38 | return null_logger; 39 | } 40 | 41 | } // namespace spdlog 42 | -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/sinks/ostream_sink.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | #include 10 | #include 11 | 12 | namespace spdlog { 13 | namespace sinks { 14 | template 15 | class ostream_sink final : public base_sink { 16 | public: 17 | explicit ostream_sink(std::ostream &os, bool force_flush = false) 18 | : ostream_(os), 19 | force_flush_(force_flush) {} 20 | ostream_sink(const ostream_sink &) = delete; 21 | ostream_sink &operator=(const ostream_sink &) = delete; 22 | 23 | protected: 24 | void sink_it_(const details::log_msg &msg) override { 25 | memory_buf_t formatted; 26 | base_sink::formatter_->format(msg, formatted); 27 | ostream_.write(formatted.data(), static_cast(formatted.size())); 28 | if (force_flush_) { 29 | ostream_.flush(); 30 | } 31 | } 32 | 33 | void flush_() override { ostream_.flush(); } 34 | 35 | std::ostream &ostream_; 36 | bool force_flush_; 37 | }; 38 | 39 | using ostream_sink_mt = ostream_sink; 40 | using ostream_sink_st = ostream_sink; 41 | 42 | } // namespace sinks 43 | } // namespace spdlog 44 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/Combobox.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API Combobox : public HWNDHost 6 | { 7 | public: 8 | Combobox(Combobox const &); 9 | Combobox(void); 10 | virtual ~Combobox(void); 11 | Combobox & operator=(Combobox const &); 12 | 13 | 14 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 15 | static long __stdcall Create(Element *, unsigned long *, Element * *); 16 | static IClassInfo * __stdcall GetClassInfoPtr(void); 17 | static long __stdcall Register(void); 18 | static UID __stdcall SelectionChange(void); 19 | static const PropertyInfo* __stdcall SelectionProp(void); 20 | static void __stdcall SetClassInfoPtr(IClassInfo *); 21 | 22 | long SetSelection(int); 23 | int AddString(unsigned short const *); 24 | int GetSelection(void); 25 | long Initialize(unsigned int, Element *, unsigned long *); 26 | 27 | virtual HWND CreateHWND(HWND); 28 | virtual IClassInfo * GetClassInfoW(void); 29 | virtual SIZE GetContentSize(int, int, Surface *); 30 | virtual int OnAdjustWindowSize(int, int, unsigned int); 31 | virtual void OnHosted(Element *); 32 | virtual void OnInput(InputEvent *); 33 | virtual bool OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* plResult); 34 | virtual void OnPropertyChanged(const PropertyInfo*, int, Value *, Value *); 35 | 36 | private: 37 | static IClassInfo * s_pClassInfo; 38 | 39 | }; 40 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/Button.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API Button : public Element 6 | { 7 | public: 8 | Button(const Button&); 9 | Button(); 10 | virtual ~Button(); 11 | Button & operator=(const Button&); 12 | 13 | long Initialize(unsigned int, Element*, unsigned long*); 14 | static HRESULT WINAPI Create(unsigned int, Element*, unsigned long*, Element**); 15 | static HRESULT WINAPI Create(Element*, unsigned long*, Element**); 16 | 17 | static UID WINAPI Click(); 18 | static UID WINAPI Context(); 19 | //Element类函数重写 20 | //0 21 | virtual void OnPropertyChanged(const PropertyInfo*, int, Value*, Value*); 22 | //1 23 | virtual void OnInput(InputEvent*); 24 | 25 | //2 26 | virtual IClassInfo* GetClassInfoW(); 27 | 28 | //3 29 | virtual long DefaultAction(); 30 | 31 | bool GetCaptured(); 32 | static IClassInfo* WINAPI GetClassInfoPtr(); 33 | bool GetPressed(); 34 | //Button 新增虚函数 35 | //0 36 | virtual bool OnLostDialogFocus(class DialogElement*); 37 | //1 38 | virtual bool OnReceivedDialogFocus(class DialogElement*); 39 | 40 | static long WINAPI Register(); 41 | static const PropertyInfo* WINAPI CapturedProp(); 42 | static const PropertyInfo* WINAPI PressedProp(); 43 | static void WINAPI SetClassInfoPtr(IClassInfo*); 44 | 45 | long SetCaptured(bool); 46 | long SetPressed(bool); 47 | 48 | 49 | private: 50 | static IClassInfo* s_pClassInfo; 51 | }; 52 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/ui/dui_securitycontrol.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "dui_manager.h" 3 | #include 4 | #include 5 | #include 6 | 7 | struct SecurityOptionControlWrapper 8 | { 9 | void* actualInstance; 10 | 11 | SecurityOptionControlWrapper(void* instance) 12 | { 13 | actualInstance = instance; 14 | } 15 | 16 | std::wstring getString(); 17 | 18 | void Press(); 19 | }; 20 | 21 | /*class securityButtonControl : public DirectUI::Button 22 | { 23 | public: 24 | static DirectUI::IClassInfo* Class; 25 | static HRESULT CreateInstance(DirectUI::Element* rootElement, unsigned long* debugVariable, DirectUI::Element** newElement); 26 | virtual DirectUI::IClassInfo* GetClassInfoW() override; 27 | 28 | static inline DirectUI::IClassInfo* GetClassInfoPtr() 29 | { 30 | return Class; 31 | } 32 | static inline DirectUI::UCString DoGetClassName() 33 | { 34 | return (DirectUI::UCString)L"securityButtonControl"; 35 | } 36 | 37 | int SecurityOptionIndex; 38 | };*/ 39 | 40 | class duiSecurityControl : public duiBaseElement 41 | { 42 | public: 43 | 44 | duiSecurityControl(); 45 | virtual ~duiSecurityControl() override; 46 | 47 | DEFINE_DUIELEMENTCLASS(L"duiSecurityControl"); 48 | 49 | virtual void OnInput(DirectUI::InputEvent* a2) override; 50 | 51 | std::vector createdButtons; 52 | std::vector createdTexts; 53 | 54 | }; -------------------------------------------------------------------------------- /ConsoleLogonUI/ui/dui_selectedcredentialview.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "dui_manager.h" 3 | #include 4 | 5 | struct EditControlWrapper 6 | { 7 | void* actualInstance; 8 | std::string inputBuffer = ""; // for imgui 9 | std::string fieldNameCache = ""; 10 | 11 | std::wstring GetFieldName(); 12 | std::wstring GetInputtedText(); 13 | void SetInputtedText(std::wstring input); 14 | bool isVisible(); 15 | }; 16 | 17 | class duiSelectedCredentialView : public duiBaseElement 18 | { 19 | public: 20 | duiSelectedCredentialView(); 21 | virtual ~duiSelectedCredentialView() override; 22 | 23 | DEFINE_DUIELEMENTCLASS(L"duiSelectedCredentialView"); 24 | virtual void OnInput(DirectUI::InputEvent* a2); 25 | 26 | //TODO: LOAD THESE FROM A MUI, SO WE HAVE TRANSLATIONS 27 | std::wstring switchUser = L"Switch User"; 28 | std::wstring cancel = L"Cancel"; 29 | std::wstring accountNameToDisplay; 30 | int flag = 0; 31 | 32 | static DirectUI::Element* CreateStringField(DirectUI::Element* UserTile, std::wstring content, bool bVisible, bool bIsSmall = false); 33 | static DirectUI::Element* CreateEditField(DirectUI::Element* UserTile, std::wstring content, bool bVisible, bool bShowSubmit = false, bool bIsPassword = false); 34 | static DirectUI::Element* CreateCommandLinkField(DirectUI::Element* UserTile, std::wstring content, bool bVisible); 35 | 36 | bool textureExists = true; 37 | bool hasSetupNotify = false; 38 | 39 | }; -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/docs/duixml/AuthBrokerUI.dll.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/Page.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API Page : public Macro 6 | { 7 | public: 8 | Page(Page const &); 9 | Page(void); 10 | virtual ~Page(void); 11 | Page & operator=(Page const &); 12 | 13 | static long __stdcall Create(Element *, unsigned long *, Element * *); 14 | static IClassInfo * __stdcall GetClassInfoPtr(void); 15 | static long __stdcall Register(void); 16 | static void __stdcall SetClassInfoPtr(IClassInfo *); 17 | 18 | long Initialize(Element *, unsigned long *); 19 | 20 | virtual IClassInfo * GetClassInfoW(void); 21 | 22 | private: 23 | static IClassInfo * s_pClassInfo; 24 | 25 | }; 26 | 27 | class UILIB_API Pages : public Element 28 | { 29 | public: 30 | Pages(Pages const &); 31 | Pages(void); 32 | virtual ~Pages(void); 33 | Pages & operator=(Pages const &); 34 | 35 | static long __stdcall Create(Element *, unsigned long *, Element * *); 36 | static IClassInfo * __stdcall GetClassInfoPtr(void); 37 | static long __stdcall Register(void); 38 | static void __stdcall SetClassInfoPtr(IClassInfo *); 39 | 40 | unsigned int GetCount(void); 41 | Element * GetPage(unsigned int); 42 | Element * GetPage(unsigned short const *); 43 | long Initialize(Element *, unsigned long *); 44 | void SetNoBrowseOnFirstAdd(void); 45 | 46 | virtual long Add(Element * *, unsigned int); 47 | virtual IClassInfo * GetClassInfoW(void); 48 | 49 | private: 50 | static IClassInfo * s_pClassInfo; 51 | 52 | }; 53 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/UITest/UITest.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 源文件 20 | 21 | 22 | 23 | 24 | 头文件 25 | 26 | 27 | 28 | 29 | 资源文件 30 | 31 | 32 | 33 | 34 | 资源文件 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/fmt/bundled/fmt.license.rst: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 - present, Victor Zverovich 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | --- Optional exception to the license --- 23 | 24 | As an exception, if, as a result of your compiling your source code, portions 25 | of this Software are embedded into a machine-executable object form of such 26 | source code, you may redistribute such embedded portions in such object form 27 | without including the above copyright and permission notices. 28 | -------------------------------------------------------------------------------- /.github/workflows/msbuild.yml: -------------------------------------------------------------------------------- 1 | # This workflow uses actions that are not certified by GitHub. 2 | # They are provided by a third-party and are governed by 3 | # separate terms of service, privacy policy, and support 4 | # documentation. 5 | 6 | name: MSBuild 7 | 8 | on: 9 | push: 10 | branches: [ "master" ] 11 | pull_request: 12 | branches: [ "master" ] 13 | 14 | env: 15 | # Path to the solution file relative to the root of the project. 16 | SOLUTION_FILE_PATH: . 17 | 18 | # Configuration type to build. 19 | # You can convert this to a build matrix if you need coverage of multiple configuration types. 20 | # https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix 21 | BUILD_CONFIGURATION: Release 22 | 23 | permissions: 24 | contents: read 25 | 26 | jobs: 27 | build: 28 | runs-on: windows-latest 29 | 30 | steps: 31 | - uses: actions/checkout@v4 32 | 33 | - name: Add MSBuild to PATH 34 | uses: microsoft/setup-msbuild@v1.0.2 35 | 36 | - name: Restore NuGet packages 37 | working-directory: ${{env.GITHUB_WORKSPACE}} 38 | run: nuget restore ${{env.SOLUTION_FILE_PATH}} 39 | 40 | - name: Build 41 | working-directory: ${{env.GITHUB_WORKSPACE}} 42 | # Add additional options to the MSBuild command line here (like platform or verbosity level). 43 | # See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference 44 | run: msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}} 45 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/fmt/bundled/fmt.license.rst: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 - present, Victor Zverovich 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | --- Optional exception to the license --- 23 | 24 | As an exception, if, as a result of your compiling your source code, portions 25 | of this Software are embedded into a machine-executable object form of such 26 | source code, you may redistribute such embedded portions in such object form 27 | without including the above copyright and permission notices. 28 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/mdc.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | #include 10 | 11 | // MDC is a simple map of key->string values stored in thread local storage whose content will be printed by the loggers. 12 | // Note: Not supported in async mode (thread local storage - so the async thread pool have different copy). 13 | // 14 | // Usage example: 15 | // spdlog::mdc::put("mdc_key_1", "mdc_value_1"); 16 | // spdlog::info("Hello, {}", "World!"); // => [2024-04-26 02:08:05.040] [info] [mdc_key_1:mdc_value_1] Hello, World! 17 | 18 | namespace spdlog { 19 | class SPDLOG_API mdc { 20 | public: 21 | using mdc_map_t = std::map; 22 | 23 | static void put(const std::string &key, const std::string &value) { 24 | get_context()[key] = value; 25 | } 26 | 27 | static std::string get(const std::string &key) { 28 | auto &context = get_context(); 29 | auto it = context.find(key); 30 | if (it != context.end()) { 31 | return it->second; 32 | } 33 | return ""; 34 | } 35 | 36 | static void remove(const std::string &key) { get_context().erase(key); } 37 | 38 | static void clear() { get_context().clear(); } 39 | 40 | static mdc_map_t &get_context() { 41 | static thread_local mdc_map_t context; 42 | return context; 43 | } 44 | }; 45 | 46 | } // namespace spdlog 47 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/Progress.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API Progress : public Element 6 | { 7 | public: 8 | Progress(Progress const &); 9 | Progress(void); 10 | virtual ~Progress(void); 11 | Progress & operator=(Progress const &); 12 | 13 | static long __stdcall Create(Element *, unsigned long *, Element * *); 14 | static IClassInfo * __stdcall GetClassInfoPtr(void); 15 | static PropertyInfo const * __stdcall PositionProp(void); 16 | static long __stdcall Register(void); 17 | static void __stdcall SetClassInfoPtr(IClassInfo *); 18 | static PropertyInfo const * __stdcall MaximumProp(void); 19 | static PropertyInfo const * __stdcall MinimumProp(void); 20 | 21 | int GetMaximum(void); 22 | int GetMinimum(void); 23 | int GetPosition(void); 24 | long Initialize(Element *, unsigned long *); 25 | long SetMaximum(int); 26 | long SetMinimum(int); 27 | long SetPosition(int); 28 | 29 | virtual IClassInfo * GetClassInfoW(void); 30 | virtual SIZE GetContentSize(int, int, Surface *); 31 | virtual void Paint(HDC, RECT const *, RECT const *, RECT *, RECT *); 32 | private: 33 | static IClassInfo * s_pClassInfo; 34 | 35 | }; 36 | 37 | class UILIB_API ProgressRangeValueProxy : public IProxy 38 | { 39 | public: 40 | ProgressRangeValueProxy(ProgressRangeValueProxy const &); 41 | ProgressRangeValueProxy(void); 42 | ProgressRangeValueProxy & operator=(ProgressRangeValueProxy const &); 43 | 44 | virtual long DoMethod(int, char *); 45 | protected: 46 | virtual void Init(Element *); 47 | }; 48 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/mdc.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | #include 10 | 11 | // MDC is a simple map of key->string values stored in thread local storage whose content will be printed by the loggers. 12 | // Note: Not supported in async mode (thread local storage - so the async thread pool have different copy). 13 | // 14 | // Usage example: 15 | // spdlog::mdc::put("mdc_key_1", "mdc_value_1"); 16 | // spdlog::info("Hello, {}", "World!"); // => [2024-04-26 02:08:05.040] [info] [mdc_key_1:mdc_value_1] Hello, World! 17 | 18 | namespace spdlog { 19 | class SPDLOG_API mdc { 20 | public: 21 | using mdc_map_t = std::map; 22 | 23 | static void put(const std::string &key, const std::string &value) { 24 | get_context()[key] = value; 25 | } 26 | 27 | static std::string get(const std::string &key) { 28 | auto &context = get_context(); 29 | auto it = context.find(key); 30 | if (it != context.end()) { 31 | return it->second; 32 | } 33 | return ""; 34 | } 35 | 36 | static void remove(const std::string &key) { get_context().erase(key); } 37 | 38 | static void clear() { get_context().clear(); } 39 | 40 | static mdc_map_t &get_context() { 41 | static thread_local mdc_map_t context; 42 | return context; 43 | } 44 | }; 45 | 46 | } // namespace spdlog 47 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/CTrackBar.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API CCTrackBar : public CCBase 6 | { 7 | public: 8 | CCTrackBar(CCTrackBar const &); 9 | CCTrackBar(void); 10 | virtual ~CCTrackBar(void); 11 | CCTrackBar & operator=(CCTrackBar const &); 12 | 13 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static IClassInfo * __stdcall GetClassInfoPtr(void); 16 | static const PropertyInfo* __stdcall LineSizeProp(void); 17 | static const PropertyInfo* __stdcall ThumbPositionProp(void); 18 | static const PropertyInfo* __stdcall RangeMaxProp(void); 19 | static const PropertyInfo* __stdcall RangeMinProp(void); 20 | static long __stdcall Register(void); 21 | static void __stdcall SetClassInfoPtr(IClassInfo *); 22 | 23 | int GetLineSize(void); 24 | int GetRangeMax(void); 25 | int GetRangeMin(void); 26 | int GetThumbPosition(void); 27 | long SetLineSize(int); 28 | long SetRangeMax(int); 29 | long SetRangeMin(int); 30 | long SetThumbPosition(int); 31 | 32 | virtual IClassInfo * GetClassInfoW(void); 33 | virtual bool OnMessage(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* plResult); 34 | virtual void OnPropertyChanged(const PropertyInfo*, int, Value *, Value *); 35 | virtual bool OnPropertyChanging(const PropertyInfo*, int, Value *, Value *); 36 | 37 | protected: 38 | virtual void PostCreate(HWND); 39 | private: 40 | static IClassInfo * s_pClassInfo; 41 | 42 | }; 43 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/Navigator.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API Navigator : public PushButton 6 | { 7 | public: 8 | Navigator(Navigator const &); 9 | Navigator(void); 10 | virtual ~Navigator(void); 11 | Navigator & operator=(Navigator const &); 12 | 13 | static UID __stdcall ActionInitiated(void); 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static long __stdcall Register(void); 16 | static void __stdcall SetClassInfoPtr(IClassInfo *); 17 | static IClassInfo * __stdcall GetClassInfoPtr(void); 18 | static PropertyInfo const * __stdcall TargetPageProp(void); 19 | 20 | Browser * GetBrowser(void); 21 | unsigned short const * GetTargetPage(Value * *); 22 | long Initialize(Element *, unsigned long *); 23 | long SetTargetPage(unsigned short const *); 24 | 25 | virtual IClassInfo * GetClassInfoW(void); 26 | virtual void OnEvent(Event *); 27 | 28 | private: 29 | static IClassInfo * s_pClassInfo; 30 | void FireNavigationEvent(void); 31 | 32 | }; 33 | 34 | class UILIB_API NavigatorSelectionItemProxy : public IProxy 35 | { 36 | public: 37 | NavigatorSelectionItemProxy(NavigatorSelectionItemProxy const &); 38 | NavigatorSelectionItemProxy(void); 39 | NavigatorSelectionItemProxy & operator=(NavigatorSelectionItemProxy const &); 40 | //1 41 | virtual long DoMethod(int, char *); 42 | protected: 43 | //2 44 | virtual void Init(Element *); 45 | 46 | private: 47 | long AddToSelection(Browser *); 48 | long GetIsSelected(Browser *, int *); 49 | 50 | }; 51 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/ExpandCollapse.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | 6 | class UILIB_API ExpandCollapseProvider 7 | : public PatternProvider 8 | , public IExpandCollapseProvider 9 | { 10 | public: 11 | ExpandCollapseProvider(void); 12 | 13 | virtual ~ExpandCollapseProvider(void);; 14 | 15 | 16 | virtual ProviderProxyCall GetProxyCreator(void); 17 | 18 | 19 | //IUnknown 20 | virtual HRESULT STDMETHODCALLTYPE QueryInterface( 21 | /* [in] */ REFIID riid, 22 | /* [iid_is][out] */ _COM_Outptr_ void __RPC_FAR *__RPC_FAR *ppvObject); 23 | 24 | virtual ULONG STDMETHODCALLTYPE AddRef(void); 25 | 26 | virtual ULONG STDMETHODCALLTYPE Release(void); 27 | 28 | 29 | //IExpandCollapseProvider 30 | virtual HRESULT STDMETHODCALLTYPE Expand(void); 31 | 32 | virtual HRESULT STDMETHODCALLTYPE Collapse(void); 33 | 34 | virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ExpandCollapseState( 35 | /* [retval][out] */ __RPC__out enum ExpandCollapseState *pRetVal); 36 | 37 | }; 38 | 39 | class UILIB_API ExpandCollapseProxy : public IProxy 40 | { 41 | public: 42 | ExpandCollapseProxy(ExpandCollapseProxy const &); 43 | ExpandCollapseProxy(void); 44 | ExpandCollapseProxy & operator=(ExpandCollapseProxy const &); 45 | 46 | static ExpandCollapseProxy * __stdcall Create(Element *); 47 | static bool __stdcall IsPatternSupported(Element *); 48 | 49 | //1 50 | virtual long DoMethod(int, char *); 51 | 52 | 53 | protected: 54 | //2 55 | virtual void Init(Element *); 56 | }; 57 | 58 | } -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/details/log_msg-inl.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #ifndef SPDLOG_HEADER_ONLY 7 | #include 8 | #endif 9 | 10 | #include 11 | 12 | namespace spdlog { 13 | namespace details { 14 | 15 | SPDLOG_INLINE log_msg::log_msg(spdlog::log_clock::time_point log_time, 16 | spdlog::source_loc loc, 17 | string_view_t a_logger_name, 18 | spdlog::level::level_enum lvl, 19 | spdlog::string_view_t msg) 20 | : logger_name(a_logger_name), 21 | level(lvl), 22 | time(log_time) 23 | #ifndef SPDLOG_NO_THREAD_ID 24 | , 25 | thread_id(os::thread_id()) 26 | #endif 27 | , 28 | source(loc), 29 | payload(msg) { 30 | } 31 | 32 | SPDLOG_INLINE log_msg::log_msg(spdlog::source_loc loc, 33 | string_view_t a_logger_name, 34 | spdlog::level::level_enum lvl, 35 | spdlog::string_view_t msg) 36 | : log_msg(os::now(), loc, a_logger_name, lvl, msg) {} 37 | 38 | SPDLOG_INLINE log_msg::log_msg(string_view_t a_logger_name, 39 | spdlog::level::level_enum lvl, 40 | spdlog::string_view_t msg) 41 | : log_msg(os::now(), source_loc{}, a_logger_name, lvl, msg) {} 42 | 43 | } // namespace details 44 | } // namespace spdlog 45 | -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/details/log_msg-inl.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #ifndef SPDLOG_HEADER_ONLY 7 | #include 8 | #endif 9 | 10 | #include 11 | 12 | namespace spdlog { 13 | namespace details { 14 | 15 | SPDLOG_INLINE log_msg::log_msg(spdlog::log_clock::time_point log_time, 16 | spdlog::source_loc loc, 17 | string_view_t a_logger_name, 18 | spdlog::level::level_enum lvl, 19 | spdlog::string_view_t msg) 20 | : logger_name(a_logger_name), 21 | level(lvl), 22 | time(log_time) 23 | #ifndef SPDLOG_NO_THREAD_ID 24 | , 25 | thread_id(os::thread_id()) 26 | #endif 27 | , 28 | source(loc), 29 | payload(msg) { 30 | } 31 | 32 | SPDLOG_INLINE log_msg::log_msg(spdlog::source_loc loc, 33 | string_view_t a_logger_name, 34 | spdlog::level::level_enum lvl, 35 | spdlog::string_view_t msg) 36 | : log_msg(os::now(), loc, a_logger_name, lvl, msg) {} 37 | 38 | SPDLOG_INLINE log_msg::log_msg(string_view_t a_logger_name, 39 | spdlog::level::level_enum lvl, 40 | spdlog::string_view_t msg) 41 | : log_msg(os::now(), source_loc{}, a_logger_name, lvl, msg) {} 42 | 43 | } // namespace details 44 | } // namespace spdlog 45 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/NativeHWNDHost.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | 6 | class UILIB_API NativeHWNDHost 7 | { 8 | public: 9 | NativeHWNDHost(const NativeHWNDHost&); 10 | NativeHWNDHost(); 11 | virtual ~NativeHWNDHost(); 12 | 13 | static LRESULT WINAPI WndProc(HWND, UINT, WPARAM, LPARAM); 14 | NativeHWNDHost& operator=(const NativeHWNDHost&); 15 | static UINT WINAPI AsyncDestroyMsg(); 16 | 17 | static HRESULT WINAPI Create(UCString lpClassName, UCString lpWindowName, HWND hWndParent, HICON hIcon, int x, int y, int nWidth, int nHeight, int dwExStyle, int dwStyle, HINSTANCE, UINT, NativeHWNDHost**out); 18 | static HRESULT WINAPI Create(UCString lpWindowName, HWND hWndParent, HICON hIcon, int x, int y, int nWidth, int nHeight, int dwExStyle, int dwStyle, unsigned int, NativeHWNDHost**out); 19 | 20 | void Destroy(); 21 | void DestroyWindow(); 22 | 23 | class Element* GetElement(); 24 | HWND GetHWND(); 25 | 26 | void HideWindow(); 27 | void Host(class Element*); 28 | 29 | HRESULT Initialize(UCString lpClassName, UCString lpWindowName, HWND hWndParent, HICON hIcon, int x, int y, int nWidth, int nHeight, int dwExStyle, int dwStyle, HINSTANCE, UINT); 30 | HRESULT Initialize(UCString, HWND, HICON, int, int, int, int, int, int, UINT); 31 | 32 | virtual HRESULT OnMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT*); 33 | 34 | int RestoreFocus(); 35 | void SaveFocus(); 36 | void SetDefaultFocusID(UCString); 37 | void ShowWindow(int); 38 | 39 | private: 40 | HWND m_hWnd; 41 | void*unk2; 42 | void*unk3; 43 | void*unk4; 44 | char unk5; 45 | }; 46 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/spdlog/sinks/stdout_color_sinks-inl.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #ifndef SPDLOG_HEADER_ONLY 7 | #include 8 | #endif 9 | 10 | #include 11 | #include 12 | 13 | namespace spdlog { 14 | 15 | template 16 | SPDLOG_INLINE std::shared_ptr stdout_color_mt(const std::string &logger_name, 17 | color_mode mode) { 18 | return Factory::template create(logger_name, mode); 19 | } 20 | 21 | template 22 | SPDLOG_INLINE std::shared_ptr stdout_color_st(const std::string &logger_name, 23 | color_mode mode) { 24 | return Factory::template create(logger_name, mode); 25 | } 26 | 27 | template 28 | SPDLOG_INLINE std::shared_ptr stderr_color_mt(const std::string &logger_name, 29 | color_mode mode) { 30 | return Factory::template create(logger_name, mode); 31 | } 32 | 33 | template 34 | SPDLOG_INLINE std::shared_ptr stderr_color_st(const std::string &logger_name, 35 | color_mode mode) { 36 | return Factory::template create(logger_name, mode); 37 | } 38 | } // namespace spdlog 39 | -------------------------------------------------------------------------------- /ConsoleLogonHook/spdlog/sinks/stdout_color_sinks-inl.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #ifndef SPDLOG_HEADER_ONLY 7 | #include 8 | #endif 9 | 10 | #include 11 | #include 12 | 13 | namespace spdlog { 14 | 15 | template 16 | SPDLOG_INLINE std::shared_ptr stdout_color_mt(const std::string &logger_name, 17 | color_mode mode) { 18 | return Factory::template create(logger_name, mode); 19 | } 20 | 21 | template 22 | SPDLOG_INLINE std::shared_ptr stdout_color_st(const std::string &logger_name, 23 | color_mode mode) { 24 | return Factory::template create(logger_name, mode); 25 | } 26 | 27 | template 28 | SPDLOG_INLINE std::shared_ptr stderr_color_mt(const std::string &logger_name, 29 | color_mode mode) { 30 | return Factory::template create(logger_name, mode); 31 | } 32 | 33 | template 34 | SPDLOG_INLINE std::shared_ptr stderr_color_st(const std::string &logger_name, 35 | color_mode mode) { 36 | return Factory::template create(logger_name, mode); 37 | } 38 | } // namespace spdlog 39 | -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/XBaby.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API XBaby : public DialogElement 6 | { 7 | public: 8 | XBaby(XBaby const &); 9 | XBaby(void); 10 | virtual ~XBaby(void); 11 | XBaby & operator=(XBaby const &); 12 | void CacheParser(DUIXmlParser *); 13 | 14 | static long __stdcall Create(Element *, unsigned long *, Element * *); 15 | static long __stdcall Create(IXElementCP *,class XProvider *, HWND, Element *, unsigned long *, Element * *); 16 | static IClassInfo * __stdcall GetClassInfoPtr(void); 17 | static long __stdcall Register(void); 18 | static void __stdcall SetClassInfoPtr(IClassInfo *); 19 | 20 | void ForceThemeChange(UINT_PTR, LONG_PTR); 21 | SIZE GetContentDesiredSize(int, int); 22 | long GetHostedElementID(unsigned short *); 23 | long SetToHost(Element *); 24 | 25 | virtual bool CanSetFocus(void); 26 | virtual long CreateStyleParser(DUIXmlParser * *); 27 | virtual Element * GetAdjacent(Element *, int, NavReference const *, unsigned long); 28 | virtual IClassInfo * GetClassInfoW(void); 29 | virtual bool OnChildLostFocus(Element *); 30 | virtual bool OnChildReceivedFocus(Element *); 31 | virtual void OnEvent(Event *); 32 | virtual void OnNoChildWithShortcutFound(KeyboardEvent *); 33 | virtual void OnThemeChanged(ThemeChangedEvent *); 34 | virtual void OnWmThemeChanged(WPARAM wParam, LPARAM lParam); 35 | virtual void SetKeyFocus(void); 36 | 37 | //1 38 | virtual Element * GetFocusableElement(void); 39 | protected: 40 | long Initialize(IXElementCP *, XProvider *, HWND, Element *, unsigned long *); 41 | private: 42 | static IClassInfo * s_pClassInfo; 43 | }; 44 | } -------------------------------------------------------------------------------- /ConsoleLogonUI/dui/DirectUI/XElement.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DirectUI 4 | { 5 | class UILIB_API XElement 6 | : public HWNDHost 7 | , public IXElementCP 8 | { 9 | public: 10 | XElement(XElement const &); 11 | XElement(void); 12 | virtual ~XElement(void); 13 | XElement & operator=(XElement const &); 14 | static long __stdcall Create(unsigned int, Element *, unsigned long *, Element * *); 15 | static long __stdcall Create(Element *, unsigned long *, Element * *); 16 | static unsigned int const s_uButtonFocusChangeMsg; 17 | static unsigned int const s_uNavigateOutMsg; 18 | static unsigned int const s_uUnhandledSyscharMsg; 19 | static UID __stdcall UnhandledSyschar(void); 20 | static IClassInfo * __stdcall GetClassInfoPtr(void); 21 | static long __stdcall Register(void); 22 | static void __stdcall SetClassInfoPtr(IClassInfo *); 23 | 24 | void FreeProvider(void); 25 | HWND GetInnerHWND(void); 26 | struct IXProvider * GetProvider(void); 27 | long Initialize(unsigned int, Element *, unsigned long *); 28 | bool IsDescendent(Element *); 29 | long SetProvider(IUnknown *); 30 | 31 | virtual HWND CreateHWND(HWND); 32 | virtual IClassInfo * GetClassInfoW(void); 33 | virtual void OnEvent(Event *); 34 | virtual void OnInput(InputEvent *); 35 | virtual bool OnMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT*); 36 | virtual bool OnSinkThemeChanged(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT*); 37 | virtual bool OnSysChar(unsigned short); 38 | virtual void SetKeyFocus(void); 39 | 40 | //IXElementCP 41 | virtual HWND GetNotificationSinkHWND(void); 42 | 43 | private: 44 | static IClassInfo * s_pClassInfo; 45 | }; 46 | } -------------------------------------------------------------------------------- /ConsoleLogonHook/imgui/imgui_impl_dx11.h: -------------------------------------------------------------------------------- 1 | // dear imgui: Renderer Backend for DirectX11 2 | // This needs to be used along with a Platform Backend (e.g. Win32) 3 | 4 | // Implemented features: 5 | // [X] Renderer: User texture binding. Use 'ID3D11ShaderResourceView*' as ImTextureID. Read the FAQ about ImTextureID! 6 | // [X] Renderer: Large meshes support (64k+ vertices) with 16-bit indices. 7 | 8 | // You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this. 9 | // Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need. 10 | // Learn about Dear ImGui: 11 | // - FAQ https://dearimgui.com/faq 12 | // - Getting Started https://dearimgui.com/getting-started 13 | // - Documentation https://dearimgui.com/docs (same as your local docs/ folder). 14 | // - Introduction, links and more at the top of imgui.cpp 15 | 16 | #pragma once 17 | #include "imgui.h" // IMGUI_IMPL_API 18 | #ifndef IMGUI_DISABLE 19 | 20 | struct ID3D11Device; 21 | struct ID3D11DeviceContext; 22 | 23 | IMGUI_IMPL_API bool ImGui_ImplDX11_Init(ID3D11Device* device, ID3D11DeviceContext* device_context); 24 | IMGUI_IMPL_API void ImGui_ImplDX11_Shutdown(); 25 | IMGUI_IMPL_API void ImGui_ImplDX11_NewFrame(); 26 | IMGUI_IMPL_API void ImGui_ImplDX11_RenderDrawData(ImDrawData* draw_data); 27 | 28 | // Use if you want to reset your rendering device without losing Dear ImGui state. 29 | IMGUI_IMPL_API void ImGui_ImplDX11_InvalidateDeviceObjects(); 30 | IMGUI_IMPL_API bool ImGui_ImplDX11_CreateDeviceObjects(); 31 | 32 | #endif // #ifndef IMGUI_DISABLE 33 | --------------------------------------------------------------------------------