title: Non-hooked overlay drawing library
body: <p>I am interested in making a game trainer but I stumbled over the question of making a menu which the player can choose from.  I am using C++ and my target client is windows based.</p>
  
  <p>I searched around and people mostly use DirectX and hook into the game to draw (A little bit like the discord overlay) but I find it extremely difficult to use DirectX.</p>
  
  <p>Here is an example I found:</p>
  
  <p><a href="https://i.stack.imgur.com/UhL8k.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/UhL8k.png" alt="enter image description here"></a></p>
  
  <p>I really like the way the SFML library draws but I can't seem to find any APIs which support that ease of drawing.</p>
  
  <p>I once did manage to make a menu in C# by using System.Drawing to draw an external overlay which I could draw to using C#'s brush API, however I prefer to write in C++ as I feel I can do more in that language.</p>
  
  <p>My question is:</p>
  
  <p><strong>Is the a way I could use something like the System.Drawing/SFML API to draw an overlay over another window in C++ (Which would be accessible in a console application)?</strong></p>
  
  <p><strong>Is it easily portable (As a DLL or even including a header)? (Most of the solutions I have seen are not portable and/or widely supported)</strong></p>