1

Тема: VBScript: вывод текста и графич. примитивов на экране через Win32 API

Автор примера - Poltergeyst.
Скрипт симулирует всплывающее окно с текстом в действительном контексте экрана. Работает под Win98 и WinXP. Потребуется библиотека dynwrap.dll.

'Нет гарантий!Используете на свой страх и риск.
'-----------------------------------------------------------------
'Пример симуляции всплывающего окна содержащего текстовые
'данные в действительный контекст экрана.
'-----------------------------------------------------------------
'Language:    VBScript
'Используется библиотека dynwrap.dll
'-----------------------------------------------------------------
'ОС Win98 4.10.2222
'-----------------------------------------------------------------
'[Создание основных объектов и объявление переменных]
on Error resume Next    

    set fso        =CreateObject("Scripting.FileSystemObject")
        if not IsObject(fso) then comErro("Scripting.FileSystemObject")

    set nWork    =CreateObject("WScript.Network")
        if not IsObject(nWork) then comErro("WScript.Network")

    dim hDC

    getSystemInformation()

'-----------------------------------------------------------------
'Некоторые данные о вашем компьютере
'-----------------------------------------------------------------
function getSystemInformation()
'-----------------------------------------------------------------
'[Получение дескриптора общего контекста экрана]
set dllWrap=CreateObject("DynamicWrapper")

'Регистрация вызова API
dllWrap.Register _
    "USER32.DLL", _
    "GetWindowDC", _
    "i=h", _
    "f=s", _
    "r=h"

'Вызов API
hDC=dllWrap.GetWindowDC(Null)

set dllWrap=Nothing
'-----------------------------------------------------------------
''[Создание пера]
'
'red    =255*1
'green    =65280*0
'blue    =16711680*0
'
'    color=Round(red+green+blue,0)
'
'set dllWrap=CreateObject("DynamicWrapper")
'
''Регистрация вызова API
'dllWrap.Register _
'    "GDI32.DLL", _
'    "CreatePen", _
'    "i=uuu", _
'    "f=s", _
'    "r=l"
'
''Вызов API
'hPen=dllWrap.CreatePen(0, _
'        5, _
'        Cint(color))
'set dllWrap=Nothing
''-----------------------------------------------------------------
''[Выбор заливки в контекст устройства]
'
'set dllWrap=CreateObject("DynamicWrapper")
'
''Регистрация вызова API
'dllWrap.Register _
'    "GDI32.DLL", _
'    "SelectObject", _
'    "i=ll", _
'    "f=s", _
'    "r=l"
'
''Вызов API
'res=dllWrap.SelectObject(hDC,hPen)
'
'set dllWrap=Nothing
'-----------------------------------------------------------------
'[Вывод прямоугольника]

set dllWrap=CreateObject("DynamicWrapper")

'Регистрация вызова API
dllWrap.Register _
    "GDI32.DLL", _
    "Rectangle", _
    "i=luuuu", _
    "f=s", _
    "r=l"

'Вызов API
res=dllWrap.Rectangle(    hDC, _
        0, _
        5, _
        750, _
        100)

set dllWrap=Nothing
'-----------------------------------------------------------------
'[Сбор некоторых данных]
'-----------------------------------------------------------------    
i=1
for each drive in fso.drives
on Error resume Next    
data="Диск: " & drive.Path & " Свободно: "& drive.FreeSpace/1024 & " kB" & _
            ";Всего: "     & drive.TotalSize/1024 & " kB"     & _
            ";Файловая система: " & drive.FileSystem     & _
            ";Номер: "     & drive.SerialNumber

     setGDIData data,i,len(data)
i=i+1
next
'-----------------------------------------------------------------
data=    "Компьютер: " & nWork.ComputerName & _
    ";Пользователь: "  & nWork.UserName
     
        setGDIData data,i,len(data)
'-----------------------------------------------------------------
'[Освобождение контекста устройства]

set dllWrap=CreateObject("DynamicWrapper")

'Регистрация вызова API
dllWrap.Register _
    "USER32.DLL", _
    "ReleaseDC", _
    "i=hh", _
    "f=s", _
    "r=l"

'Вызов API
res=dllWrap.ReleaseDC(0,hDC)

set dllWrap=Nothing
end Function


