Отправляет email-рассылки с помощью сервиса Sendsay

VB.NET-World

  Все выпуски  

VB.NET-World Выпуск номер 3


Информационный Канал Subscribe.Ru


VB.NET - World
::Рассылка:.
  Архив
  Подписка

::Авторы:.
   Алексей
   Дмитрий

::Ссылки:.
   NoCode
  VBMania
  VBNet.ru

::Друзья:.

Visual Basic: новости сайтов, советы, примеры кодов
Новости сайта 'Все о Паскале'
Все про Pascal

::Баннеры:.

VB.NET-World

SUPERTOP

Рейтинг@Mail.ru

Все о криптографии: статьи, исходники, книги и др.
Приветствую, Уважаемые.

Еще в раннем "Мире программирования" я собрал коллектив единомышленников, которые помогали готовить выпуск: писали статьи и т.п. Может еще остались среди нас готовые творить люди и за "спасибо" будут заниматься чем-нибудь подобным. Еще я собрался создать сайт, где будет VB-форум, выпуски рассыки и еще кое-какие рубрики. Если кто желает помочь я буду только рад...

Может еще подкинете идею по улучшению выпусков рассылки: что нехватает, чего много, и т.п. А то частенько у меня складывается мнение, что за столом собрались любители вкусных деликатесов, а не участники собрания садоводов...

С наилучшими пожеланиями,
главный редактор VB.NET-World

Алексей Кувалин

Задать вопрос по рассылке можно отправив письмо в текстовом формате. Быстрый ответ по этому ящику гарантирован.


№ 3 (от 28.01.2003)
Содержание выпуска:
Компакт-диск по Visual BASIC!
Прочь все сомнения! Наконец-то вышел в свет долгожданный сборник всех исходников, кодов, утилит, документаций по Visual Basic!

