C Developer - ScreenBuddy DLL Conversion
Budget: $30 – $250 USD
Freelance C Developer – Convert ScreenBuddy.exe into a DLL Library
Project Overview
We already have a fully functional C-based remote-control tool (ScreenBuddy on GitHub https://github.com/mmozeiko/ScreenBuddy). Your mission is not to build capture or encoding logic from scratch, but simply to refactor the existing EXE into a native Windows DLL that can be loaded from C++, Delphi, or C#.
Key Responsibilities
Library API: Expose these five exports in the DLL:
StartCapture(void (*callback)(EncodedFrame*))
StopCapture()
Capture(ScreenData* outFrame)
Encode(const ScreenData* inFrame, EncodedFrame* outData)
Decode(const EncodedFrame* inData, ScreenData* outFrame)
Internal Loop: Inside StartCapture, continuously perform Capture → Encode → callback until StopCapture is called.
Data Structures: Use simple ScreenData and EncodedFrame structs to pass raw frame buffers (RGB/NV12) and H.264 bitstreams.
Build System: Provide a one-click build.cmd or CMake setup targeting MSVC x64.
Technical Stack
Existing Codebase: C, Win32 API, D3D11 (wcap), HLSL, Media Foundation H.264 MFTs, DerpNet & WinHTTP JSON (all already implemented)
Output: Native Windows DLL (__declspec(dllexport)), C headers for P/Invoke in C++, Delphi, C#
Deliverables
Refactored DLL source code and headers
build.cmd and CMakeLists.txt for MSVC x64
Three minimal sample projects (C++, Delphi, C#) demonstrating each API call
Updated README with instructions and GitHub link
Requirements
Proven experience converting standalone Win32 EXEs into DLLs
Strong knowledge of native Windows C development and DLL exports
Project Overview
We already have a fully functional C-based remote-control tool (ScreenBuddy on GitHub https://github.com/mmozeiko/ScreenBuddy). Your mission is not to build capture or encoding logic from scratch, but simply to refactor the existing EXE into a native Windows DLL that can be loaded from C++, Delphi, or C#.
Key Responsibilities
Library API: Expose these five exports in the DLL:
StartCapture(void (*callback)(EncodedFrame*))
StopCapture()
Capture(ScreenData* outFrame)
Encode(const ScreenData* inFrame, EncodedFrame* outData)
Decode(const EncodedFrame* inData, ScreenData* outFrame)
Internal Loop: Inside StartCapture, continuously perform Capture → Encode → callback until StopCapture is called.
Data Structures: Use simple ScreenData and EncodedFrame structs to pass raw frame buffers (RGB/NV12) and H.264 bitstreams.
Build System: Provide a one-click build.cmd or CMake setup targeting MSVC x64.
Technical Stack
Existing Codebase: C, Win32 API, D3D11 (wcap), HLSL, Media Foundation H.264 MFTs, DerpNet & WinHTTP JSON (all already implemented)
Output: Native Windows DLL (__declspec(dllexport)), C headers for P/Invoke in C++, Delphi, C#
Deliverables
Refactored DLL source code and headers
build.cmd and CMakeLists.txt for MSVC x64
Three minimal sample projects (C++, Delphi, C#) demonstrating each API call
Updated README with instructions and GitHub link
Requirements
Proven experience converting standalone Win32 EXEs into DLLs
Strong knowledge of native Windows C development and DLL exports