Remote desktop audio redirection - windows

could someone help me with this?
Client(home): PC A, InputA, OutputA
Host(workstation): PC B, InputB, OutputB
I'd like to know if there is a remote desktop software(or any way to make it happen) that will allow me to connect to a remote computer and redirect PC A input to PC B input and PC B output to PC A output.
PC B receives a call, i can hear the person on my PC A, and when i speak, the person on the call through PC B can hear me.

Related

User interface synchronization between two identical software applications running on different machines

I wrote a desktop application that runs on two different machines (machine A and machine B). The GUI of the application on machine A needs to synchronize with that on machine B when both applications are running and communicating with each other.
For example, if user 1 press a button in machine A and move to a new UI page, the same navigation needs to occur in machine B as well. The user input will be touch input only and the user will only operate on one of the machine at a time. I have a few thoughts for the implementation:
Approach 1 is to enumerate all UI pages as "states" and enumerate all possible events (ex. button presses). When an event occurs on machine A, it will forward the event alongside its current state to machine B before handling the event. Upon receiving the forwarded event, machine B will first ensure its current state matches that of machine A before handling the event. This will allow machine A and machine B to synchronize their GUI in an "event-driven" basis (except the initial setup to make sure they have the same starting point).
Approach 2 is similar to approach 1 except machine A will be sending the coordinate of the touch input to machine B in the example above. Machine B is responsible for detecting whether the touch input coordinate matches a UI control. This will eliminate the need to enumerate all the possible events but maybe tricky if the application runs on different screen size.
Please share your feedback on both approaches. I may not be thinking in the right way so any alternative are welcome as well. Please let me know if you need any clarification on my question. Thanks!

How do I detect if an external hard drive is connected

I am trying to translate some code I use to run a backup to Nim (as part of learning the language). How do I detect if one of my external hard drives is connected (by name?) and then which drive letter my Windows 10 PC has assigned to it?
With Window message: WM_DEVICECHANGE and winapi RegisterDeviceNotification

Visual Studio remote upload and debugging on other computer

Is there any way to remotely upload, run and debug an application on another computer?
I know you can attach the Visual Studio Remote Debugger to an application running on a remote computer, but I'm looking for a completely automated way of doing it.
I'm building a home automation system, and it would be AWESOME if I could get some kind of plugin to visual studio which would let me hit F5 in VS and then the application would just build as normal and be sent to my server PC and run there (with remote debugging attached).
The problem is that my laptop don't have all the hardware that my server PC has. I can connect it manually to my laptop but the be honest, that is gonna get boring after doing it 2 - 3 times... Also, the Serial port names and some of the other hardware related stuff is different between the two computers. So that means I have different configurations, for each system.
Last but not least, I would almost call it the most important thing haha:
I wan't to be able to lay down in my bed and code, or sit in the living room eating pizza, while debugging my home automation. Right now I'm tied to my desk by 3 USB cables, an audio cable and a HDMI cable going to my TV... That's kinda messed up.
The remote debugging exists... We have uploaded files for at least 10 years now... We have had programs run other programs before... Please tell me someone have invented this system!!!
Btw. I'm fine with interacting with the application over Teamviewer. I just don't want to have to go through the "F5 -> Teamviewer -> Do stuff on local pc -> Do stuff on remote pc -> Test software -> Find bugs -> Repeat" process.
It would be nice if I could just log in and the program was already up and running. Also If I could make the STOP button stop the software on the remote PC it would be fantastic, and I might even consider sending a six-pack full of beer to the guy who made it possible haha.
I'm not aware such a product exists however there are a number of things you can do to make the mundane tasks much easier.
1) Change your Start action from Start Project to Start External Program
In run_remote_process.bat you add scripts that
a) copy your binaries to your remote/server PC
b) use remcom to start your process on the remote machine
Now for the coding bit: add this to your Main entry method:
public static void Main(string[] args)
{
if(args.Any(arg=>arg=="debug"))
{
while (!Debugger.IsAttached)
{
Thread.Sleep(100);
}
Debugger.Break();
}
}
make sure you pass the debug argument when starting your process. This will hang your process until you attach to it.
So now all you are left to do is Attach to Process using Visual Studio. You can use keyboard shortcuts to do this quickly:
Alt-D, P (press enter) Then press the letter of your process to scroll to it (Enter)
and away you go!
Not ideal but much better than many manual steps.

Test a embeded system (PC) from another PC

Got a customer request but no idea can it be done. So need your opinions on this. This might be a utterly stupid thing to ask but yet need some facts so can work out best solution.
Scenario,
My Customer is an OEM Manufacturer. They make an automated system with a embedded touch screen (Windows XPe) this system got a button panel with some LED indicators (apart from keyboard) and 7 USB Ports. These button panels and USB ports are checked before sending to QC process. Currently a USB thumb drive with standalone executable with all indicators and controls flags is inserted to one of the USBs and then will run the exe. This exe capture user inputs from button panel and indicate which button is pressed so that it can be verify as working. And from program user can set LED indicators to different states (flashing, steady and off) so they can be verified as well. Once this is done then USB thumb drive will be inserted to each port and will verify it recognise. But after each verify step it needs to safely remove the drive from task bar. Once each test is finish user required to fill up the sheet with all pass and fail states for the entire button panel, indicators and USB ports. This is a quite length process when its come to mass production.
Apart from this embedded system all other components which suppose to connect to one of above embedded systems are tested via a program which I make and records all test outputs as they are tested. This program installed and components are connected to a testing embedded system.
Requirement,
What customer asks, can my program test completed embedded system with our host system (testing embedded system, may be via USB to USB) Its more like Testing a PC from another PC. Any ideas ?
Additional Info.
Apart from USBs there is one Network Port.
Thanks for looking, Feel Free to ask any questions. Any opinion is appreciated.
I'm not an expert on this topic, but it seems like this would be problematic because USB is an assymetrical protocol. There are hosts and there are devices. Hosts make the requests, and devices fulfill the requests. The problem is that PCs are USB hosts, not USB devices, so you would have two hosts trying to get the guy on the other side to do what he wants. Testing with a USB thumb drive worked because the thumb drive is a device.
It sounds like the unit to be tested doesn't have an ethernet port, which is a shame, because that would be the easiest way to go. If it has a serial port you could do it that way, but that is both slow and a hassle.

DirectSound/FFDShow without a Sound Card

I've got an application that uses DirectShow/DirectSound which plays videos and extracts the video/sound. Running it on a server without a soundcard means the audio cannot be grabbed, is there a way around this? I look briefly at Virtual Audio Cable 4 but that doesn't seem to emulate a soundcard over a terminal session..
The tricky part of this is that it's running on x64 so i maybe somewhat limited..
Cheers
VAC does do the trick but it's somewhat limited in that it doesn't work when you connect to the server through a RDP session.
For the moment I've worked around the issue by starting the process over VNC...
I haven't tested, but, make sure you set the "RDP -> option -> local resources -> remote computer sound" to "live at remote computer" otherwise you can't find any audio randers.

Resources