4 ms·
Overlay.NET: An easy-to-use overlay library written in C#
- Someone 10y agoI hoped to see a magnificent hack implementing https://en.wikipedia.org/wiki/Overlay_(programming) https://en.wikipedia.org/wiki/Overlay_(programming) (beter description at http://www.i-programmer.info/babbages-bag/205-virtual-memory.html http://www.i-programmer.info/babbages-bag/205-virtual-memory...) for no reason other than because we can, but alas.
- euroclydon 10y agoLicense?
- xamlhacker 10y agoOn a reddit thread, author had stated preference for MIT but I don't think he has added the license file yet which is unfortunate.
- MichaelApproved 10y agoThis looks like the thread that you're referring to. https://www.reddit.com/r/csharp/comments/5b6qe2/overlaynet_now_with_basic_directx_support/d9nyl6s/ https://www.reddit.com/r/csharp/comments/5b6qe2/overlaynet_n... In response to a question about the license, 7 days ago the author stated "Forgot to add it. It will be under MIT."
- lolp1 10y agoI am the author and I will be releasing it under MIT - you can take my word for it you can use it freely or wait a week or two for another commit and license add. Sorry for inconvenience.
- lolp1 10y agoSorry :/ read other replies by me but a week or two is likely, a day is possible :)
- Luuseens1 10y agoCan I use this to overlay everything on the screen? Similar to what Humanized Enso does: http://zapp3.staticworld.net/downloads/graphics/screenshots/70391f.jpg http://zapp3.staticworld.net/downloads/graphics/screenshots/...
- kevingadd 10y agoYou could probably modify it to do this, yes. It's creating a transparent window that overlays the host window, so you could use the same technique to overlay the desktop with a transparent topmost window. I've done this before for similar input purposes and the only caveat is that some applications are able to 'push' topmost windows to the bottom - there are some workarounds, though. You can also do this with raw GDI (if you do the pixel pushing yourself) or with GDI+, since all you need at the base level is an ARGB buffer to feed to the windows compositor. For example, I wrote an overlay for my dualshock4 driver that would visualize touchpanel inputs at the bottom right corner of the screen and describe the inputs it had synthesized from them. https://github.com/kg/DS4_PSO2/blob/master/DS4_PSO2/GestureOverlay.cs#L366 https://github.com/kg/DS4_PSO2/blob/master/DS4_PSO2/GestureO...
- Someone 10y ago"I've done this before for similar input purposes and the only caveat is that some applications are able to 'push' topmost windows to the bottom - there are some workarounds, though" Are there? I would think that is a weapons race you cannot win. If you can force your window to the top of all other windows, including those of other applications, so can others. The only way out of that is if the OS has a notion of "this is the one and only topmost full screen window".
- kevingadd 10y agoRight, that's why in this case you just periodically push yourself to the top of the stack. If you're not capturing input (and the user opted into it) it's relatively sensible. Exclusive mode fullscreen applications will crush you anyway since the compositor turns off, but otherwise it seemed to work OK.
- Meph504 10y agoThis is great, thanks!
- WhitneyLand 10y agoWhat would you use it for?
- djsumdog 10y agoDemos? Tutorials? Cutting and pasting stuff for videos?
- WaxProlix 10y agoI write tools to interact with games - ctrl+p to do a price lookup for item under mouse, track which cards have been played/are in your deck, that sort of thing - and it'd be really useful there. DLL injection is kind of a pain (and it can be detected as cheating, which this little framework probably doesn't solve), so the fastest route for prototyping ideas tends to be AutoHotKey or something else that can spawn tooltips easily on top of D3D windows. Obviously that has tons of drawbacks, so if this is quick & easy and runs on a 'real' platform like .NET, it'd be a lot more powerful.
- Zahreddine 10y agoGame cheats for people who don't want to hook the game renderer.
- lolp1 10y agoSome people suggest it is mostly for "hacks". I disagree. One example I give to people is an overlay I made presents all text messages, skype message, forum private messages, etc in a mid size transparent overlay to toggle on/off and some buttons/input box to reply. Now while in-game I can quickly reply to things and not juggle browsers, tabs, apps, etc with alt tab.
- bicubic 10y agoIn windows 8/10 can you still use the 'glass' blur in overlays? I wrote a similar thing on top of XNA a few years ago and remember there existing a flags/clear color combination which made the background of the frameless window look like the blurry aero glass. The start menu in W10 has that effect, so there must be still a way to do it?
- captainmuon 10y agoIndeed, you can use the same effect as the start menu via the undocumented API SetWindowCompositionAttribute [1]. Note it only works properly with frameless windows, if you have a titlebar there are slight artifacts around the window. [1] http://withinrafael.com/adding-the-aero-glass-blur-to-your-windows-10-apps/ http://withinrafael.com/adding-the-aero-glass-blur-to-your-w...
- polskibus 10y agoIt doesn't seem to support old school WinForms applications, or does it?
- lolp1 10y agoHello everyone, I am the author of this library. I'd like to say before anything else, thanks for all the attention the community here gave the project. I went from 60 stars to 200+ overnight. I only found out it was from here when I looked at the traffic data for the project. That is motivating and rewarding as a newer developer who started during C# 6.0. I intend to review the rules and general rules of thumb over here and contribute where possible. Second, yes it will be under MIT in its current form. You have my word you are safe to use it under MIT conditions. If you would like to use it before I add the license.I can not guarantee all versions in the future will, but any release out and for the next foreseeable release MIT it shall be. I intend to fix the NuGet and bugs that exist this week and get a stable version, a NuGet, and license up. From there I will improve what I can and add in stable d3d support with an easy way to load your dll and the clr into another process (using this https://github.com/lolp1/DomainWrapper https://github.com/lolp1/DomainWrapper). From there you will be able to detour Present or EndScene in both x64/32 d3d11/9. Thanks again!