У меня есть диспетчер учетных данных, реализованный в VC++, который фиксирует учетные данные во время процесса входа в систему. Он хорошо работает в 32-битной среде XP/Vista/Windows 7. Но не работает в 64 бит. Любая идея ? Заранее благодарю за любую помощь
Диспетчер учетных данных для Vista/Windows 7
Ответы (2)
Если вы хотите, чтобы ваша DLL загружалась 64-битным процессом, ваша DLL должна быть скомпилирована для 64-битной версии.
Если вы хотите, чтобы ваша DLL загружалась 32-битным процессом, ваша DLL должна быть скомпилирована для 32-битной версии. Это верно как для 64-разрядных систем Windows, так и для 32-разрядных систем Windows.
Джон дал вам полезную ссылку, хотя формулировка Джона неверна. Приложение (exe), созданное для 32-битной версии, будет работать в 64-битной Windows, но оно может загружать только 32-битные библиотеки DLL.
Вы строили для 64-битной платформы в Visual Studio?
Приложение Visual C++, созданное для 32-разрядной среды, не будет работать напрямую в 64-разрядной среде. И хотя приложения будут работать с использованием уровня совместимости WOW64, библиотеки DLL должны быть 64-разрядными, если они должны загружаться 64-разрядной операционной системой.
Поскольку это действительно так, вам необходимо создать проект для 64-битной платформы (Visual Studio 2005 и более поздние версии имеют 64-битный компилятор).
См. ссылку http://msdn.microsoft.com/en-us/library/ms185328.aspx для получения дополнительных сведений.