Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript

Модерирует : ShIvADeSt

ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

WRFan



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ещё раз переписал скрипт для нормализации окон (см. внизу), добаил исправление размеров окна. для выяснения данных height и width использую WMI. вообще WMI - очень интересная штука, с её помощью можно делать, что угодно - мониторить изменение файлов, создание папок и файлов, читать реестр, писать в реестр, мониторить перформанс процессов и т.д. язык правда жуть какой тяжёлый. вчера 10 часов подряд писал скрипт для мониторинга создания файлов в определённой папке. весь скрипт на 102 строчки, да ещё и жрёт 70% cpu, если много файлов в папке. но всё равно интересно
 
WMI Reference: http://msdn2.microsoft.com/en-us/library/aa394572.aspx
WQL (SQL for WMI) Reference: http://msdn2.microsoft.com/en-us/library/aa394606.aspx
 

Код:
 
ON ERROR RESUME NEXT
set objShell = CreateObject("Shell.Application")
set objShellWindows = objShell.Windows
 
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_DisplayConfiguration")
For Each objItem in colItems
height =  objItem.PelsHeight
width = objItem.PelsWidth
Next
 
for each obj in objShellWindows
 
 
if obj.type = "HTML-Dokument" then
if (not Err = 430) then  'is the window IE or WE? WE Class doesnt support Automation, returning error 430
 
Err.Clear
 
if (objShellWindows.count > 0) and (obj.visible = false) then  
if (not Err = 424) then 'if invisible IE windows exist (an invisible InternetExplorer.Application might be in memory). Error 424 (Object required) means either no windows open, or the entire objShell crashed!
obj.visible = true
end if
end if
 
obj.fullscreen = false
obj.resizable = true
obj.menubar = true
obj.statusbar = true
obj.theatermode = false
obj.toolbar = true
obj.addressbar = true
obj.statustext = "" ' doesnt work properly!
obj.height = height 'if resolution height is e.g. 840, actual height is 842. Everything above 833 is ignored and set to 842
obj.width = width
 
end if
end if
 
Err.Clear
 
next
set objShellWindows = nothing
set objShell = nothing
 
'For testing the script with invisible IE windows use the following script:
 
'Set objIE = WScript.CreateObject("InternetExplorer.Application","objIE_")
'objIE.visible = false
'msgbox objShellWindows.count
 
'Execute the Window Normalisation Script BEFORE clicking away the msgbox!
 

Всего записей: 5275 | Зарегистр. 25-11-2002 | Отправлено: 02:51 28-12-2006 | Исправлено: WRFan, 02:56 28-12-2006
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript
ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru