Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Определение как запустилось приложение x64 или x86


Автор: Chesnok88 12.10.2009, 07:19
Здравствуйте, хотел узнать если в dotnet функция которая определяет, как запустилось приложение(как 32-битное или 64-битное)? Приложение скомпилировано, как AnyCPU, и работает под x64 и x86..

Автор: ksili 12.10.2009, 07:26
Не знаю как в шарпе, а на С++ есть функция IsWow64Process().
Плюс надо использовать функцию GetVersionEx(), чтоб узнать, а в какой мы вообще винде находимся.

Добавлено через 5 минут и 9 секунд
кстати 64-битное приложение не может подгрузить 32-битную библиотеку
и
кстати 32-битное приложение не может подгрузить 64-битную библиотеку

так что не бойся, того, что не надо, не подгрузишь.

Автор: Chesnok88 12.10.2009, 10:10
Цитата(ksili @ 12.10.2009,  07:26)
Не знаю как в шарпе, а на С++ есть функция IsWow64Process().
Плюс надо использовать функцию GetVersionEx(), чтоб узнать, а в какой мы вообще винде находимся.

Добавлено @ 07:31
кстати 64-битное приложение не может подгрузить 32-битную библиотеку
и
кстати 32-битное приложение не может подгрузить 64-битную библиотеку

так что не бойся, того, что не надо, не подгрузишь.

Вот поэтому и хочу создать два класса(с DllIMPORT) в одном будут грузиться dll для x32, а в другом x64.. и в зависимости от того как приложение запустилось подцеплять либо тот либо другой класс

Автор: Ctrl 12.10.2009, 19:09
Все куда проще))
Код

    public static class Platform {
        public static bool IsX64 { 
            get { return IntPtr.Size == 8; } 
        }
        public static bool IsX86 {
            get { return IntPtr.Size == 4; }
        }
    }

Автор: Chesnok88 13.10.2009, 10:33
Цитата(Ctrl @ 12.10.2009,  19:09)
Все куда проще))
Код

    public static class Platform {
        public static bool IsX64 { 
            get { return IntPtr.Size == 8; } 
        }
        public static bool IsX86 {
            get { return IntPtr.Size == 4; }
        }
    }

Спасибо.. Вчера тоже этот код нашел..Не успел отписаться...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)