'-----------------------------------------------------------------
'Симуляция всплывающего окна
'-----------------------------------------------------------------
function setGDIData(data,shiftY,dLen)
'-----------------------------------------------------------------
'[Установка цвета шрифта]
    red    =255*0
    green    =65280*0
    blue    =16711680*1
    color=Round(red+green+blue,0)
    'Синий

set dllWrap=CreateObject("DynamicWrapper")

'Регистрация вызова API
    dllWrap.Register _
    "GDI32.DLL", _
    "SetTextColor", _
    "i=hu", _
    "f=s", _
    "r=h"

'Вызов API
hBrush=dllWrap.SetTextColor(hDC,color)

set dllWrap=Nothing
'-----------------------------------------------------------------
'[Вывод текста в графическом представлении]

set dllWrap=CreateObject("DynamicWrapper")

'Регистрация вызова API
dllWrap.Register _
    "GDI32.DLL", _
    "TextOut", _
    "i=luusu", _
    "f=s", _
    "r=l"

'Вызов API
res=dllWrap.TextOut(hDC, _
        10, _
        10+15*shiftY, _
        CStr(data), _
        CInt(dLen))    
set dllWrap=Nothing        

End function

'-----------------------------------------------------------------
'Обработчик ошибок COM
'-----------------------------------------------------------------
function comErro(objName)
msgBox        "Невозможно создание объекта " & objName & vbCRLF & _
        "Установите соответствующую библиотеку"  & vbCRLF & _
        "и зарегистрируйте её в реестре.", _
        vbOKOnly + vbExclamation, _
           "Всплывающий комментарий"
WScript.Quit(-1)
end Function
Предложения в русском языке начинаются с большой буквы и заканчиваются точкой.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.

2

Re: VBScript: вывод текста и графич. примитивов на экране через Win32 API

Автор примера - Poltergeyst.
Скрипт демонстрирует вывод графических примитивов и определение разрешения экрана через Win32 API. Работает под Win98 и WinXP. Потребуются библиотеки dynwrap.dll и AutoItX3.dll.

'Нет гарантий.Используете на свой страх и риск.
'-----------------------------------------------------------------
'Вывод разноцветных графических примитивов 
'в случайном порядке расположения с помощью WIN32 API.
'-----------------------------------------------------------------
'Language:    VBScript
'Используется библиотека dynwrap.dll
'Используется библиотека AutoItX3.dll,v3.2.0.1
'-----------------------------------------------------------------
'ОС Win98 4.10.2222
'-----------------------------------------------------------------
function createShadow(maxCount)

on Error resume Next    
set Ghost=CreateObject("AutoItX3.Control")
if not IsObject(Ghost) then comErro("AutoItX3.Control")
Ghost.WinMinimizeAll 

'-----------------------------------------------------------------
'[Определение разрешения экрана]
set dllWrap=CreateObject("DynamicWrapper")

if not IsObject(dllWrap) then comErro("DynamicWrapper")

const SM_CXSCREEN=0
const SM_CYSCREEN=1

'Регистрация вызова API
dllWrap.Register _
    "USER32.DLL", _
    "GetSystemMetrics", _
    "i=u", _
    "f=s", _
    "r=l"


'Вызов API
xM=dllWrap.GetSystemMetrics(SM_CXSCREEN)
yM=dllWrap.GetSystemMetrics(SM_CYSCREEN)

set dllWrap=Nothing
'-----------------------------------------------------------------
answ=msgbox( _
"Разрешение экрана: [" & xM & "]x[" & yM & "]"         & vbCRLF & _
"Этот скрипт выводит на экран графические примитивы."     & vbCRLF & _
"Уверены что хотите продолжить?", _
vbInformation+vbYesNo, _
"Рисование примитивов")

if answ=vbNo then WScript.Quit(0) 
'-----------------------------------------------------------------
'[Получение дескриптора общего контекста экрана]
set dllWrap=CreateObject("DynamicWrapper")

'Регистрация вызова API
dllWrap.Register _
    "USER32.DLL", _
    "GetWindowDC", _
    "i=h", _
    "f=s", _
    "r=h"

'Вызов API
hDC=dllWrap.GetWindowDC(Null)

set dllWrap=Nothing
'-----------------------------------------------------------------
'[Запуск цикла генерации примитивов]
'-----------------------------------------------------------------
i=0
while i<maxCount
    '[Смещение и цвет]
    shiftX=xM*Rnd()
    shiftY=(yM-150)*Rnd()

    blue    =255*Rnd()
    green    =65280*Rnd()
    red    =16711680*Rnd()

    color=Round(red+green+blue,0)
