Угу, уж сколько раз твердили миру, что с 2009 все строки юникодные.
См тут, например:
http://stackoverflow.com/questions/1...nd-my-window-c
А проверять возврат GetWindowThreadProcessId и OpenProcess это ж, конечно, некошерно. Настоящие программилы так никогда не делают...