Tourist confusion comes from Helsingborg, Helsingor, Kronborg and Elsinore.
Town of Helsingborg = Sweden.
Town of Helsingor = Denmark.
Castle Kronborg = Denmark; Kronborg Castle is located just outside Helsingor
Castle Elsinore = Shakespeare's vision of an old Kronborg
These are separated by about 20 minutes of car-ferry ride, or 4 km, or perhaps 2 3/4 miles, see http://www.users.dircon.co.uk/~highrise/deptlads/cph99/kronborg.htm. No reservations are needed. Just drive up to the pay window. There is time to get out if you like, for the view and breezes. Get back fast, so the lines behind your car are not held up.
The waterway is known as the Oresund. Shipping from the Kattegat to the Baltic, on the way to the North Sea passes through here, and the original Kronborg site was more a customs post than a defensive castle at the time. It is at the narrowest point between Denmark and Sweden.
From the middle of the Oresund, in the distance, there is the castle-residential palace, Kronborg. Kronborg was dubbed Elsinore in Shakespeare's Hamlet. The real Hamlet lived centuries before this fine, elaborate structure.