Launch Steam on Internet connection via LAN (might work for wireless, too)
How to launch Steam only after IPv4 or IPv6 Internet connection has been established by your network card (I couldn't add a comment to the answer involving Windows Task Scheduler, that's why I've answered here).
The answer is Xpath filter.
You will need to add two triggers to the Windows Scheduler task that will be used to launch Steam.exe in silent mode.
Start the Windows Scheduler. Right click on Computer, select Manage, go to Task Scheduler, select Task Scheduler Library, right click on it, select Create New Task
Choose a name for your task like Launch Steam on Internet connection.
Switch to tab Actions, click New… button, browse to your Steam folder and select Steam.exe.In the field Add arguments (optional) add –silent. We don’t want Steam popping up during launch.
Switch to Triggers tab, Begin new task: On an event, Settings: Custom, and press New Event Filter…
Switch to XML tab, check the box Edit filter manually. Then paste one of the two filter queries below. You will have to take the same steps to add a trigger for the other filter query.
FILTER QUERIES
IPv4 Internet connection has been established
<QueryList>
<Query Id="0" Path="Microsoft-Windows-NetworkProfile/Operational">
<Select Path="Microsoft-Windows-NetworkProfile/Operational">*[System[(EventID=10000)]] and *[EventData[(Data[@Name="State"]=9)]] </Select>
</Query>
</QueryList>
IPv6 local Internet connection has been established
<QueryList>
<Query Id="0" Path="Microsoft-Windows-NetworkProfile/Operational">
<Select Path="Microsoft-Windows-NetworkProfile/Operational">*[System[(EventID=10000)]] and *[EventData[(Data[@Name="State"]=25)]] </Select>
</Query>
</QueryList>
I came up with the idea to use an XML query for Windows Task Scheduler after reading about it here.
http://blog.oneboredadmin.com/2013/05/filtering-windows-event-log-using-xpath.html