Мне нужен путь к моему приложению.Net Winform, чтобы обнаружить, если мое приложение открыто на Laptop или Workstation.
Я посмотрел на Environment
и SystemInformation
но напрасно. Был бы WMI
добиться цели?
Спасибо за направление....
Согласно просьбе у меня есть приложение, которое использует Репликацию Слияния, чтобы позволить нашим пользователям работать в членских домах. Некоторые, кто использует программу, никогда не входят в поле, и как таковой только имеют башни. Это - РАБОТА только приложение, таким образом, нашими системами несколько управляют. Как в, никакой UPS на Рабочих столах и Никакой Ноутбук ЦП также.
Я имею, устанавливают мой DAL, чтобы смочь переключиться, базирующийся установка, между локальным SQL и Центральным SQL Server. Я хотел бы смочь установить это автоматически на основе там системы.
Если ноутбук затем они должны указывать локальный если башня, централизованно.
Это помогает? Я сознательно оставил его, прежде чем, чтобы не сделать создадут помехи ответам. Мои извинения за извинения за выполнение противоположного.
Эту проблему действительно трудно решить из-за множества побочных случаев. Я не знаю, насколько точным должен быть результат для вашего приложения, но вот надежный способ узнать, находится ли пользователь на стереотипном ноутбуке.
Возможно, вы захотите взглянуть на EstimatedRunTime.
EstimatedRunTime
Тип данных: uint32 Тип доступа: Только для чтения Оценка в минутах времени до исчерпания заряда батареи при
текущих условиях нагрузки, если питание отключено, или пропало и остается отключенным, или ноутбук отключен от источника питания. Это свойство унаследовано от CIM_Battery.
Вы также можете проверить:
Кроме того, вот интересное обсуждение похожей проблемы и решение проблемы с UPS.
http://forum.bigfix.com/viewtopic.php?pid=19908
В частности:
"Microsoft ACPI-Compliant Control Method Battery"
Также, как отмечено в комментариях, вам придется учитывать пользователей на ноутбуке, подключенном к стене с отключенной батареей.
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
Получите тип процессора, используя ( см. Этот вопрос ):
System.Environment.GetEnvironmentVariable ("PROCESSOR_ARCHITECTURE")
Если вы можете определить, что это мобильный процессор, у вас есть отвечать.
(Стоит отметить, что WMI предоставит вам более подробную информацию, как объясняется в вопросе, который я связал.)
Может быть, вы можете запросить информацию о батарее?
Посмотрите на this
На основании вашей обновленной информации у меня есть пара рекомендаций.
Сделайте это настраиваемым параметром. Либо во время установки, либо при первом запуске спросите их, что это такое. Это будет намного точнее, чем предположение.
Если у вас уже есть репликация слиянием ... Почему бы не рассматривать всех как отключенных / удаленных пользователей?