|
|
|
v8: Бесполезности для XP (WMI, WSH) | ☑ | ||
|---|---|---|---|---|
|
0
goodfella
25.07.05
✎
12:01
|
Logs=ПолучитьCOMОбъект("winmgmts:!\\.\root\cimv2");
Items=Logs.ExecQuery("Select * from Win32_OperatingSystem"); для каждого Item из Items цикл Сообщить("BootDevice:"+Item.BootDevice); Сообщить("BuildNumber:"+Item.BuildNumber); Сообщить("BuildType:"+Item.BuildType); Сообщить("Caption:"+Item.Caption); Сообщить("CodeSet:"+Item.CodeSet); Сообщить("CountryCode:"+Item.CountryCode); Сообщить("CreationClassName:"+Item.CreationClassName); Сообщить("CSCreationClassName:"+Item.CSCreationClassName); Сообщить("CSDVersion:"+Item.CSDVersion); Сообщить("CSName:"+Item.CSName); Сообщить("CurrentTimeZone:"+Item.CurrentTimeZone); Сообщить("Debug:"+Item.Debug); Сообщить("Description:"+Item.Description); Сообщить("Distributed:"+Item.Distributed); Сообщить("EncryptionLevel:"+Item.EncryptionLevel); Сообщить("ForegroundApplicationBoost:"+Item.ForegroundApplicationBoost); Сообщить("FreePhysicalMemory:"+Item.FreePhysicalMemory); Сообщить("FreeSpaceInPagingFiles:"+Item.FreeSpaceInPagingFiles); Сообщить("FreeVirtualMemory:"+Item.FreeVirtualMemory); Сообщить("InstallDate:"+Item.InstallDate); Сообщить("LargeSystemCache:"+Item.LargeSystemCache); Сообщить("LastBootUpTime:"+Item.LastBootUpTime); Сообщить("LocalDateTime:"+Item.LocalDateTime); Сообщить("Locale:"+Item.Locale); Сообщить("Manufacturer:"+Item.Manufacturer); Сообщить("MaxNumberOfProcesses:"+Item.MaxNumberOfProcesses); Сообщить("MaxProcessMemorySize:"+Item.MaxProcessMemorySize); Сообщить("Name:"+Item.Name); Сообщить("NumberOfLicensedUsers:"+Item.NumberOfLicensedUsers); Сообщить("NumberOfProcesses:"+Item.NumberOfProcesses); Сообщить("NumberOfUsers:"+Item.NumberOfUsers); Сообщить("Organization:"+Item.Organization); Сообщить("OSLanguage:"+Item.OSLanguage); Сообщить("OSProductSuite:"+Item.OSProductSuite); Сообщить("OSType:"+Item.OSType); Сообщить("OtherTypeDescription:"+Item.OtherTypeDescription); Сообщить("PlusProductID:"+Item.PlusProductID); Сообщить("PlusVersionNumber:"+Item.PlusVersionNumber); Сообщить("Primary:"+Item.Primary); Сообщить("ProductType:"+Item.ProductType); Сообщить("QuantumLength:"+Item.QuantumLength); Сообщить("QuantumType:"+Item.QuantumType); Сообщить("RegisteredUser:"+Item.RegisteredUser); Сообщить("SerialNumber:"+Item.SerialNumber); Сообщить("ServicePackMajorVersion:"+Item.ServicePackMajorVersion); Сообщить("ServicePackMinorVersion:"+Item.ServicePackMinorVersion); Сообщить("SizeStoredInPagingFiles:"+Item.SizeStoredInPagingFiles); Сообщить("Status:"+Item.Status); Сообщить("SuiteMask:"+Item.SuiteMask); Сообщить("SystemDevice:"+Item.SystemDevice); Сообщить("SystemDirectory:"+Item.SystemDirectory); Сообщить("SystemDrive:"+Item.SystemDrive); Сообщить("TotalSwapSpaceSize:"+Item.TotalSwapSpaceSize); Сообщить("TotalVirtualMemorySize:"+Item.TotalVirtualMemorySize); Сообщить("TotalVisibleMemorySize:"+Item.TotalVisibleMemorySize); Сообщить("Version:"+Item.Version); Сообщить("WindowsDirectory:"+Item.WindowsDirectory); Конеццикла; Вышеуказанный код возвращает кучу нужной и ненужной инфы по операционной системе. Тестировалось в XP prof, но вроде в 2000 тоже должно работать. |
|||
|
1
Ferz
25.07.05
✎
12:29
|
поумничаю
Проще For Each objProperty In Items Сообщить(objProperty.Name & vbTab & objProperty.Value) next |
|||
|
2
Ferz
25.07.05
✎
12:32
|
в 2000 работает однако надо смотреть права
|
|||
|
3
goodfella
25.07.05
✎
12:35
|
(1) Чего-то не работает так в 1С.
|
|||
|
4
Ferz
25.07.05
✎
12:37
|
работает примерно так в семерке
только там средствами SC формируешь строку а потом 1с из этой строки вытаскиваешь значения вообще мож дело в этом "& vbTab &" |
|||
|
5
goodfella
25.07.05
✎
12:38
|
(4) Покажи, как Items определяешь.
|
|||
|
6
Ferz
25.07.05
✎
12:43
|
(5) Измени
For Each objProperty In Items.Properties_ Сообщить(objProperty.Name & vbTab & objProperty.Value) next |
|||
|
7
Ferz
25.07.05
✎
12:43
|
.Properties_
Забыл дописать:))) |
|||
|
8
goodfella
25.07.05
✎
13:04
|
(6)(7) Покажи полный код для v8.
Если ты имеешь ввиду что-нибудь типа: Logs=ПолучитьCOMОбъект("winmgmts:!\\.\root\cimv2:Win32_OperatingSystem"); Сообщить("----------Свойства-----------"); Items=Logs.Properties_(); для каждого Item из Items цикл Сообщить(Item.Name); Конеццикла; То здесь Item.Value возвращает пустую строку. |
|||
|
9
Ferz
25.07.05
✎
13:08
|
для каждого Item из Logs.ExecQuery("Select * from Win32_OperatingSystem") цикл
для каждого objProperty из Item.Properties_ Сообщить(objProperty.Name & vbTab & objProperty.Value) next next |
|||
|
10
Ferz
25.07.05
✎
13:13
|
Смотри на проклубе там есть похожая обработка
для 8 получает свова всех классов для (.). |
|||
|
11
goodfella
25.07.05
✎
13:33
|
(9) С этим разобрался, вот для восьмерки код:
Класс="Win32_OperatingSystem"; Logs=ПолучитьCOMОбъект("winmgmts:!\\.\root\cimv2"); для каждого ItemName из Logs.ExecQuery("Select * from "+Класс) цикл для каждого Item из ItemName.Properties_() цикл Сообщить(Item.Name+" - "+Item.Value); конеццикла; Конеццикла; |
|||
|
12
goodfella
25.07.05
✎
13:35
|
(10) Обработку с проклуба не видел, но у меня получилось так:
Logs=ПолучитьCOMОбъект("winmgmts:!\\.\root\cimv2"); Classes=Logs.SubclassesOf(); Для каждого Class из Classes цикл Cl=Class.Path_.Path; Класс=Сред(Cl,Найти(Cl,":")+1); Сообщить("---------------------------------"); Сообщить(Класс); для каждого ItemName из Logs.ExecQuery("Select * from "+Класс) цикл для каждого Item из ItemName.Properties_() цикл ОбработкаПрерыванияПользователя(); Сообщить(Item.Name+" - "+Item.Value); конеццикла; Конеццикла; конеццикла; P.S. Работает очень долго :-) |
|||
|
13
Ferz
25.07.05
✎
14:07
|
ftp://80.73.192.43/files/computersysteminformation.epf
Да циклы бы поменять местами |
|||
|
14
Ferz
25.07.05
✎
14:08
|
||||
|
15
goodfella
25.07.05
✎
14:11
|
(14) Спасибо, это я видел, даже книжка Михайлова есть.
|
|||
|
16
Winston
25.07.05
✎
15:05
|
Гы. Прикольно параметры системы. Я себе отчетик по пользователям пытаюсь написать, 8.0 только начинаю изучать. Вот пока такую простенькую задачу нашел.
|
|||
|
17
Winston
25.07.05
✎
15:06
|
Гы. Прикольно параметры системы. Я себе отчетик по пользователям пытаюсь написать, 8.0 только начинаю изучать. Вот пока такую простенькую задачу нашел.
|
|||
|
18
France
25.07.05
✎
15:07
|
(16) ты издеваешся?.. смени ник...
|
|||
|
19
WMI
25.07.05
✎
15:16
|
Если интересно, что такое WMI (а разговор в ветке касается в основном этой технологии), посмотрите сюда:
http://www.script-coding.info/WMI.html P.S. Это не единственная статья по WMI на этом сайте. |
|||
|
20
Ferz
25.07.05
✎
15:26
|
||||
|
21
goodfella
25.07.05
✎
15:45
|
(19) Разговор не только о WMI, а об использовании возможностей Windows в 1с8.0
Например, эта команда уводит курсор в правый нижний угол экрана: ЗапуститьПриложение("rundll32.exe USER32.dll, SetCursorPos"); |
|||
|
22
WMI
25.07.05
✎
15:47
|
(21) А зачем нужно в 1с8.0 так нехорошо поступать с курсором? :)
|
|||
|
23
goodfella
25.07.05
✎
15:49
|
(22) Так просто. :-) Поэтому название темы "Бесполезности".
|
|||
|
24
goodfella
26.07.05
✎
09:12
|
Получаем переменные Windows XP:
WSH=Новый COMobject("wscript.shell"); Сообщить(WSH.ExpandEnvironmentStrings("%NUMBER_OF_PROCESSORS%")); Сообщить(WSH.ExpandEnvironmentStrings("%PROCESSOR_ARCHITECTURE%")); Сообщить(WSH.ExpandEnvironmentStrings("%PROCESSOR_IDENTIFIER%")); Сообщить(WSH.ExpandEnvironmentStrings("%PROCESSOR_LEVEL%")); Сообщить(WSH.ExpandEnvironmentStrings("%PROCESSOR_REVISION%")); Сообщить(WSH.ExpandEnvironmentStrings("%OS%")); Сообщить(WSH.ExpandEnvironmentStrings("%COMSPEC%")); Сообщить(WSH.ExpandEnvironmentStrings("%HOMEDRIVE%")); Сообщить(WSH.ExpandEnvironmentStrings("%HOMEPATH%")); Сообщить(WSH.ExpandEnvironmentStrings("%PATH%")); Сообщить(WSH.ExpandEnvironmentStrings("%PATHEXT%")); Сообщить(WSH.ExpandEnvironmentStrings("%PROMPT%")); Сообщить(WSH.ExpandEnvironmentStrings("%SYSTEMDRIVE%")); Сообщить(WSH.ExpandEnvironmentStrings("%SYSTEMROOT%")); Сообщить(WSH.ExpandEnvironmentStrings("%WINDIR%")); Сообщить(WSH.ExpandEnvironmentStrings("%TEMP%")); Сообщить(WSH.ExpandEnvironmentStrings("%TMP%")); |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |