Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Вывод значений определенного ключа реестра на экран (http://forum.oszone.net/showthread.php?t=236568)

VoinLuny 13-06-2012 14:17 1933459

Вывод значений определенного ключа реестра на экран
 
Дорогие форумчане!
Снова взываю к вашей помощи!
Нужен батник который покажет текущее разрешение в десятеричной системе.
Благодаря многоуважаемому Iska я сумел перейти в нужную ветку http://forum.oszone.net/thread-235369.html
Код:

@echo off
setlocal enableextensions enabledelayedexpansion

set sPath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\0001\System\CurrentControlSet\Control\VIDEO

for /f "delims==" %%i in ('reg.exe query "%sPath%" ^| find.exe "{"') do (
        reg.exe query "%%i" >> tmp.txt && set sPath2=%%i\0000
        goto :Teminate
)

:Teminate
for /f "delims==" %%y in ('reg.exe query "%sPath2%" ^| find.exe "Mon"') do (
        reg.exe query "%%y" >> tmp.txt && set sPath3=%%y
        goto :Teminate2
pause
)

:Teminate2
echo INFO: Dannye hranyatsya v vetke %sPath3%
pause


endlocal


pause
exit /b 0

rem Перенаправление вывода в temp.txt для того, чтобы не засорять окно ненужными данными

теперь проблема следующая: как вытащить 2 параметра: DefaultSettings.XResolution и DefaultSettings.YResolution причем чтобы они отобразились в виде 1024 и 768 а не 0x*****. Помогите пожалуйста!

Iska 13-06-2012 15:31 1933521

VoinLuny, быть может, будет вариант проще. Что это такое (каков физический смысл):
Цитата:

Цитата VoinLuny
DefaultSettings.XResolution и DefaultSettings.YResolution »

и почему Вы их извлекаете именно из реестра?

RostVY 13-06-2012 16:50 1933569

Код:

wmic desktopmonitor get screenheight, screenwidth

VoinLuny 13-06-2012 16:51 1933570

Iska, потому что на мой взгляд это наиболее универсальный источник подобной информации. Предложите другой вариант, если он у Вас есть, и если он будет проще - я им с удовольствием воспользуюсь, хотя, говоря по правде, хотелось бы уже завершить данным методом.

Iska 13-06-2012 17:24 1933584

VoinLuny, вопрос был про:
Цитата:

Цитата Iska
Что это такое (каков физический смысл): »

Если про то, что я думаю — коллега RostVY выше предложил вариант.

VoinLuny 13-06-2012 17:54 1933612

Iska, что Вы подразумеваете под физическим смыслом? Для чего вообще всё это надо?
:offtopic: Поясню:
В универе дали задание по предмету УИРС(Учебно-исследовательская работа студента) заделать такую программу, которая будет выводить на экран информацию о графических настройках: Расширение, глубина и т.д....
При этом реализация на любом языке программирования но без применения сторонних библиотек.
Поскольку я человек далекий от программирования, но имевший некий опыт общения с .bat и примерно представлявший себе, что это такое - я решил именно посредством .bat файла и реализовать данное задание. Источником, по объективным причинам, я выбрал реестр, как источник наиболее полной и точной информации обо всем, что только можно захотеть узнать о данном компьютере.

Вот вам суть.
Смысл всех моих извращений, так сказать. Искренне надеюсь на вашу помощь. Метод предложенный RostVY, безусловно действенен, но мне кажется, что преподавателя смутит программа из 2 строчек кода, хотелось бы добить уже методом, который я выбрал изначально.

RostVY 13-06-2012 18:11 1933628

если 2 строчки вас смущают и "реализация на любом языке программирования", могу предложить на Delphi на больше строчек

Код:

program scr;
{$APPTYPE CONSOLE}
uses
  Windows,  SysUtils, Forms;

var TempDC: HDC;
begin
  TempDC:=GetDC(GetDesktopWindow);
  writeln(IntToStr( Screen.Width )+' x '+IntToStr( Screen.Height ) + ' x ' + IntToStr(GetDeviceCaps(TempDC, BITSPIXEL)));
end.


VoinLuny 13-06-2012 18:13 1933630

RostVY, Благодарю, это хорший вариант, НО
я помимо того, что хочу выполнить задание - хочу и понять для себя, как это делать. Это опыт. Просто поскольку я новичок, мне нужна помощь. У Вас нет идей, как бы добить вариант с батником? Вариант с дельфи я оставлю, на крайний случай, спасибо! :)