'-----------------------------------------------------------------
'[Создание заливки]

    set dllWrap=CreateObject("DynamicWrapper")

    'Регистрация вызова API
    dllWrap.Register _
        "GDI32.DLL", _
        "CreateSolidBrush", _
        "i=u", _
        "f=s", _
        "r=h"

    'Вызов API
    hBrush=dllWrap.CreateSolidBrush(color)

    set dllWrap=Nothing
'-----------------------------------------------------------------
'[Выбор заливки в контекст устройства]
    set dllWrap=CreateObject("DynamicWrapper")

    'Регистрация вызова API
    dllWrap.Register _
        "GDI32.DLL", _
        "SelectObject", _
        "i=ll", _
        "f=s", _
        "r=l"

    'Вызов API
    res=dllWrap.SelectObject(hDC,hBrush)

    set dllWrap=Nothing
'-----------------------------------------------------------------
'[Вывод примитива]

    set dllWrap=CreateObject("DynamicWrapper")

    'Регистрация вызова API
    dllWrap.Register _
        "GDI32.DLL", _
        "Rectangle", _
        "i=luuuu", _
        "f=s", _
        "r=l"

    'Вызов API
    res=dllWrap.Rectangle(    hDC, _
            CInt(shiftX), _
            CInt(shiftY), _
            CInt(shiftX)+100, _
            CInt(shiftY)+100)

    set dllWrap=Nothing
'-----------------------------------------------------------------
'[Удаление заливки]

    set dllWrap=CreateObject("DynamicWrapper")

    'Регистрация вызова API
    dllWrap.Register _
        "GDI32.DLL", _
        "DeleteObject", _
        "i=h", _
        "f=s", _
        "r=l"

    'Вызов API
    res=dllWrap.DeleteObject(hBrush)

    set dllWrap=Nothing
i=i+1
wend

'-----------------------------------------------------------------
'[Освобождение контекста устройства]

set dllWrap=CreateObject("DynamicWrapper")

'Регистрация вызова API
dllWrap.Register _
    "USER32.DLL", _
    "ReleaseDC", _
    "i=hh", _
    "f=s", _
    "r=l"


'Вызов API
res=dllWrap.ReleaseDC(0,hDC)

set dllWrap=Nothing

'-----------------------------------------------------------------
'[Обновление экрана через user.dll]
    'Ghost.Run "RUNDLL32.EXE user,repaintscreen"
    'Ghost.sleep(100)
'-----------------------------------------------------------------
MsgBox _
    "Выполнение завершено.", _
    vbInformation, _
    "Рисование примитивов"
End function

'-----------------------------------------------------------------
'Обработчик ошибок COM
'-----------------------------------------------------------------
function comErro(objName)
msgBox         "Невозможно создание объекта " & objName & vbCRLF & _
        "Установите соответствующую библиотеку"  & vbCRLF & _
        "и зарегистрируйте её в реестре.", _
        vbOKOnly + vbExclamation, _
           "Рисование примитивов"
WScript.Quit(-1)
end Function

createShadow(100) 'Вызов 100 разноцветных примитивов

Примечание 1. Под WinXP вот эта строка не работает (в скрипте выше она закомментирована):

Ghost.Run "RUNDLL32.EXE user,repaintscreen"

Примечание 2. Можно не использовать библиотеку AutoItX3.dll, если строки:

set Ghost=CreateObject("AutoItX3.Control")
if not IsObject(Ghost) then comErro("AutoItX3.Control")
Ghost.WinMinimizeAll

заменить на строки:

Set objShellApp = CreateObject("Shell.Application")
objShellApp.MinimizeAll
Предложения в русском языке начинаются с большой буквы и заканчиваются точкой.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.

3

Re: VBScript: вывод текста и графич. примитивов на экране через Win32 API

Автор примера - Poltergeyst.
Скрипт симулирует всплывающее окно с текстом в действительном контексте экрана, развитие скрипта из поста #1. Работает под Win98 и WinXP. Потребуются библиотеки dynwrap.dll и AutoItX3.dll.
Функция setTextToScreen(textData) получает произвольный массив строк и выводит его на экран, подгоняя высоту области вывода сообразно объёму текста.

