Что нового

[Окна, Диалоги] Свойства Локального диска.

Anatol_awesome

Новичок
Сообщения
5
Репутация
0
Здравствуйте. Прошу помощи в написании скрипта.

Как получить свойства Локального диска (С:\), в частности вот это окно:
https://www.dropbox.com/s/huykjahbi9s1mxv/1.JPG
Снять галку.

Голову ломаю целый день. Помогите пожалуйста!

p.s. это надо проделать на 2500 машинах, руками делать очень больно)))
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
Anatol_awesome

Можно как-то так попробовать:
Код:
#include <WinAPIEx.au3>
Opt('WinTitleMatchMode', 2)

_WinAPI_ShellObjectProperties('C:\')

WinWait('[TITLE:Свойства; CLASS:#32770]', '')

ControlClick('[TITLE:Свойства; CLASS:#32770]', '', '[CLASS:Button; INSTANCE:6]', 'left', 1)
ControlClick('[TITLE:Свойства; CLASS:#32770]', '', '[CLASS:Button; INSTANCE:7]', 'left', 1)
WinWait('[TITLE:Подтверждение изменения атрибутов; CLASS:#32770]', '')
;ControlClick('[TITLE:Подтверждение изменения атрибутов; CLASS:#32770]', '', '[CLASS:Button; INSTANCE:3]', 'left', 1)

;~ While 1
;~     Sleep(100)
;~ WEnd


WinAPIEx.au3 качать отсюда http://autoit-script.ru/index.php/topic,47.0.html
положить рядом со скриптом или в папку Include в папке Autoit
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
Anatol_awesome,
Еще так можно открыть окно свойств диска.
Код:
;Ascend4nt http://www.autoitscript.com/forum/topic/118673-open-a-files-properties-window/#entry825420
;#RequireAdmin
Global $iObjError, $oObjError, $iErrorCount = 0, $hWin, $hWin1

$oObjError = ObjEvent('AutoIt.Error', '_ObjError')


$oShellApp = ObjCreate('shell.application')
If @error Then Exit 13
$aDrives = DriveGetDrive('FIXED')
If @error Then Exit 13
For $i = 1 To $aDrives[0]
	$hWin = 0
	$hWin1 = 0
	$oShellApp.namespace(0).parsename($aDrives[$i] & '\' ).invokeverb('Properties')
	If $iObjError Then
		$iObjError = 0
		$iErrorCount += 1
		ContinueLoop
	EndIf
	$hWin = WinWait('[Title:Свойства; Class:#32770]', '', 3)
	If Not $hWin Then
		$iErrorCount += 1
		ContinueLoop
	EndIf
	MsgBox(64, 'Info', WinGetTitle($hWin))
	WinClose($hWin)
Next
ConsoleWrite('Errors: ' & $iErrorCount & @LF)

Func _ObjError()
	ConsoleWrite('Object error Line: ' & $oObjError.scriptline & @LF)
	$iObjError = $oObjError.number
EndFunc   ;==>_ObjError
 
Автор
Anatol_awesome

Anatol_awesome

Новичок
Сообщения
5
Репутация
0
WSWR Спасибо Огромное!
madmasles Спасибо!

Очень признателен за помощь, Ребят!
Вот что вышло
Код:
#include <WinAPIEx.au3>
Opt('WinTitleMatchMode', 1)

_WinAPI_ShellGetSettings ('C:\')

WinWait('[TITLE:Свойства; CLASS:#32770]', '')

ControlClick('[TITLE:Свойства; CLASS:#32770]', '', '[CLASS:Button; INSTANCE:6]', 'left', 1)
ControlClick('[TITLE:Свойства; CLASS:#32770]', '', '[CLASS:Button; INSTANCE:9]', 'left', 1)

WinWait('[TITLE:Подтверждение изменения атрибутов; CLASS:#32770]', '')
ControlClick('[TITLE:Подтверждение изменения атрибутов; CLASS:#32770]', '', '[CLASS:Button; INSTANCE:3]', 'left', 1)


WinWait('[TITLE:Отказано в доступе; CLASS:#32770]', '')
ControlClick('[TITLE:Отказано в доступе; CLASS:#32770]', '', '[CLASS:Button; INSTANCE:1]', 'left', 1)

WinWait('[TITLE:Ошибка изменения атрибутов; CLASS:#32770]', '')
ControlClick('[TITLE:Ошибка изменения атрибутов; CLASS:#32770]', '', '[CLASS:Button; INSTANCE:2]', 'left', 1)

WinWait('[TITLE:Обработка; CLASS:#32770]','')
WinWaitClose('[TITLE:Обработка; CLASS:#32770]','')
 
Верх