Выдержки из меню:
  • исходники (30МБ)

  • документация (200МБ)

  • компоненты (40МБ)

  • утилиты (150МБ)

  • VB6.0 RUS (100МБ)

  • полезности (180МБ)


  • Цена диска 40 рублей + пересылка 35 рублей! Итого 75 рублей за полный комплект для профессионалов!


    Заказать >>>

    Компакт-диск "VB.NET-World"
    Стоит ли покупать?

    Когда-то, еще когда я был участником конфы "Сообча ВБ" меня посетила мысль создания компакт-диска для ВБ-программера, диска, который бы удовлетворил требования и профи и начинающего. Но воплотить идею в реальность получилось только в данный момент. Думаю, что в какой-то мере мне удалось одухотворить ранние перспективы. На диске представлены коллекция документационных материалов, включающий сайт рассылки "Мир программирования на Visual BASIC и HTML" с очень удобной навигацией, огромное количество учебников и книг по VB, около 11 инсталляционных программ, от самых простых, до полностью профессиональных пакетов. Инсталляция русской VB6. Очень большое количество примеров и исходников, компонентов. А самое главное, что представлены скины для любых проектов! Не обошлось и без полезных утилит. В общем весь VB в одном флаконе!


    База знаний
    Скрытие рабочего стола Windows

    Создаете форму. На ней располагаете 2 кнопки. И вставляете код:
    Declare Function ShowWindow _
    Lib "user32" (ByVal hWnd As Long, ByVal )
    nCmdShow As Long) As Long
    
    Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal _
    lpClassName As String, ByVal lpWindowName As String) As Long
    
    Declare Function EnableWindow Lib "user32" (ByVal hWnd As Long, ByVal _
    fEnable As Long) As Long
    
    Const SW_HIDE = 0
    Const SW_SHOW = 5
    
    Public Sub Desktop(Visible As Boolean)
    Dim hWnd As Long
    hWnd = FindWindow("Progman", "Program Manager")
    If Visible Then
    ShowWindow hWnd, SW_SHOW
    Else
    ShowWindow hWnd, SW_HIDE
    End If
    EnableWindow hWnd, Visible
    End Sub
    
    Private Sub Command1_Click()
    Desktop False
    End Sub
    
    Private Sub Command2_Click()
    Desktop True
    End Sub
    
    Ввод секретной информации через InputBox

    На форме располагаете одну кнопку и вставляете код:
    Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" _
    (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal _
    lpsz2 As String) As Long
    
    Private Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal _
    nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
    
    Private Declare Function KillTimer Lib "user32" (ByVal hWnd As Long, _
    ByVal nIDEvent As Long) As Long
    
    Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long
    
    Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook _
    As Long) As Long
    Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _
    (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId _
    As Long) As Long
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
    (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    
    Private Const WH_CBT = 5
    Private Const HCBT_ACTIVATE = 5
    Private m_lMsgHandle As Long
    Private m_lhHook As Long
    Private Const ES_CENTER = &H1&
    
    Private Function GetMessageBoxHandle(ByVal lMsg As Long, ByVal wParam As Long, _
    ByVal lParam As Long) As Long
    
    If lMsg = HCBT_ACTIVATE Then
    m_lMsgHandle = wParam
    UnhookWindowsHookEx m_lhHook
    m_lhHook = 0
    End If
    GetMessageBoxHandle = False
    End Function
    
    Private Sub InputBoxTimerUpdateEvent(hWnd As Long, uiMsg As Long, _
    idEvent As Long, dwTime As Long)
    
    Dim res As Long
    If m_lMsgHandle = 0 Then Exit Sub
    res = FindWindowEx(m_lMsgHandle, 0, "Edit", "")
    SendMessage res, 1052, 42, ByVal 0&
    SendMessage res, &H441, ES_CENTER, ByVal 0&
    End Sub
    
    Private Function InputBoxEx(sMsgText As String, Optional sTitle As _
    String = "Secured InputBox") As String
    Dim lTimerUpdate As Long
    m_lhHook = SetWindowsHookEx(WH_CBT, AddressOf GetMessageBoxHandle, _
    App.hInstance, GetCurrentThreadId())
    lTimerUpdate = SetTimer(0, 0, 0, AddressOf InputBoxTimerUpdateEvent)
    InputBoxEx = InputBox(sMsgText, sTitle)
    KillTimer 0, lTimerUpdate
    End Function
    
    'Вызов
    Private Sub Command1_Click()
    Dim ret As String
    ret = InputBoxEx("Наберите пароль:", "Секретный ввод")
    Label1 = ret
    End Sub
    
    Форма с анимацией
    Private Declare Function AnimateWindow Lib "user32" _
    (ByVal hwnd As Long, ByVal dwTime As Long, ByVal dwFlags As Long) As Boolean
    Const AW_HOR_POSITIVE = &H1 'Анимация окна слева направо.
    'Этот флаг используется совместно с эффектами развёртывания и соскальзывания.
    Const AW_HOR_NEGATIVE = &H2 'Анимация окна справа налево.
    'Этот флаг используется совместно с эффектами развёртывания и соскальзывания.
    Const AW_VER_POSITIVE = &H4 'Анимация окна сверху вниз.
    'Этот флаг используется совместно с эффектами развёртывания и соскальзывания.
    Const AW_VER_NEGATIVE = &H8 'Анимация окна снизу вверх.
    'Этот флаг используется совместно с эффектами развёртывания и соскальзывания.
    Const AW_CENTER = &H10 'Окно сворачивается внутрь себя если
    'установлен флаг AW_HIDE, иначе разворачивается
    Const AW_HIDE = &H10000 'Скрывает окно, по умолчанию окно появляется.
    Const AW_ACTIVATE = &H20000 'Активизирует окно.
    Const AW_SLIDE = &H40000 'Устанавливает эффект соскальзывания.
    'По умолчанию эффект развёртывания.
    Const AW_BLEND = &H80000 'Эффект постепенного появления.
    'Применяется только к окнам верхнего уровня.
    
    Private Sub Form_Load()
    Me.AutoRedraw = True
    Me.Print "Закрой меня"
    End Sub
    Private Sub Form_Unload(Cancel As Integer)
    'Анимация окна
    AnimateWindow Me.hwnd, 200, AW_VER_POSITIVE Or AW_HOR_NEGATIVE Or AW_HIDE
    'Выгружаем форму полностью
    Set Form1 = Nothing
    End Sub
    
    Замораживание Windows

    Внимание! Восстановление работоспособности ОС возможно только после нажатия кнопки "RESET" и перезагрузки компьютера.
    Private Declare Function SetParent Lib "user32" _
    (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
    Private Sub Command1_Click()
    Dim freez
    freez = SetParent(Me.hWnd, Me.hWnd)
    End Sub
    
    Использование горячих клавиш
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyF12 Then
    'выполняем действие для F12
    Beep
    ElseIf KeyCode = vbKeyF11 Then
    'выполняем действие для F11
    End If
    End Sub
    
    Добавление программы в автозагрузку

    Поместите на форму 2 кнопки и данный код:
    Private Sub Command1_Click() 'Запись в реестр
    Set Reg = CreateObject("WScript.Shell")
    Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Программа", App.Path
    End Sub
    
    Private Sub Command2_Click() 'Удаление из реестра
    Set Reg = CreateObject("WScript.Shell")
    Reg.RegDelete "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Программа"
    End Sub
    
    Определение фокуса программы
    
    Private Const WM_ACTIVATEAPP = &H1C
    Private Const GWL_WNDPROC = (-4)
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
    (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" _
    (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal _
    wParam As Long, ByVal lParam As Long) As Long
    Private m_lWndProc As Long
    Private Sub WindowHook(hWnd As Long)
    m_lWndProc = SetWindowLong(hWnd, GWL_WNDPROC, AddressOf MessageCenter)
    End Sub
    Private Sub WindowFree(hWnd As Long)
    SetWindowLong hWnd, GWL_WNDPROC, m_lWndProc
    End Sub
    Private Function MessageCenter(ByVal hWnd As Long, ByVal Msg As Long, _
    ByVal wParam As Long, ByVal lParam As Long) As Long
    If Msg = WM_ACTIVATEAPP Then
    If wParam Then
    Form1.OnAppActivate
    Else
    Form1.OnAppDeActivate
    End If
    End If
    MessageCenter = CallWindowProc(m_lWndProc, hWnd, Msg, wParam, lParam)
    End Function
    
    Private Sub Form_Load()
    WindowHook hWnd
    End Sub
    Private Sub OnAppActivate()
    MsgBox "Добро пожаловать назад!"
    End Sub
    Private Sub OnAppDeActivate()
    MsgBox "Покидаете программу?"
    End Sub
    Private Sub Form_Unload(Cancel As Integer)
    WindowFree hWnd
    End Sub
    
    Выпуск подготовили:
    Алексей: x-alexis@mail.ru
    © 2002-2003 Рассылка "VB.NET-World"
    Главный редактор рассылки: Алексей
    Зашифрованный редактор: Дмитрий
    Контактная информация:
    Алексей ICQ: 173021957
    Дмитрий ICQ: 169801042

    http://subscribe.ru/
    E-mail: ask@subscribe.ru
    Отписаться
    Убрать рекламу

    В избранное