Is there a comdlg64.dll?

SNiuh 0 Reputation points
2023-12-15T16:52:16.58+00:00

Upgrading from a 32 to 64 bit system in Access. I notice all the examples to upgrade to 64 that I see add PtrSafe to DECLARE statements but still reference comdlg32.dll. Is there no comdlg64.dll?

Same question for: kernel32.dll and shell32.dll

Thank you!!

Microsoft 365 and Office | Development | Other
Microsoft 365 and Office | Access | Development
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. RLWA32 49,666 Reputation points
    2023-12-15T17:28:19.1866667+00:00

    Windows system DLLs like kernel32.dll, shell32.dll and so forth exist as both 64-bit code and 32-bit code. The 64-bit versions reside in C:\Windows\System32 and the 32-bit versions are in C:\Windows\SysWOW64. The "32" part of the file name has no significance. Also, take a look at File System Redirector which says "Most DLL file names were not changed when 64-bit versions of the DLLs were created, so 32-bit versions of the DLLs are stored in a different directory."

    0 comments No comments

  2. Sam of Simple Samples 5,546 Reputation points
    2023-12-15T17:46:48.07+00:00

    Microsoft constantly uses confusing names. In this instance comdlg.dll is the 16-bit version. There is more of a difference between 16-bit and 32-bit DLLs than there is between 32-bit and 64-bit. Therefore 64-bit DLLs can have the 32 in them.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.