
If you’re an experienced COM developer, or even if you’re just hoping to learn more about COM and the shell, then this is the place for you to embark on your ReactOS development.
#Reactos github windows
This makes it a great learning tool to further your knowledge into Windows shell development. ReactOS will happily host the Windows explorer, likewise the ReactOS version of explorer will happily run in Windows. The ReactOS shell is a fully working implementation of a Windows shell with the same look and feel. The majority of the shell is written in C++ and uses COM extensively. It implements things like the taskbar and tray notification area and it too relies heavily on the shell dlls to get its tasks done. Most GUI applications make use of the shell in some way, even if it’s just to provide a user with a dialog box for opening files.Įxplorer is the portion most people associate with the shell, and is a process that provides the user with a desktop to manage their applications.

#Reactos github code
These dlls contain code for things such as the file browser, dialogs, menus, and the start menu and they rely heavily on the Win32 API to provide these services. The main portion of the shell comprises of a number of dlls which make up the majority of what user’s interact with (shell32.dll, browseui.dll, etc). The shell is generally split into two areas. This is a great place to start for anyone wanting to gain experience in NT system development, or is already comfortable working with NT Services and wants to work on system components that are core to the NT operating system. These system processes run with higher privileges than regular applications, so an understanding of secure coding practices is essential to avoid introducing vulnerabilities. Working in this area requires a much deeper knowledge of not only the Win32 API but also the NT architecture. These include processes to manage the logged on user (winlogon), the security subsystem (lsass), the session manager (smss), the service control manager and its large number of NT services, and many more. NT provides various core processes and services which are essential to the NT architecture. If you’re a proficient Win32 application developer looking for something more challenging, then move onto the next level. NET or python developer looking to improve your skills with the Win32 API, then this is a great place for you to start. ReactOS re-implements the majority of these applications and packages them with the operating system so our users can find them as expected.Īll our applications are written in C or C++ and use only the base win32 APIs (and optionally our ATL library which we package into our code base). These include anything from notepad to the command prompt, the device manager and even control panel applets. Windows users expect to have certain applications available to them by default.
#Reactos github driver
So if you’re a budding Windows developer looking to learn as much as possible about operating system development, or a seasoned driver developer looking for a fun project, then ReactOS will definitely have something to offer.

In fact many of our developers are well respected members in the NT community, and working on ReactOS has been an important tool in reaching that goal. Working on ReactOS enables you to develop a deep insight into the NT operating system, allowing you to hone your Windows internals skills which are directly transferable to real world jobs. ReactOS offers the chance to work on a mature, open source version of the NT operating system, the most popular desktop operating system in the world. Some people just really like Windows or the NT architecture, and want to get their hands dirty in a way you can’t with Windows. There are other smaller operating systems, but the majority of these are bespoke and don’t offer much in terms of real world usage. Linux and BSD are the obvious choices, but not everyone wants to work in a unix environment or are put off by the vast scale of unix communities and the large choice on offer. The challenge of working on a mainstream operating system is something many people are interested in, however the opportunities to do so are rather limited. The codebase allows developers of all different backgrounds and skillsets to find something that interests them, and allows them to get going quickly using our excellent build environment.


Becoming a ReactOS developer is both simple and rewarding.
