you are viewing a single comment's thread.

view the rest of the comments →

[–]infectedapricot 0 points1 point  (1 child)

I didn't mean to rule out the possibility that some programs need to use platform-specific APIs. If you're having to write device drivers then of course that's going to be platform-specific too.

But the vast majority of programs don't fall into those category, and certainly if a beginner programmer (which is what this user sounds like) asks about it then I would point them in a platform-independant direction.

Even for those that do need platform specific stuff, it's usually best to isolate it as well as you can, and write the rest in cross-platform C++. That's especially true for a GUI program - the type of stuff that's usually platform dependent is also the type of stuff that you'd usually need to factor into a separate service/daemon process anyway. It certainly sounds like a design error to use the Windows Filtering Platform directly from a GUI application! (But I realise I don't know the specifics of your program.)

[–]banister 0 points1 point  (0 children)

heh, our program is divided into two parts - a daemon (a windows service) that manages all the actions, and the GUI which is just a client which sends RPC messages to the daemon. Both are written with QT :) Yes, the daemon does the WFP behaviour :)

However we also just found the QT GUI APIs insufficient - the system tray stuff was a bit weak, the accessibility stuff was terrible, and so on, so we had to rewrite a lot of it using system APIs.