What is the ($Foo)PS project in my $Foo ATL solution for?

COM supports making interface method calls across two different threads, two different processes or two different machines. This is called marshaling. Two different threads is the most common case, a COM server is often not thread-safe. COM implements thread-safety for such single-threaded coclasses by marshaling the call from the ‘wrong’ thread to the thread that … Read more

How do I decide whether to use ATL, MFC, Win32 or CLR for a new C++ project?

It depends on your needs. Using the CLR will provide you with the most expressive set of libraries (the entire .NET framework), at the cost of restricting your executable to requiring the .NET framework to be installed at runtime, as well as limiting you to the Windows platform (however, all 4 listed technologies are windows … Read more

How to get started with developing Internet Explorer extensions?

[UPDATE] I’m updating this answer to work with Internet Explorer 11, in Windows 10 x64 with Visual Studio 2017 Community. The previous version of this answer (for Internet Explorer 8, in Windows 7 x64 and Visual Studio 2010) is at the bottom of this answer. Creating a Working Internet Explorer 11 Add-on I am using … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)