Что нового

Можно ли программно узнать что Google Chrome запущен с параметром force-rendere

dr.room

Новичок
Сообщения
283
Репутация
0
Всем привет
Можно ли программно узнать что Google Chrome запущен с параметром force-renderer-accessibility?
Спасибо
 
Автор
D

dr.room

Новичок
Сообщения
283
Репутация
0
Спасибо,Tempo !
Требует WinAPIHObj.au3 - у меня нет такой, не подскажете где взять? :(
ps
А Вы примерчик для моего вопроса - не дадите ? :-[
 

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
dr.room, установите последнюю версию AutoIt

Код:
#RequireAdmin
#include <Array.au3>
#include <WinAPIHObj.au3>
#include <WinAPIProc.au3>

Local $aAdjust, $aList

Local $hToken = _WinAPI_OpenProcessToken(BitOR($TOKEN_ADJUST_PRIVILEGES, $TOKEN_QUERY))

_WinAPI_AdjustTokenPrivileges($hToken, $SE_DEBUG_NAME, $SE_PRIVILEGE_ENABLED, $aAdjust)

If Not (@error Or @extended) Then
	$aList = ProcessList("chrome.exe")
	For $i = 1 To $aList[0][0]
		$aList[$i][1] = StringInStr(_WinAPI_GetProcessCommandLine($aList[$i][1]), "--force-renderer-accessibility") ? True : False
	Next
EndIf

_WinAPI_AdjustTokenPrivileges($hToken, $aAdjust, 0, $aAdjust)
_WinAPI_CloseHandle($hToken)

_ArrayDisplay($aList, '_WinAPI_GetProcessCommandLine')
 
Автор
D

dr.room

Новичок
Сообщения
283
Репутация
0
Спасибо
Нет ли возможности вместо ввода таблицы процессов - вывести msgbox если не найдено Google Chrome с параметром force-renderer-accessibility?
 

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
dr.room, предлагаю вам попробовать сделать это самостоятельно
 
Автор
D

dr.room

Новичок
Сообщения
283
Репутация
0
Tempo
Что же - спасибо. конечно, что вы обратились именно ко мне.
Но мой уровень подготовки - не соответствует задаче ;)
 

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
Код:
#RequireAdmin
#include <MsgBoxConstants.au3>
#include <WinAPIHObj.au3>
#include <WinAPIProc.au3>

If Not _FindProcWithCmd("chrome.exe", "--force-renderer-accessibility") Then Exit MsgBox($MB_ICONERROR + $MB_TOPMOST, "Ошибка", 'Процесс "chrome.exe" с параметром командной строки "--force-renderer-accessibility" не найден')

Func _FindProcWithCmd($sProc, $sCmd)
	Local $iPID, $iError, $aAdjust, $aProcs, $hToken
	$iPID = 0
	$hToken = _WinAPI_OpenProcessToken(BitOR($TOKEN_ADJUST_PRIVILEGES, $TOKEN_QUERY))
	_WinAPI_AdjustTokenPrivileges($hToken, $SE_DEBUG_NAME, $SE_PRIVILEGE_ENABLED, $aAdjust)
	If @error Or @extended Then $iError = @error
	$aProcs = ProcessList($sProc)
	If @error Then $iError = @error
	If Not $iError Then
		For $i = 1 To $aProcs[0][0]
			If StringInStr(_WinAPI_GetProcessCommandLine($aProcs[$i][1]), $sCmd) Then $iPID = $aProcs[$i][1]
		Next
	EndIf
	_WinAPI_AdjustTokenPrivileges($hToken, $aAdjust, 0, $aAdjust)
	_WinAPI_CloseHandle($hToken)
	Return SetError($iError, 0, $iPID)
EndFunc   ;==>_FindProcWithCmd
 
Автор
D

dr.room

Новичок
Сообщения
283
Репутация
0
Большое спасибо, Tempo!
Даже без админ прав работает!
 
Верх