No, this is not going to be a Windows cetric blog. But I want to mention, that I hate Windows and Windows hates me!
For $money I developed a TCP/IP server application in C which should run in background (without having a DOS window in the foreground). It would have been so easy if it'd be like on almost all other operating systems: nohup ./yourprogram &
On Windows XP you need to extend your C application in order to support Windows Services. In order to support Windows Services, you need to write about 50 more LOC. And it is frustrating to find out how to change the working directory of your own Windows Service. The standard working directory is c:\WINDOWS\system32. I managed doing so in reading an optional parameter (which is editable in the Windows Registry [uargh, why not under the Windows Service options?]) and to use the SetCurrentDirectory function of the WinAPI. Whah, yet another nasty thing about Windows: The function name SetCurrentDirectory starts with a capital letter, which is against my own coding conventions ;)
After all, everything is now running as expected! And without Cygwin it almost would have been mission impossible!
I do not like Windows ;)