Foreigner 13-06-2012 19:11 1933651

VoinLuny,
Код:

@echo off
setlocal

set "wmic=wmic desktopmonitor get screenheight, screenwidth /value"

for /f %%i in (' "%wmic%" ') do 1>nul set "%%i"

echo %screenwidth%x%screenheight%


Iska 13-06-2012 19:31 1933661

Цитата:

Цитата VoinLuny
Метод предложенный RostVY, безусловно действенен, но мне кажется, что преподавателя смутит программа из 2 строчек кода, »

Если преподаватель вменяемый — то не смутит: Wbem — это стандарт. Смотрите предыдущий пост коллеги Foreigner.

Цитата:

Цитата VoinLuny
заделать такую программу, которая будет выводить на экран информацию о графических настройках: Расширение, глубина и т.д.... »

Выбирайте:
Код:

wmic.exe DesktopMonitor get /value
wmic.exe Path Win32_DisplayConfiguration get /value
wmic.exe Path Win32_DisplayControllerConfiguration get /value
wmic.exe Path Win32_VideoController get /value
wmic.exe Path Win32_VideoController assoc /ResultClass:CIM_VideoControllerResolution

Можно сделать и на WSH/PoSH.

VoinLuny 13-06-2012 22:02 1933718

Foreigner, Iska, я вполне четко изложил то, что мне необходимо. ПОЖАЛУЙСТА, помогите мне реализовать мой метод. Там ведь осталось совсем немного...мне просто нужна подсказка. Как вывести на экран значение ключа реестра? wmic это хорошо, но мы не ищем легких путей :)

Iska 13-06-2012 22:47 1933739

Код:

@echo off
setlocal enableextensions enabledelayedexpansion

set sPath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\0001\System\CurrentControlSet\Control\VIDEO

for /f "delims=" %%i in ('reg.exe query "%sPath%" ^| find.exe "{"') do (
        for /f "tokens=1,3 delims=        " %%j in (
                'reg.exe query "%%i\0000" ^| findstr.exe /i /c:"DefaultSettings.XResolution" /c:"DefaultSettings.YResolution"'
        ) do set /a i%%j = %%k
       
        goto :Teminate
)

:Teminate
if defined iDefaultSettings.XResolution echo XResolution: %iDefaultSettings.XResolution%
if defined iDefaultSettings.YResolution echo YResolution: %iDefaultSettings.YResolution%

endlocal
exit /b 0

Вопрос остаётся тем же — каков физический смысл этих величин?

VoinLuny 13-06-2012 22:57 1933747

Iska, Вы как преподаватель по физике :)
Я, по правде говоря, не понимаю, что Вы хотите услышать :)
Что определяют эти параметры? Что меняется при их изменении?
Словосочетание физический смысл применимо к разрешению экрана для меня как производная от супа :)

Iska 13-06-2012 23:26 1933761

Цитата:

Цитата VoinLuny
Iska, Вы как преподаватель по физике
Я, по правде говоря, не понимаю, что Вы хотите услышать
Что определяют эти параметры? Что меняется при их изменении? »

VoinLuny, у меня, например, отображается 800x600 (а у Вас?). И мне сие ни о чём не говорит. Вот придёт lxa85, он Вам объяснит, что преподаватель первым делом спросит у Вас — «А что это за цифры?» И что Вы ему ответите?

VoinLuny 13-06-2012 23:39 1933763

Что разрешение экрана - величина показывающая какое количество точек растрового изображения (пикселей) умещается на единицу площади (в некоторых случаях длины) данного устройства отображения. (Википедия)
А чем всё-таки был вызван данный вопрос? Преподавателя в первую очередь интересует, чтобы информация, которую он хочет получить, отображалась и отображалась корректно. Ему не интересно спрашивать каждого, кто принес ему такую программу, что такое разрешение. Это несколько не его предмет :)

Iska 13-06-2012 23:56 1933778

Цитата:

Цитата VoinLuny
А чем всё-таки был вызван данный вопрос? »

Тем, что мне непонятно, что это за цифры. Это не текущее моё разрешение, не минимально/максимально возможное. Вот я и спрашиваю — что это за цифры. Понятно, что это разрешение. Но — какое? Что эти цифры означают в реальности? Вы можете сказать? Я — не могу.

Вы, кстати, не написали, что показывает данный пакетный файл у Вас.

VoinLuny 14-06-2012 00:01 1933781

