C# Archive

Global keyboard listeners – pros and cons

As discussed previously, event listeners are a key component to GUI development and good software development. Being able to record mouse clicks, or keyboard keys can enhance the usability of software for the end-users. In this post, I intend to show you how to implement a global keyboard listener for C#. What is a global

C++/CLI Wrapper – marshalling GUIDs

GUIDs, unique identifiers which can be assigned to items in C# and C++ are another set of variables which, despite sharing many characteristics, need to be marshalled between the C# implementation and C++ implementations when using the CLI wrapper. Marshalling GUIDs between System.Guid and GUID GUIDs are useful variables to pass between C# and C++

C++/CLI Wrapper – marshalling strings

As mentioned previously, C++/CLI code makes use of managed data types to pass data between C# and C++. Primitive data types are not affected by this (int, double, bool, etc.) but others, such as strings, are. Marshalling strings between system and std Strings in C# are referred to as System Strings as they are a

C++/CLI Wrapper – how to set up a CLI file

What is CLI and what is it used for? The Common Language Infrastructure (CLI) is a part of .NET programming. It is commonly referred to as the C++/CLI wrapper (this may be important if ever you’re Googling for help) and is used for managing code between different .NET based code. As mentioned previously (here and

Inheriting or Inclusion, the differences between both

Many programming languages make use of inheritance and inclusion. For beginner programmers, this can be a daunting concept but once understood, they can open up a world of new possibilities for your software development. This post is aimed at those who have an understanding of programming, but perhaps need or want a little example of

Basic File IO – Java/C#/C++ examples

File Input/Output (FileIO) is a necessary piece of programming for software development where outputs need to be saved, or inputs used for calculations. All pieces of software create, to some degree, data which needs to be output to a permanent source on the file system. These files are not written magically and need to be