'Нет гарантий!Используете на свой страх и риск.
'-----------------------------------------------------------------
'Пример организации всплывающего окна содержащего текстовые
'данные в действительный контекст экрана.Чтобы погасить псевдоокно
'сдвиньте курсор мыши на достаточное расстояние
'-----------------------------------------------------------------
'Language:    VBScript
'Используется библиотека dynwrap.dll
'Используется библиотека AutoItX3.dll,v3.2.0.1
'-----------------------------------------------------------------
'ОС Win98 4.10.2222
'-----------------------------------------------------------------
'[Создание основных агрегатных объектов и объявление переменных]
    on Error resume Next

    set fso    =CreateObject("Scripting.FileSystemObject")
        if not IsObject(fso) then comErro("Scripting.FileSystemObject")

    set Ghost    =CreateObject("AutoItX3.Control")
        if not IsObject(Ghost) then comErro("AutoItX3.Control")

    set nWork    =CreateObject("WScript.Network")
        if not IsObject(nWork) then comErro("WScript.Network")

    Ghost.WinMinimizeAll 
    

    'Вызовы функций

    'Получение данных
    '    textData=array("")
    '    getSystemInformation()
    '    setTextToScreen(textData)

    'Вывод произвольной информации.Каждый элемент массива соответствует строке
        textData=array(    "Этот пример выводит текстовые данные в действительный контекст экрана.", _
                "Высота области экрана для вывода подгоняется под размер текста.")
        setTextToScreen(textData)

'-----------------------------------------------------------------
'Некоторые данные о вашем компьютере
'-----------------------------------------------------------------
function getSystemInformation()
'-----------------------------------------------------------------
'[Сбор некоторых данных]
'-----------------------------------------------------------------    

    mBound=fso.drives.count
    redim textData(mBound)
i=0
for each drive in fso.drives
    on Error resume Next    
    data="Диск: " & drive.Path &     " Свободно: "     & drive.FreeSpace/1024 & " kB"     & _
                    ";Всего: "     & drive.TotalSize/1024 & " kB"     & _
                    ";Файловая система: " & drive.FileSystem     & _
                    ";SN: "     & drive.SerialNumber
         textData(i)= CStr(data)
    i=i+1
next
    Ghost.sleep(100)
'-----------------------------------------------------------------
data=    "Компьютер: " & nWork.ComputerName & _
    ";Пользователь: "  & nWork.UserName

     textData(i)= CStr(data)
'-----------------------------------------------------------------
    Ghost.sleep(100)
end Function

'-----------------------------------------------------------------
'Симуляция всплывающего окна содержащего текст
'-----------------------------------------------------------------
function setTextToScreen(data)

'data-одномерный текстовый массив

'-----------------------------------------------------------------
'[Получение дескриптора общего контекста экрана]
set dllWrap=CreateObject("DynamicWrapper")

'Регистрация вызова API
dllWrap.Register _
    "USER32.DLL", _
    "GetWindowDC", _
    "i=h", _
    "f=s", _
    "r=h"

'Вызов API
hDC=dllWrap.GetWindowDC(Null)

set dllWrap=Nothing
    Ghost.sleep(100)
'-----------------------------------------------------------------
'[Вывод прямоугольника]

param=25    'Количество пикселей на высоту единичной строки.
        'Измените этот параметр если что-то не так.

set dllWrap=CreateObject("DynamicWrapper")

'Регистрация вызова API
dllWrap.Register _
    "GDI32.DLL", _
    "RoundRect", _
    "i=luuuuuu", _
    "f=s", _
    "r=l"

'Вызов API
res=dllWrap.RoundRect(    hDC, _
    0, _    
    5, _
    800, _    
    param*UBound(data)+100, _
    40, _
    40)

set dllWrap=Nothing
    Ghost.sleep(100)
'-----------------------------------------------------------------
'[Установка цвета шрифта]
    red    =255*1
    green    =65280*0
    blue    =16711680*0
    color=Round(red+green+blue,0)


set dllWrap=CreateObject("DynamicWrapper")

'Регистрация вызова API
    dllWrap.Register _
    "GDI32.DLL", _
    "SetTextColor", _
    "i=hu", _
    "f=s", _
    "r=h"

'Вызов API
hBrush=dllWrap.SetTextColor(hDC,color)

set dllWrap=Nothing
    Ghost.sleep(100)
'-----------------------------------------------------------------
'[Вывод текста в графическом представлении]

