have you thought about using a mapped network drive from your (program) machine to the 'remote' machine ?
- on the remote machine you 'share' the topmost level of drive/folder you wish to make available (please dont expose c:\windows, c:\program files ie anything that needs to remain private/secure etc, have a separate drive/folder for 'content'
- preferably create a separate account and give it required permissions to only that share
- then use either a unc path from the 'client'/'program' machine or map a drive
this is also good at helping to connect to shares on other machines and disconnecting the share when you're done with it
C# Map Network Drive (API)[
^]
Im taking you at your word of course both machines are on the same network, ie, have addresses 192.168.1.x - else it may get more difficult