Skip to content

Add WinForms provider (+ sample app)#23

Merged
asklar merged 2 commits into
mainfrom
feat/winforms-provider
Jul 9, 2026
Merged

Add WinForms provider (+ sample app)#23
asklar merged 2 commits into
mainfrom
feat/winforms-provider

Conversation

@asklar

@asklar asklar commented Jul 8, 2026

Copy link
Copy Markdown
Owner

Summary:

  • Adds WinForms framework detection via System.Windows.Forms.dll/class fallback.
  • Adds a WinForms provider with managed TAP injection to enrich HWND elements with managed type/name/text/properties.
  • Adds a net48 WinForms sample app plus unit and integration coverage.

Fixes #12

Deferred work: none for the vertical slice; future improvements could add more WinForms-specific properties beyond the common controls covered here.

Adds WinForms detection, managed TAP-based HWND enrichment, a sample WinForms test app, and unit/integration coverage.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@asklar asklar force-pushed the feat/winforms-provider branch from a06ae6a to aa4a57b Compare July 9, 2026 07:50
LvtWinFormsTap.csproj set PlatformTarget=AnyCPU but not an explicit OutputPath, so
in a VS x64 developer environment (CI sets Platform=x64) MSBuild emitted the
assembly to bin\x64\Release\ instead of bin\Release\. The native lvt_winforms_tap
target copies from bin\Release\, so CI failed with
"Error copying ... LvtWinFormsTap.dll: No such file or directory".

Force a flat bin\<Config>\ output via explicit OutputPath so every invocation
(ci.yml dotnet build, the CMake lvt_winforms_managed custom command, and plain
local builds) lands the DLL where the copy expects it, regardless of the ambient
Platform. Verified by reproducing Platform=x64 locally: the DLL now builds to
bin\Release\ and lvt_winforms_tap's copy succeeds.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@asklar asklar merged commit e9d90d7 into main Jul 9, 2026
1 check passed
@asklar asklar deleted the feat/winforms-provider branch July 9, 2026 08:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

WinForms provider

1 participant