CsWin32
CppSharp
Our great sponsors
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
- Onboard AI - Learn any GitHub repo in 59 seconds
- SaaSHub - Software Alternatives and Reviews
CsWin32 | CppSharp | |
---|---|---|
23 | 3 | |
1,588 | 2,855 | |
3.3% | 1.3% | |
0.0 | 7.3 | |
17 days ago | about 4 hours ago | |
C# | C# | |
MIT License | MIT License |
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.
CsWin32
-
[OC] I made a program for Windows which lets you create sticky preview thumbnails
This was mostly a project for fun, to dive into CsWin32 - a PInvoke source generator as well to fiddle around with the DWM API.
-
Change Secondary screen rotation using CMD
If you haven't seen the CsWin32 project, you can use it to generate all your bindings as well. It generates the raw extern bindings, and then friendly wrappers for C# (where possible) that also work really well with PowerShell.
-
Hello. Can someone please give me some fun and cool projects for powrshell? Thank you.
If you're looking for something different, try out writing windows programs using Win32 via CsWin32. You can generate a DLL that you Add-Type into PowerShell that lets you access all of Win32.
-
PInvoke.net: the interop wiki
Also worth mentioning is this C# source generator for generating P/Invoke methods for win32 APIs: https://github.com/microsoft/CsWin32
-
WPF Roadmap 2023
Idk what all the hubub is about FolderBrowserDialog, it's pretty easy to make the Win32 calls (you can even code generate the interop calls).
-
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
CppSharp
-
Recommendation for software to aid with creating a C# wrapper around a c++ library
Or take a look at the tools CppSharp or SWIG, s.a. Example for SWIG to wrap C++ library in .Net 6.
-
COM or C++/CLI layer for long-term maintenance?
I would give CppSharp a crack first. It generates a .net wrapper using pinvoke.
What are some alternatives?
SWIG - SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.
CefSharp - .NET (WPF and Windows Forms) bindings for the Chromium Embedded Framework
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.
PythonNet - Python for .NET is a package that gives Python programmers nearly seamless integration with the .NET Common Language Runtime (CLR) and provides a powerful application scripting tool for .NET developers.
Sharpen - Sharpen is an Eclipse plugin created by db4o that allows you to convert your Java project into c#
CXXI - C++ interop framework
PInvoke Interop Assistant - PInvoke Interop Assistant
libffi - A portable foreign-function interface library.
LegacyWrapper - LegacyWrapper uses a x86 wrapper to call legacy dlls from a 64 bit process (or vice versa).
V8 - The official mirror of the V8 Git repository
ChaiScript - Embedded Scripting Language Designed for C++