Скорее всего, setWindowLong выдает ACCESS DENIED - нельзя поменять некоторые параметры класса "извне", т.е. из другого процесса. Ведь у каждого - свой набор дескрипторов и созданной вами кисти нет в объектах ядра калькулятора. По всей видимости, из этих соображений и запрещено менять кисть в окне другого процесса.
PS. В WinApi есть функция
DuplicateHandle, которая позволяет копировать хэндлы между процессами. Но она не поддерживает объекты WINGDI