CsWin32
winforms
Our great sponsors
CsWin32 | winforms | |
---|---|---|
23 | 25 | |
1,830 | 4,183 | |
8.1% | 1.6% | |
9.4 | 9.3 | |
8 days ago | 7 days 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
winforms
-
Duda carrera: C#/.NET vs. Node/Express
Winforms: Licencia MIT.
-
When A .NET Developer Learns Blazor
No, it is fully supported and in active development. https://github.com/dotnet/winforms
-
WPF Roadmap 2023
No, it's still under active development/maintenance. https://github.com/dotnet/winforms/graphs/contributors
-
Why is Microsoft's C# not taught in most universities and Java is instead?
Also, the runtime that C# runs on, is also completely open source as well (https://github.com/dotnet/runtime); ASP.NET which is used to create web apps in C# is open as well (https://github.com/dotnet/aspnetcore). WinForms/WPF, used to make desktop apps in C# is also open source (https://github.com/dotnet/wpf, https://github.com/dotnet/winforms). All of the source code for these are on the dotnet Github page: https://github.com/dotnet and most are all MIT-licensed.
-
Announcing .NET 7 Preview 5
WinForms is still often used for business, lab and industrial applications. It is the most straightforward way to make a Windows desktop application in C# if your application doesn't have many screens and doesn't require customized looks. It is very close to native Windows UI components. The WinForms Github is also very much alive, I daresay it is better maintained than the WPF Github. https://github.com/dotnet/winforms/pulse
You'll likely have to open an issue against https://github.com/dotnet/winforms. If you've already opened an issue here, then feel free to link and I might be able to provide suggestions on how to improve the triage process.
-
Win32 is the stable Linux userland ABI (and the consequences)
There's been a lot of work happening to make WinForms trimmable. I think it will land in the upcoming .NET release (7) or the next one, I'm looking forward to being able to ship small WinForms apps with zero dependencies. https://github.com/dotnet/winforms/issues/4649
-
Transitioning from learning algorithms to actual developement.
Here are some examples (https://github.com/python/cpython) (https://github.com/dotnet/winforms) (https://github.com/microsoft/vscode)
- .NET 6 Preview 5
-
"Did you know...?" infographics - #2 skipping initialization
Yes, but not only. It is a trick used for creating union types for structs - `Unsafe.SkipInit(out this);` satisfies compiler to not initialize all fields: https://github.com/dotnet/winforms/blob/d46ad2e8dc76248739d9ae22b28b399a6a6b299e/src/System.Windows.Forms.Primitives/src/Interop/Interop.ARGB.cs
What are some alternatives?
Avalonia - Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The most popular .NET Foundation community project.
Introducing .NET Multi-platform App UI (MAUI) - .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
ClangSharp - Clang bindings for .NET written in C#
Xamarin.Forms - Xamarin.Forms Official Home
SRWE - Simple Runtime Window Editor
Vanara - A set of .NET libraries for Windows implementing PInvoke calls to many native Windows APIs with supporting wrappers.
Visual Studio Code - Visual Studio Code
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
Unity-WinForms - A Windows Forms port for Unity3d
cppcomponents - Allows you to write binary components in C++11 that can be used across different compilers and standard libraries