Iska, Ну с учетом конфигурации моего компьютера - это всё же моё текущее разрешение должно отображаться. Данная программа пока не запускалась на тестовой машине, поэтому дать её вывод пока не могу (сейчас пишу с другого компьютера). Я думаю Вы прекрасно понимаете, что на каждом компьютере свой реестр и не существует двух идентичных. Я пишу программу сейчас под свой нетбук, чтобы на нем показать работоспособную программу преподавателю. Чтобы написать универсальную программу - нужно больше сил и времени - сейчас несколько не до того.

Iska 14-06-2012 02:15 1933831

Не должно быть никакой разницы, с какой машины запускать пакетный файл. Сие на конечный результат не должно влиять. Иначе получается не программа, а вывод единственного, заранее известного, результата.

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

VoinLuny 14-06-2012 02:22 1933832

Iska, а всё просто. На этой машине она не работает, по той причине, что разделы реестра называются по разному и в программе указаны разделы для реестра нетбука. Например тот самый проблемный раздел из прошлой нашей с Вами темы, который начинается с { он всегда разный и их может быть несколько. Может быть не только 0000 но и 0001 и т.д....для того, чтобы Ваш код заработал на моем текущем компьютере, его нужно преобразовывать. Например
Код:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\0001\System\CurrentControlSet\Control\VIDEO
у меня но компьютере пуст. Поэтому завтра я уже смогу протестировать все на конечной машине, на которой кстати так же используется 0000 а не 0001 профиль и предоставлю Вам на суд результаты :)

Iska 14-06-2012 02:37 1933837

VoinLuny, ну, так я свою речь веду как раз о том. Нужно определить, почему на одной машине «0000», на другой «0001» и что-нибудь ещё — на третьей. Определить, какие значения подразделов могут быть. Научиться выбирать среди них правильный. Тогда получится программа. А так… :wild:

VoinLuny 14-06-2012 02:49 1933839

Iska, У меня есть ответы на Ваши вопросы :)
0000, 0001 и т.д. - профили, соответствующие профилям локальных пользователей (насколько я разумею)
Разделы {абракадабра} - это если я ничего не путаю, идентификаторы оборудования, которое используется (в данном случае видеокарты).
В принципе, чтобы не мучиться с выбором из 0000 и т.д. можно попробовать пролезть через HKCU поскольку там загружена конфигурация текущего пользователя и соответственно его id там должен отображаться, но его там нет...
В общем можно будет над этим всем подумать, и если Вы мне поможете сделать нормальную программу, работающую на всех ПК с Win7 будет очень здорово и я буду очень благодарен.
Но это завтра. Доброй ночи!

Iska 14-06-2012 03:55 1933844

Цитата:

Цитата VoinLuny
0000, 0001 и т.д. - профили, соответствующие профилям локальных пользователей (насколько я разумею) »

Ответ неверный ;).

Цитата:

Цитата VoinLuny
нормальную программу, работающую на всех ПК с Win7 »

Вам уже предлагали выше сделать сие на основе Wbem. Вы захотели по-своему.