for i=0 to Ubound(data)
    on Error resume Next    
    set dllWrap=CreateObject("DynamicWrapper")
    
    'Регистрация вызова API
    dllWrap.Register _
        "GDI32.DLL", _
        "TextOut", _
        "i=luusu", _
        "f=s", _
        "r=l"    

    'Вызов API
    res=dllWrap.TextOut(hDC, _
        20, _
        20+param*i, _
        CStr(data(i)), _
        CInt(len(data(i))))    

    set dllWrap=Nothing        
next
    Ghost.sleep(100)    
'-----------------------------------------------------------------
caution="+++Чтобы убрать сообщение сдвиньте курсор мыши или обновите экран вручную+++"

set dllWrap=CreateObject("DynamicWrapper")
    
    'Регистрация вызова API
    dllWrap.Register _
        "GDI32.DLL", _
        "TextOut", _
        "i=luusu", _
        "f=s", _
        "r=l"    

    'Вызов API
    res=dllWrap.TextOut(hDC, _
        20, _
        20+param*i, _
        CStr(caution), _
        CInt(len(caution)))

    set dllWrap=Nothing    

    Ghost.sleep(100)    
'-----------------------------------------------------------------
'[Освобождение контекста устройства]

set dllWrap=CreateObject("DynamicWrapper")

'Регистрация вызова API
dllWrap.Register _
    "USER32.DLL", _
    "ReleaseDC", _
    "i=hh", _
    "f=s", _
    "r=l"

'Вызов API
res=dllWrap.ReleaseDC(0,hDC)

set dllWrap=Nothing
    Ghost.sleep(100)
'-----------------------------------------------------------------
'[Обновление экрана при достаточном сдвиге курсора мыши]
posX_0=Ghost.MouseGetPosX
posY_0=Ghost.MouseGetPosY
    while 1
    posX=Ghost.MouseGetPosX
    posY=Ghost.MouseGetPosY
        if abs(posX-posX_0)>10 or abs(posY-posY_0)>10 then 
            Ghost.sleep(100)
                Ghost.send("{F5}")
            Ghost.sleep(100)
            WScript.Quit(0)
        end If
    wend

End function

'-----------------------------------------------------------------
'Обработчик ошибок COM
'-----------------------------------------------------------------
function comErro(objName)
msgBox         "Невозможно создание объекта " & objName & vbCRLF & _
        "Установите соответствующую библиотеку"  & vbCRLF & _
        "и зарегистрируйте её в реестре.", _
        vbOKOnly + vbExclamation, _
           "Всплывающий комментарий"
WScript.Quit(-1)
end Function
Предложения в русском языке начинаются с большой буквы и заканчиваются точкой.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.

4

Re: VBScript: вывод текста и графич. примитивов на экране через Win32 API

Автор примера - Poltergeyst.
Скрипт демонстрирует вывод на экран окна с текстом, на этот раз с помощью CreateWindow. Работает под Win9x/Me и WinXP. Потребуются библиотеки dynwrap.dll и AutoItX3.dll.

//Нет гарантий!Используете на свой страх и риск!
//--------------------------------------------------------------------------------------
//<script-coding>
//Скрипт создает всплывающее окно и выводит в него произвольные
//текстовые данные.Окно создается с помощью CreateWindowExA.
//--------------------------------------------------------------------------------------
//Lang.:JScript
//Используется библиотека dynwrap.dll
//Используется библиотека AutoItX3.dll,v3.2.0.1
//ОС Win9X/Me
//--------------------------------------------------------------------------------------
//</script-coding>
var txtData=new Array(    ' Этот скрипт создает',
            ' всплывающее окно',
            ' и выводит произвольные',
            ' текстовые',
            ' данные',
            '-----------------------------------------------------',
            ' Чтобы это окно исчезло наведите на него курсор мыши',
            '-----------------------------------------------------')
//--------------------------------------------------------------------------------------
simulatePopUp(txtData)

