2009-09-24 3 views
1

Мне нужно иметь возможность искать тип процессора, который выполняется моим приложением из приложения .NET Compact Framework. В принципе, мне нужно знать, есть ли у меня ARM, SH4, x86 и т. Д. Процессор.Поиск Тип процессора в .NET Compact Framework

ответ

2

Вы можете получить эту информацию от API вызова GetSystemInfo:

[DllImport("coredll")] 
static extern void GetSystemInfo(ref SYSTEM_INFO pSI); 

public struct SYSTEM_INFO 
{ 
    public uint dwOemId; 
    public uint dwPageSize; 
    public uint lpMinimumApplicationAddress; 
    public uint lpMaximumApplicationAddress; 
    public uint dwActiveProcessorMask; 
    public uint dwNumberOfProcessors; 
    public uint dwProcessorType; 
    public uint dwAllocationGranularity; 
    public uint dwProcessorLevel; 
    public uint dwProcessorRevision; 
} 

Запуск на эмуляторе, dwProcessorType возвращает 2577, который, как я вспоминаю это идентификатор процессора ARM, так что это будет работать (хотя вам нужно будет вычислить, какие значения относятся к тем процессорам).

Вы будете нуждаться в этом, используя директиву для приведенного выше кода, чтобы работать, конечно:

using System.Runtime.InteropServices;