RemoteDesktopWPF is a secure, Windows Presentation Foundation (WPF)-based remote desktop application. This app allows users to remotely connect to and control another computer, viewing its screen and interacting with it as if they were physically present. The connection is secured with authentication and encrypted communications.
In addition to the remote access features, RemoteDesktopWPF now integrates with a custom-built .NET Web API for user management, enabling real-world-style registration and login flows.
- Screen Sharing: View and interact with the host computer's screen in real-time.
- Secure Connection: Encrypted communications using TLS/SSL to ensure all data transferred is secure.
- User Authentication: Users must register and log in before gaining access, using a secure API-based system.
- Real-time Interaction: Send keyboard and mouse inputs from the client to the host, allowing for seamless control.
- API Integration: All user management is handled via an external ASP.NET Core Web API built by the project author.
- .NET Framework 4.8 or later
- Windows 10/11
- A running instance of the companion TestAPI (ASP.NET Core Web API)
- Clone the repository:
git clone https://github.com/markdicks/RemoteDesktopWPF.git
- Open the solution in Visual Studio.
- Build the solution to ensure all dependencies are properly set up.
- Ensure the TestAPI project is also running (locally via Visual Studio or IIS Express).
- Run the WPF application from Visual Studio or the built executable.
This WPF app relies on a local API for authentication and user profile management. To enable this:
- Clone and run the Test_API project (details available in its respective repository or solution).
- Ensure it runs on a known HTTPS port (e.g.,
https://localhost:7191
). - If running behind self-signed certificates, SSL validation is bypassed in development via
HttpClientHandler
.
- Start the TestAPI.
- Launch the WPF application.
- Use the Register screen to create a new user account.
- Log in with your credentials via the Login screen.
- Upon successful login, proceed to establish a remote connection to another host using IP address and password.
- Control and interact with the host machine in real-time.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Mark Dicks - [email protected]