Vanara
CsWin32
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Vanara
-
Should you use c# for memory manipulation
I have a lot of C# P/Invoke / interop experience. Almost everything is possible in C#, I swear. Just keep in mind that C/C++ users have Windows.h include (meta-include which references thousands of another useful includes) that contain every single public fuction, structure or enum definition, i. e. you just go ahead and use it (while having to link against necessary libs correctly ofc). When you do the same thing in C# you have to P/Invoke through all this stuff by yourself. Consider taking a look at Vanara.PInvoke (https://github.com/dahall/Vanara), these packages might help you a lot in case you do not want to dive that deep.
- Would you want/use an improved interface to native Win32 APIs for .NET?
-
One Commander – a new Windows 10 file browser
Interesting that it was built in .Net and appears to be using WPF with a few improvements[1].
It also refers to Vanara[2] which looks interesting as a safe utility wrapper to the Windows API.
CsWin32
-
C# to C Struct
You could try this to auto-generate it.
-
Show HN: My small program from 2007 that gave Internet Explorer tabs
A quick Google Search netted the following project (https://github.com/microsoft/CsWin32). Looks like my evening is gone.
- Should you use c# for memory manipulation
-
Fixing my BF1942 woes with Win32 APIs
I tried out both TerraFX.Interop.Windows and CsWin32, ultimately settling on the latter. CsWin32 was a little less intimidating as the API is generated based on strings in a text file rather than containing everything at once. Also I like jumping to definition of types to read more and explore APIs etc and doing that to one of the types in the TerraFX library crashed Visual Studio. That's more of a VS problem than a TerraFX library but still - CsWin32 would work great for what I'm doing.
-
How to interact with Win 11 API?
Pick your P/Invoke library of choice. For instance, CsWin32, or if you feel braver and want to go faster, TerraFX.Interop.Windows
- Would you want/use an improved interface to native Win32 APIs for .NET?
-
COM or C++/CLI layer for long-term maintenance?
Would something like CsWin32 help?
-
How can I use C definitions in .NET 5?
CsWin32 eats native DLL's and poops out C# wrappers for them.
What are some alternatives?
ClangSharp - Clang bindings for .NET written in C#
pinvoke - A library containing all P/Invoke code so you don't have to import it every time. Maintained and updated to support the latest Windows OS.
SRWE - Simple Runtime Window Editor
terrafx.interop.windows - Interop bindings for Windows.
cppcomponents - Allows you to write binary components in C++11 that can be used across different compilers and standard libraries
CppSharp - Tools and libraries to glue C/C++ APIs to high-level languages
cheat-engine - Cheat Engine. A development environment focused on modding
Borderless1942 - Allows Battlefield 1942 to be borderless
Conari - 🧬 One-touch unmanaged memory, runtime dynamic use of the unmanaged native C/C++ in .NET world, related P/Invoke features, and …
ModernWpf - Modern styles and controls for your WPF applications