Вот Вам навскидку скрипты WSH, сгенерированные посредством «WMI Code Creator»:
читать дальше »
Код:

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_VideoController",,48)
For Each objItem in colItems
    Wscript.Echo "-----------------------------------"
    Wscript.Echo "Win32_VideoController instance"
    Wscript.Echo "-----------------------------------"
    If isNull(objItem.AcceleratorCapabilities) Then
        Wscript.Echo "AcceleratorCapabilities: "
    Else
        Wscript.Echo "AcceleratorCapabilities: " & Join(objItem.AcceleratorCapabilities, ",")
    End If
    Wscript.Echo "AdapterCompatibility: " & objItem.AdapterCompatibility
    Wscript.Echo "AdapterDACType: " & objItem.AdapterDACType
    Wscript.Echo "AdapterRAM: " & objItem.AdapterRAM
    Wscript.Echo "Availability: " & objItem.Availability
    If isNull(objItem.CapabilityDescriptions) Then
        Wscript.Echo "CapabilityDescriptions: "
    Else
        Wscript.Echo "CapabilityDescriptions: " & Join(objItem.CapabilityDescriptions, ",")
    End If
    Wscript.Echo "Caption: " & objItem.Caption
    Wscript.Echo "ColorTableEntries: " & objItem.ColorTableEntries
    Wscript.Echo "ConfigManagerErrorCode: " & objItem.ConfigManagerErrorCode
    Wscript.Echo "ConfigManagerUserConfig: " & objItem.ConfigManagerUserConfig
    Wscript.Echo "CreationClassName: " & objItem.CreationClassName
    Wscript.Echo "CurrentBitsPerPixel: " & objItem.CurrentBitsPerPixel
    Wscript.Echo "CurrentHorizontalResolution: " & objItem.CurrentHorizontalResolution
    Wscript.Echo "CurrentNumberOfColors: " & objItem.CurrentNumberOfColors
    Wscript.Echo "CurrentNumberOfColumns: " & objItem.CurrentNumberOfColumns
    Wscript.Echo "CurrentNumberOfRows: " & objItem.CurrentNumberOfRows
    Wscript.Echo "CurrentRefreshRate: " & objItem.CurrentRefreshRate
    Wscript.Echo "CurrentScanMode: " & objItem.CurrentScanMode
    Wscript.Echo "CurrentVerticalResolution: " & objItem.CurrentVerticalResolution
    Wscript.Echo "Description: " & objItem.Description
    Wscript.Echo "DeviceID: " & objItem.DeviceID
    Wscript.Echo "DeviceSpecificPens: " & objItem.DeviceSpecificPens
    Wscript.Echo "DitherType: " & objItem.DitherType
    Wscript.Echo "DriverDate: " & objItem.DriverDate
    Wscript.Echo "DriverVersion: " & objItem.DriverVersion
    Wscript.Echo "ErrorCleared: " & objItem.ErrorCleared
    Wscript.Echo "ErrorDescription: " & objItem.ErrorDescription
    Wscript.Echo "ICMIntent: " & objItem.ICMIntent
    Wscript.Echo "ICMMethod: " & objItem.ICMMethod
    Wscript.Echo "InfFilename: " & objItem.InfFilename
    Wscript.Echo "InfSection: " & objItem.InfSection
    Wscript.Echo "InstallDate: " & objItem.InstallDate
    Wscript.Echo "InstalledDisplayDrivers: " & objItem.InstalledDisplayDrivers
    Wscript.Echo "LastErrorCode: " & objItem.LastErrorCode
    Wscript.Echo "MaxMemorySupported: " & objItem.MaxMemorySupported
    Wscript.Echo "MaxNumberControlled: " & objItem.MaxNumberControlled
    Wscript.Echo "MaxRefreshRate: " & objItem.MaxRefreshRate
    Wscript.Echo "MinRefreshRate: " & objItem.MinRefreshRate
    Wscript.Echo "Monochrome: " & objItem.Monochrome
    Wscript.Echo "Name: " & objItem.Name
    Wscript.Echo "NumberOfColorPlanes: " & objItem.NumberOfColorPlanes
    Wscript.Echo "NumberOfVideoPages: " & objItem.NumberOfVideoPages
    Wscript.Echo "PNPDeviceID: " & objItem.PNPDeviceID
    If isNull(objItem.PowerManagementCapabilities) Then
        Wscript.Echo "PowerManagementCapabilities: "
    Else
        Wscript.Echo "PowerManagementCapabilities: " & Join(objItem.PowerManagementCapabilities, ",")
    End If
    Wscript.Echo "PowerManagementSupported: " & objItem.PowerManagementSupported
    Wscript.Echo "ProtocolSupported: " & objItem.ProtocolSupported
    Wscript.Echo "ReservedSystemPaletteEntries: " & objItem.ReservedSystemPaletteEntries
    Wscript.Echo "SpecificationVersion: " & objItem.SpecificationVersion
    Wscript.Echo "Status: " & objItem.Status
    Wscript.Echo "StatusInfo: " & objItem.StatusInfo
    Wscript.Echo "SystemCreationClassName: " & objItem.SystemCreationClassName
    Wscript.Echo "SystemName: " & objItem.SystemName
    Wscript.Echo "SystemPaletteEntries: " & objItem.SystemPaletteEntries
    Wscript.Echo "TimeOfLastReset: " & objItem.TimeOfLastReset
    Wscript.Echo "VideoArchitecture: " & objItem.VideoArchitecture
    Wscript.Echo "VideoMemoryType: " & objItem.VideoMemoryType
    Wscript.Echo "VideoMode: " & objItem.VideoMode
    Wscript.Echo "VideoModeDescription: " & objItem.VideoModeDescription
    Wscript.Echo "VideoProcessor: " & objItem.VideoProcessor
