Как я могу сказать, использует ли пользователь ноутбук

Мне нужен путь к моему приложению.Net Winform, чтобы обнаружить, если мое приложение открыто на Laptop или Workstation.

Я посмотрел на Environment и SystemInformation но напрасно. Был бы WMI добиться цели?

Спасибо за направление....


Согласно просьбе у меня есть приложение, которое использует Репликацию Слияния, чтобы позволить нашим пользователям работать в членских домах. Некоторые, кто использует программу, никогда не входят в поле, и как таковой только имеют башни. Это - РАБОТА только приложение, таким образом, нашими системами несколько управляют. Как в, никакой UPS на Рабочих столах и Никакой Ноутбук ЦП также.

Я имею, устанавливают мой DAL, чтобы смочь переключиться, базирующийся установка, между локальным SQL и Центральным SQL Server. Я хотел бы смочь установить это автоматически на основе там системы.

Если ноутбук затем они должны указывать локальный если башня, централизованно.

Это помогает? Я сознательно оставил его, прежде чем, чтобы не сделать создадут помехи ответам. Мои извинения за извинения за выполнение противоположного.

9
задан Refracted Paladin 14 May 2010 в 20:55
поделиться

5 ответов

Эту проблему действительно трудно решить из-за множества побочных случаев. Я не знаю, насколько точным должен быть результат для вашего приложения, но вот надежный способ узнать, находится ли пользователь на стереотипном ноутбуке.

Win32_Battery

Возможно, вы захотите взглянуть на EstimatedRunTime.

EstimatedRunTime

Тип данных: uint32
Тип доступа: Только для чтения

Оценка в минутах времени до исчерпания заряда батареи при

текущих условиях нагрузки, если питание отключено, или пропало и остается отключенным, или ноутбук отключен от источника питания. Это свойство унаследовано от CIM_Battery.

Вы также можете проверить:

Win32_PortableBattery

Кроме того, вот интересное обсуждение похожей проблемы и решение проблемы с UPS.

http://forum.bigfix.com/viewtopic.php?pid=19908

В частности:

"Microsoft ACPI-Compliant Control Method Battery"

Также, как отмечено в комментариях, вам придется учитывать пользователей на ноутбуке, подключенном к стене с отключенной батареей.

13
ответ дан 4 December 2019 в 08:50
поделиться

http://msdn.microsoft.com/en-us / library / Aa394474

, затем посмотрите

ChassisTypes

Value Meaning
1 Other
2 Unknown
3 Desktop
4 Low Profile Desktop
5 Pizza Box
6 Mini Tower
7 Tower
8 Portable
9 Laptop
10 Notebook
11 Hand Held
12 Docking Station
13 All in One
14 Sub Notebook
15 Space-Saving
16 Lunch Box
17 Main System Chassis
18 Expansion Chassis
19 SubChassis
20 Bus Expansion Chassis
21 Peripheral Chassis
22 Storage Chassis
4
ответ дан 4 December 2019 в 08:50
поделиться

Получите тип процессора, используя ( см. Этот вопрос ):

System.Environment.GetEnvironmentVariable ("PROCESSOR_ARCHITECTURE")

Если вы можете определить, что это мобильный процессор, у вас есть отвечать.

(Стоит отметить, что WMI предоставит вам более подробную информацию, как объясняется в вопросе, который я связал.)

3
ответ дан 4 December 2019 в 08:50
поделиться

Может быть, вы можете запросить информацию о батарее?

Посмотрите на this

0
ответ дан 4 December 2019 в 08:50
поделиться

На основании вашей обновленной информации у меня есть пара рекомендаций.

  1. Сделайте это настраиваемым параметром. Либо во время установки, либо при первом запуске спросите их, что это такое. Это будет намного точнее, чем предположение.

  2. Если у вас уже есть репликация слиянием ... Почему бы не рассматривать всех как отключенных / удаленных пользователей?

1
ответ дан 4 December 2019 в 08:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: