CsWin32
cppcomponents
Our great sponsors
CsWin32 | cppcomponents | |
---|---|---|
23 | 3 | |
1,873 | 205 | |
4.5% | - | |
9.4 | 0.0 | |
25 days ago | almost 7 years ago | |
C# | C++ | |
MIT License | Boost Software License 1.0 |
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.
-
Audio routing using C#
My best guess would be to use CsWin32 to wrangle the audio sinks used by variious WASAPI sessions.
-
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.
- Any existing windows API wrappers?
-
Need help with WPF
If all you need is Win32 stuff from a WPF application, you can use P/Invoke to call the unmanaged code from C# (see: https://learn.microsoft.com/en-us/dotnet/standard/native-interop/pinvoke). Microsoft also recently added features for making working with Win32 from C# easier (see: https://github.com/microsoft/CsWin32).
-
Best resource to learn c# COM?
There's this helpful repo for people trying to P/Invoke WinAPI
cppcomponents
-
COM+ Revisited
A few years back, I wanted to see what you could do if you really used modern C++ with the COM principles. This is what I came up with:
https://github.com/jbandela/cppcomponents
* There is no code generation or IDL files
* Components implement IUnknown
* You can have Constructors and static functions for C++ classes.
* You can take std::vector, std::string, std::tuple as parameters and return them (even if you are using different compilers and standard libraries)
* Cross-platform
-
COM or C++/CLI layer for long-term maintenance?
You may find https://github.com/jbandela/cppcomponents useful. A portable C++11 library allowing COM components to be created from a C++ library. Note the portable, you can 100% make COM components on POSIX as well.
-
Satya Das - CIB - ABI stable architecture for a C++ SDK - Meeting C++ online
jbandela/cppcomponents: Allows you to write binary components in C++11 that can be used across different compilers and standard libraries (github.com)
What are some alternatives?
ClangSharp - Clang bindings for .NET written in C#
CppSharp - Tools and libraries to glue C/C++ APIs to high-level languages
SRWE - Simple Runtime Window Editor
ComLightInterop - Cross-platform COM interop library for .NET Core 2.1 or newer
Vanara - A set of .NET libraries for Windows implementing PInvoke calls to many native Windows APIs with supporting wrappers.
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.
terrafx.interop.windows - Interop bindings for Windows.
cheat-engine - Cheat Engine. A development environment focused on modding
Borderless1942 - Allows Battlefield 1942 to be borderless
FrostMemory - Basic RPM/WPM Library I wrote.
bluerain - BlueRain is a fully-featured, managed memory manipulation library written in C#