Next

Код:

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_DesktopMonitor",,48)
For Each objItem in colItems
    Wscript.Echo "-----------------------------------"
    Wscript.Echo "Win32_DesktopMonitor instance"
    Wscript.Echo "-----------------------------------"
    Wscript.Echo "Availability: " & objItem.Availability
    Wscript.Echo "Bandwidth: " & objItem.Bandwidth
    Wscript.Echo "Caption: " & objItem.Caption
    Wscript.Echo "ConfigManagerErrorCode: " & objItem.ConfigManagerErrorCode
    Wscript.Echo "ConfigManagerUserConfig: " & objItem.ConfigManagerUserConfig
    Wscript.Echo "CreationClassName: " & objItem.CreationClassName
    Wscript.Echo "Description: " & objItem.Description
    Wscript.Echo "DeviceID: " & objItem.DeviceID
    Wscript.Echo "DisplayType: " & objItem.DisplayType
    Wscript.Echo "ErrorCleared: " & objItem.ErrorCleared
    Wscript.Echo "ErrorDescription: " & objItem.ErrorDescription
    Wscript.Echo "InstallDate: " & objItem.InstallDate
    Wscript.Echo "IsLocked: " & objItem.IsLocked
    Wscript.Echo "LastErrorCode: " & objItem.LastErrorCode
    Wscript.Echo "MonitorManufacturer: " & objItem.MonitorManufacturer
    Wscript.Echo "MonitorType: " & objItem.MonitorType
    Wscript.Echo "Name: " & objItem.Name
    Wscript.Echo "PixelsPerXLogicalInch: " & objItem.PixelsPerXLogicalInch
    Wscript.Echo "PixelsPerYLogicalInch: " & objItem.PixelsPerYLogicalInch
    Wscript.Echo "PNPDeviceID: " & objItem.PNPDeviceID
    If isNull(objItem.PowerManagementCapabilities) Then
        Wscript.Echo "PowerManagementCapabilities: "
    Else
        Wscript.Echo "PowerManagementCapabilities: " & Join(objItem.PowerManagementCapabilities, ",")
    End If
    Wscript.Echo "PowerManagementSupported: " & objItem.PowerManagementSupported
    Wscript.Echo "ScreenHeight: " & objItem.ScreenHeight
    Wscript.Echo "ScreenWidth: " & objItem.ScreenWidth
    Wscript.Echo "Status: " & objItem.Status
    Wscript.Echo "StatusInfo: " & objItem.StatusInfo
    Wscript.Echo "SystemCreationClassName: " & objItem.SystemCreationClassName
    Wscript.Echo "SystemName: " & objItem.SystemName
Next

Код:

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM CIM_VideoControllerResolution",,48)
For Each objItem in colItems
    Wscript.Echo "-----------------------------------"
    Wscript.Echo "CIM_VideoControllerResolution instance"
    Wscript.Echo "-----------------------------------"
    Wscript.Echo "Caption: " & objItem.Caption
    Wscript.Echo "Description: " & objItem.Description
    Wscript.Echo "HorizontalResolution: " & objItem.HorizontalResolution
    Wscript.Echo "MaxRefreshRate: " & objItem.MaxRefreshRate
    Wscript.Echo "MinRefreshRate: " & objItem.MinRefreshRate
    Wscript.Echo "NumberOfColors: " & objItem.NumberOfColors
    Wscript.Echo "RefreshRate: " & objItem.RefreshRate
    Wscript.Echo "ScanMode: " & objItem.ScanMode
    Wscript.Echo "SettingID: " & objItem.SettingID
    Wscript.Echo "VerticalResolution: " & objItem.VerticalResolution
Next

Поскольку Вы таки озвучили версию ОС — в последнем посте, то в примерах не будет классов Win32_DisplayConfiguration и Win32_DisplayControllerConfiguration — они более не поддерживаются.

Это, конечно, не готовые скрипты, генератор есть генератор, но дадут Вам возможность посмотреть, как оно работает.

VoinLuny 14-06-2012 13:07 1934049

Iska,
Цитата:

Цитата Iska
Ответ неверный . »

Вы можете назвать правильный? На основании чего Вы утверждаете, что я не прав? :)
Цитата:

Цитата Iska
Вам уже предлагали выше сделать сие на основе Wbem. Вы захотели по-своему. »

И до сих пор хочу :) И если правильно истолковал Ваши слова - Вы готовы мне помочь. Или нет?

