I don’t think it’s a complete solution but you could try giving different
priorities to the two connections.
The TCP/IP configuration has a special setting (under the Advance menu) for
‘Metric‘. If they have different numbers in the Metric entry, the actual
connection would default to the one with the lower number, e.g. if you set
Metric to 5 in the Wired Network connection and to 20 in the Wireless
Connection, the system would default to the wired connection. Obviously, when
the cable is unplugged (or not present) it would automatically switch to
wireless connection (if present). When the cable is plugged back in, it would
take over the connection since it has a lower metric setting.
This has to be done on both the wired connection (Ethernet) and the wireless
connection, as follows:
Go to Control Panel > Network and Sharing Center > Manage Network
Connections (in left pane) then right-click a network interface > Properties
scroll down and highlight TCP/IP > Properties > Advanced (at the bottom)
and click the Automatic Metric box to clear the tick, then enter the value
that you want in the Interface Metric field.
It is, of course, reversible.