function simulatePopUp(txtData)
{
    var WS_BORDER            =eval('0x00800000')
    var WS_EX_TOOLWINDOW        =eval('0x00000080')
    var WS_EX_OVERLAPPEDWINDOW    =eval('0x00000300')
    var WS_EX_TOPMOST        =8
    var SW_SHOWNORMAL             =1
    var TA_CENTER                   =6

    var ghost=new ActiveXObject("AutoItX3.Control")
//--------------------------------------------------------------------------------------
    dllWrap=new ActiveXObject("DynamicWrapper")
    wWidth=500
    wHeight=txtData.length*25

    ghost.mouseMove(wWidth+100,20)

    dllWrap.Register("USER32.DLL","CreateWindowExA","i=lsslllllllll","f=s","r=h")
    hwnd=dllWrap.CreateWindowExA(    WS_EX_TOOLWINDOW|WS_EX_TOPMOST,
                    "msctls_progress32",
                    "Пример всплывающего окна",
                    WS_BORDER,
                    0,0,wWidth,wHeight,
                    0,0,0,0)
    dllWrap=0
//--------------------------------------------------------------------------------------
    dllWrap=new ActiveXObject("DynamicWrapper")
    dllWrap.Register("USER32.DLL","GetWindowDC","i=h","f=s","r=h")
    hDC=dllWrap.GetWindowDC(hwnd)
    dllWrap=0
//--------------------------------------------------------------------------------------
    dllWrap=new ActiveXObject("DynamicWrapper")
    dllWrap.Register("USER32.DLL","ShowWindow","i=ll","f=s","r=l")
    dllWrap.ShowWindow(hwnd,SW_SHOWNORMAL)
    dllWrap=0
//--------------------------------------------------------------------------------------
    bkColor=ghost.pixelGetColor(wWidth/2,wHeight/2)

    dllWrap=new ActiveXObject("DynamicWrapper")
    dllWrap.Register("GDI32.DLL","SetBkColor","i=hu","f=s","r=h")
    dllWrap.SetBkColor(hDC,bkColor)
    dllWrap=0
//--------------------------------------------------------------------------------------
    color=eval('0xff0000')
    dllWrap=new ActiveXObject("DynamicWrapper")
    dllWrap.Register("GDI32.DLL","SetTextColor","i=hu","f=s","r=h")
    dllWrap.SetTextColor(hDC,color)
    dllWrap=0
//--------------------------------------------------------------------------------------
    dllWrap=new ActiveXObject("DynamicWrapper")
    dllWrap.Register("GDI32.DLL","SetTextAlign","i=ll","f=s","r=l")
    dllWrap.SetTextAlign(hDC,TA_CENTER)
    dllWrap=0
//--------------------------------------------------------------------------------------
    dllWrap=new ActiveXObject("DynamicWrapper")
    dllWrap.Register("GDI32.DLL","SetTextCharacterExtra","i=ll","f=s","r=l")
    dllWrap.SetTextCharacterExtra(hDC,1)
    dllWrap=0
//--------------------------------------------------------------------------------------

    for (i=0;i<txtData.length;i++)
    {
        dllWrap=new ActiveXObject("DynamicWrapper")
        dllWrap.Register("GDI32.DLL","TextOut","i=luusu","f=s","r=l")
        dllWrap.TextOut(hDC,wWidth/2,30+i*20,txtData[i],txtData[i].length)
        dllWrap=0
    }
//--------------------------------------------------------------------------------------
    //Стандартный цикл следящий за смещением мыши
    while (1)
    {
    //Здесь должен находится вызов GetMessage,но отсутствует
    //в связи с невозможностью работы с dll-структурами.
    //Поэтому созданное окно не перехватывает сообщений.

        posX=ghost.MouseGetPosX()
        posY=ghost.MouseGetPosY()
        if (posX<wWidth && posY<wHeight)
        {
            ghost.sleep(200)
            destroyWindow(hwnd)
            ghost.sleep(200)
            
        }

    }
}
//--------------------------------------------------------------------------------------
function destroyWindow(hwnd)
{
    dllWrap=new ActiveXObject("DynamicWrapper")
    dllWrap.Register("USER32.DLL","DestroyWindow","i=l","f=s","r=l")
    res=dllWrap.DestroyWindow(hwnd)
    dllWrap=0
    WScript.Quit(0)


}
//--------------------------------------------------------------------------------------
//Дополнение:
//--------------------------------------------------------------------------------------
//Некоторые классы из COMCTL32.h
    //ToolbarWindow32
    //tooltips_class32
    //msctls_statusbar32
    //msctls_trackbar32
    //msctls_updown32
    //msctls_progress32
    //SysAnimate32
//--------------------------------------------------------------------------------------
//poltergeyst
Предложения в русском языке начинаются с большой буквы и заканчиваются точкой.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.