Iska 14-06-2012 13:59 1934072

Цитата:

Цитата VoinLuny
На основании чего Вы утверждаете, что я не прав? »

Как насчёт:
Chapter 23 - Overview of the Windows NT Registry
Predefined Keys
CurrentControlSet\Hardware Profiles: Core Services
?!

Цитата:

Цитата VoinLuny
И если правильно истолковал Ваши слова - Вы готовы мне помочь. »

Правильно истолковали.

Вы опробовали сгенерированные скрипты?

VoinLuny 14-06-2012 14:04 1934078

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

VoinLuny 14-06-2012 17:33 1934213

Цитата:

Цитата Iska
Вы, кстати, не написали, что показывает данный пакетный файл у Вас. »

1024 & 768

Foreigner 14-06-2012 18:52 1934264

VoinLuny

Цитата:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\0001\System\CurrentControlSet\Control\VIDEO
У меня нет тех параметров, что ты ищешь. Мне кажется, что это неправильный метод или надо искать в других ключах:
Код:

> reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\0001\System\CurrentControlSet\Control\VIDEO" /s

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\0001\System\CurrentControlSet\Control\VIDEO\{17058D00-53E8-487C-AED1-89FDF2F9D746}

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\0001\System\CurrentControlSet\Control\VIDEO\{17058D00-53E8-487C-AED1-89FDF2F9D746}\0000
    Attach.ToDesktop    REG_DWORD    0x1

Только Attach.ToDesktop

Батник может выглядеть так ( на тестовом ключе )
Код:

@echo off
setlocal

:: Создаю тестовый ключ ( что бы было понятно )

reg add hkcu\test\video /v X.Defaults /t reg_dword /d 0x556
reg add hkcu\test\video /v Y.Defaults /t reg_dword /d 0x300


:: Сам батник

for /f "tokens=1,3" %%i in (' reg query "hkcu\test\video" /v X.Defaults ') do set /a %%i=%%j+0
for /f "tokens=1,3" %%i in (' reg query "hkcu\test\video" /v Y.Defaults ') do set /a %%i=%%j+0

echo %X.Defaults%x%Y.Defaults%


VoinLuny 14-06-2012 21:50 1934368

Foreigner, а какая у Вас ОС?

Foreigner 14-06-2012 21:53 1934372

Цитата:

Цитата VoinLuny
какая у Вас ОС? »

Win 7 HP x64

VoinLuny 14-06-2012 22:03 1934380

странно...мне казалось, что я не плохо знаю структуру реестра...надо будет ещё раз пересмотреть материал. Но боюсь, что сегодня не смогу этим заняться, времени к сожалению не много. Думаю завтра вечером смогу уже точно определить какой именно раздел реестра хранит параметры экрана текущего пользователя (в HKCU не нашел пока, я знаю, что всё про текущего юзера там дублируется.) и тогда можно будет вести работу в этом направлении. А пока у меня есть временное решение, тупо для того, чтобы сдать преподу, если мы к контрольному сроку ничего не надумаем:
В моём исходном коде в первом сообщении этой темы выводятся в файл temp.txt все настройки экрана. Из него и можно взять значения и просто перевести в 10-ричную систему.

Кстати, 2 Iska, я попробовал первый WSH скрипт сохранить в .js и запустить, выдал ошибку, что во второй строке, в 5 символе вроде, предполагается наличие ";".

Вот, на сегодня пожалуй всё, завтра обязательно продолжим, и надеюсь, что у нас всё получится, огромное всем спасибо за внимание и желание помочь, я это очень ценю, ещё раз спасибо!! :clapping:
До завтра.

Iska 15-06-2012 00:02 1934431

Цитата:

Цитата VoinLuny
Iska, я попробовал первый WSH скрипт сохранить в .js »

Дайте скрипту расширение «.vbs». Опробуйте. Отпишитесь, какие данные Вам будут гожи. Тогда мы скрипты объединим, облагородим, приведём в божеский вид. Имейте в виду, что Wbem позволяет опрашивать не только локальную систему, но и удалённую (при наличии соответствующих прав на ней и разрешений).

Цитата:

Цитата VoinLuny
В моём исходном коде в первом сообщении этой темы выводятся в файл temp.txt все настройки экрана. »

У меня есть большие сомнения, что мы запрашиваем данные в нужном месте.


Время: 17:06.

Время: 17:06.
© OSzone.net 2001-