I think that the problem is in classical theme, Windows will look at the property of the windows to see if it was created by CreateWindowExA or CreateWindowExW (also must go with RegisterClassA/RegisterClassW) . If it's the Unicode ( W ) version it will look for the BSTR , else look for the ANSI string. By default, VB6 create the Window using CreateWindowExA and RegisterClassA so it's the problem.