Hi, with NativeBoost (NB) it is now possible to access not only external libraries but also the underlying operating system platform. Some examples are already included in the "NativeBoost-Win32", "NativeBoost-Unix" and "NativeBoost-Mac" categories within the NB project.
But providing more and more examples and native API wrappers for the various platforms directly within the NativeBoost project itself would only bloat this project. NB should care about being a good external interface - nothing more. To keep NativeBoost clean with the basic functionality for a good foreign function interface Igor suggested to move specific API wrappers for the various operating systems into own project. To avoid duplicate effort in providing such wrappers it would IMHO make sense to host them in a central place. Therefore I created the "OS" Team on SmalltalkHub with a first project called "OS-Windows" allowing you to access Win32/Win64 functionality easily from within Pharo. It contains code, tests, many examples and documentation as a first contribution. With this initial project for Windows you can now work with the console, Shell, the internet explorer, GDI, windows processes, Control panel applets, ... I refer to the written documentation and many examples given at: http://smalltalkhub.com/#!/~OS/OS-Windows Provided code for Windows is stable and usable, if you have something to share to make it even more complete then you can easily contribute (how is described in the docu). Code is for Pharo 3.0 - you can load it easily from the config browser in a recent image. Try the examples given in the docu on the project page, look at the tests to get comfortable with it. Important: ========== Note that this idea is NOT LIMITED TO WINDOWS - it would be good if we could see pair projects like a "/~OS/OS-Mac", or "/~OS/OS-Linux" and others under the same umbrella so it follows a common pattern and is easier to access for people who require it. If someone asks if Pharo is platform independent I will answer: YES. If he asks if it is also playing nicely with the underlying platform to use platform dependent functionality I would also like to answer YES. If he wants to do some Mac stuff I would like to tell him: "just load "OS-Mac" from the config browser and start. Same for Linux, Windows, Android, YouNameIt, ... I can only provide a start for the basic framework with the hope that others will contribute as well and getting it into good shape as yet another good step for the possibilities in the Pharo universe. Side note: ========== You can read the docu online at the SmalltalkHub project page (http://smalltalkhub.com/#!/~OS/OS-Windows) - but also as a class comment on the ConfigurationOfOSWindows. If you have the "Pharo Online Help" loaded you can also view it there. Keep on talking small T.