Visual Basic: новости сайтов, советы, примеры кодов.
Выпуск 214.


VBNet VBMania
Голосование:



Рассылки Subscribe.Ru
VB.NET-World
Новости сайта IgorykSoft и советы по программированию
DanSoft о Visual Basic
Visual Basic.NET Уроки.

Ссылки:

  • Улицы VB
  • Использование VB
  • Азбука VB
  • Улицы VB
  • Кирпичики VB
  • CообЧа VB
  • VB по русски
  • MDesign
  • IgorykSoft
  • DanSoft
  • Господа!!! читайте MSDN!!!

    Несколько слов от автора:

       Свежий выпуск.
    Читайте!


    Содержание выпуска




    Citycat by Email

       Программа Citycat by Email позволяет работать с сервером Subscribe.ru с помощью электронной почты. Теперь Вам не нужно тратить деньги на работу в online и просматривать мегабайты рекламы для того, чтобы подписаться на нужную рассылку! Вам просто необходимо скачать небольшую базу данных по всем рассылкам каталога с нашего сайта, после чего Вы сможете подписываться и отписываться от рассылок, заказывать архивы прошлых выпусков, выполнять поиск по каталогу рассылок и многое другое.
       Программу Citycat by Email можно бесплатно загрузить с сайта http://sapisoft.h1.ru.

    наверх


    Новый компакт-диск!

       VBNet.RU представляет новый компакт диск "VBNet CD 11 2003".
       На диск помещены новые материалы:
    • Софт
      • .NET Framework 1.1 и .NET Framework 1.1 SDK
      • Code Advisor for Visual Basic 6
      • Shared Source CLI
      • ASP to ASP.NET Migration Assistant
      • CodeSmart 2003 for VS .NET
      • C# To VB .NET Converter
      • Project Analyzer 6.2
      • Visustin v1.21
      • Компиляторы .NET языков ComponentPascal, Forth, Oberon, Perl, Python
      • И многое другое...

    • Сайты, рассылки, журналы - Популярные сайты, рассылки, электронные журналы о VB.
      • Сайт VBNet.Ru
      • Мир программирования VB и HTML
      • Visual Basic Forever
      • И многое другое...

    • Коллекция компонент и DLL - Коллекция лицензионных ActiveX и .NET компонентов.
      • ComponentOne Studio .NET
      • TreeListView
      • Internet Explorer Web Controls
      • FastLib 2000
      • Magic Library 1.7.4
      • И многое другое...

    • Книги
      • Мышление в стиле Visual Basic
      • Функции и инструкции VB .NET
      • Mastering Visual Basic .NET
      • Programming Visual Basic .NET
      • A Programmer’s Introduction to Visual Basic.NET
      • И многое другое...

    • Справочники
      • Справочник по функциям Windows API
      • Microsoft Agent 2.0
      • Объектная модель FileSystemObject
      • Функции Windows API:Сообщения
      • Функции Visual Basic
      • И многое другое...

    • Примеры
      • WSH
      • WinForms Automation
      • VSSpellCheck
      • SimpleAddins
      • ThumbWizard
      • SolutionExtender
      • И многое другое...

    • Эксклюзив
      • Файлы, папки, диски - Это одна глава из несостоявшейся книги о VB .Net. В ней рассказыватся о том, как работать с файловой системой (создавание, копирование, перемещение, удаление файлов и папок, чтение и запись текстовых и двоичных файлов и т.д.) с помощью функций из пространства имён Microsoft.VisualBasic.
      • VBNetMail - Это библиотека с исходниками на VB .NET, которая позволяет получать и отправлять почту (используя протоколы POP3 и SMTP).
      • TBBase - Библиотека, предназначенная для работы с базами писем TheBat.

    • Всё RFC!


       Кроме того, на диске расположена свежая копия сайта VBNet.Ru. Со времени выхода предыдущей версии диска на сайт было добавлено 12 статей, 80 примеров, 10 ActiveX компонентов, 3 полезные программы, около 8000 сообщений в форуме! Появилось 2 новых раздела: VBA и мастерская разработчика.

       Полное содержание диска Вы можете скачать здесь.

       Диск распространяется по почте наложенным платежом.
       Цена: 60 рублей + 40 рублей (за почтовые расходы) = 100 рублей. Действует система скидок для постоянных клиентов.
       Заказать диск можно здесь.

    наверх


    Новости сайта VBNet

    Дата: 11.11.2003 15:50 | Раздел: Статьи по VB | Автор: Шатохина Н.А.

    Как работают Web сервисы ASP .NET - Показано, как методы Web сервисов Microsoft ASP.NET (WebMethods) обеспечивают высокопроизводительный подход к построению Web сервисов. WebMethods могут раскрывать традиционные методы Microsoft .NET, такие как операции Web сервиса, которые поддерживают HTTP, XML, XML Schema, SOAP и WSDL. Обработчик WebMethod (.asmx) автоматически отправляет поступающие SOAP сообщения в соответствующие методы и автоматически сериализует поступающие элементы XML в соответствующие объекты .NET.



    Последние 20 тем форума на VBNet.Ru:

    15:23 / 17 ноя.  возможно соединение с БД без разрыва? | Хитов: 1 |  Ответов: 0
    15:02 / 17 ноя.  ADODC??? | Хитов: 1 |  Ответов: 0
    13:30 / 17 ноя.  СРОЧНО (задача) | Хитов: 10 |  Ответов: 1
    11:45 / 17 ноя.  процессы Windows | Хитов: 1 |  Ответов: 1
    11:36 / 17 ноя.  Процессы Windows98-2000 (vb6) | Хитов: 8 |  Ответов: 1
    08:16 / 17 ноя.  Помогите Чайнику с Outlook-ом | Хитов: 13 |  Ответов: 7
    06:49 / 17 ноя.  ADMINAM!!! | Хитов: 9 |  Ответов: 1
    05:07 / 17 ноя.  WinSock | Хитов: 11 |  Ответов: 1
    05:00 / 17 ноя.  Рисование линии из панели рисования | Хитов: 4 |  Ответов: 1
    03:28 / 17 ноя.  Притягивание плавающей формы к курсору | Хитов: 8 |  Ответов: 1
    02:32 / 17 ноя.  Полупрозрачность | Хитов: 9 |  Ответов: 0
    02:11 / 17 ноя.  ??? | Хитов: 19 |  Ответов: 2
    01:01 / 17 ноя.  управление печатью | Хитов: 4 |  Ответов: 0
    00:17 / 17 ноя.  Как запускать... | Хитов: 12 |  Ответов: 1
    21:11 / 16 ноя.  Нарисовать поверх всех окон. | Хитов: 7 |  Ответов: 0
    19:40 / 16 ноя.  Печать файлов | Хитов: 7 |  Ответов: 0
    19:37 / 16 ноя.  Ишу идеи... | Хитов: 25 |  Ответов: 2
    19:27 / 16 ноя.  Помогите с контролом!!!! | Хитов: 21 |  Ответов: 2
    18:44 / 16 ноя.  Интернет траффик | Хитов: 13 |  Ответов: 0
    18:20 / 16 ноя.  Вертушка | Хитов: 24 |  Ответов: 3


    Последние поступления в Библиотеку кодов:



    наверх


    Новости сайта MSDN



    наверх


    Новости сайта GotdotNet

    • 14.11.2003 - GOTDOTNET USER GROUPS
      Первая встреча в Москве, 19.11.2003 в 17:00 в офисе Microsoft. Регистрация обязательна!
    • 10.11.2003 - Borland Developer’s Day 2003.
      13 ноября в Москве состоится конференция Borland Developer’s Day 2003, на которой будут представлены новейшие продукты и технологии Borland.


    Новые статьи:



    наверх


    Новости сайта dotSite

    Новые статьи:



    Новые примеры:



    наверх


    Один момент из жизни форума: Математика

    Вопрос:
    Автор вопроса: cresta

       Есть набор чисел. Числа двенадцатизначные, расположены в произвольном порядке. Число элементов в наборе может достигать нескольких десятков тысяч.Как можно быстро определить минимальное свободное значение, не встречающееся в наборе?
       Например:

    311928374667
    029384756473
    798765432765
    .
    .
    .
    319283700919

    чтобы получить 029384756474 ( второе значение +1)
       Последовательный перебор всех значений набора с последующим сравнением с каждым значением набора на предмет а=а+1 в самом неблагоприятном случае потребует при количестве элементов в наборе 50000 пройти весь набор 2500000000 раз.
       Может кто знает какой-нибудь алгоритм получения минимального неиспользуемого в наборе значения?


    Ответы:

    Автор: Pashenko
       Попробуй сначала отсортировать список.
       Существует метод быстрой сортировки, т. н. Quiсk Sort. Сам не реализовывал, но принцип такой:

    1. Выбираем число в центре массива.
    2. Последовательно сравниваем с ним все числа массива, если число, стоящее выше, больше среднего, меняем их местами (для второй половины, соответственно, наоборот). Таким образом получаем в первой половине массива все числа меньше среднего, во второй половине - больше среднего.
    3. Повторяем пп. 1, 2 для каждой половины массива (среднее число можно исключить из рассмотрения), потом для каждой четверти и т. д. до упора.

       Весь алгоритм, как правило, выполняют в виде рекурсивной процедуры.

    P. S. Насколько я знаю, более быстрого способа сортировки пока не придумали.



    наверх


    Вопрос/Ответ

    Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы.

    Вопросы:


    Автор вопроса: Swift

    Ответ ожидается по этому адресу

       В VB6 создаю объект EXCEL, добавляю лист, вношу данные, выставляю эти данные жирным шрифтом но у меня не получается выставить центровкуэтих данных в ячейке по горизонтале. При попытке выставить свойство

            myExcelObject.Sheets("Лист1").Range("A1:E1").HorizontalAlignment = xlCenter, или
            myExcelObject.Sheets("Лист1").Cells(1, 1).HorizontalAlignment = xlCenter

    выдается сообщение об ошибке

    Run-time error '1004':
    Нельзя установить свойство HorizontalAlignment класса Range

    Что не так? Помогите, пожалуйста.


    Автор вопроса: SHARP

    Ответ ожидается по этому адресу

       Я только начинаю программировать на VB и VBA. В основном работаю в Excel, для удобства создал свою панель меню.
       Как в Excel в своей панели меню сделать "Popup menu"?


    Автор вопроса: Александр

    Ответ ожидается по этому адресу

       Как реализовать выполнение команд DOS (dir, rename и др.)?


    Автор вопроса: DenCh

    Ответ ожидается по этому адресу

       Есть необходимость получать из БД каждые два часа какие-то данные. Програма будет крутиться на сервере, таких программ N-ое кол-во. Хотелось бы сделать ее как системный сервис. Программировать только начинаю.
    Ответ по возможности вышлите на e-mail.


    Автор вопроса: Anatoliy

    Ответ ожидается по этому адресу

       Скажите пожалуйста, как загрузить рисунок (из Picture Box-a) в память (не Винчестер), и наоборот из памяти загрузить рисунок в Picture Box?


    Автор вопроса: Мелёшин А.А.

    Ответ ожидается по этому адресу

       Как сделать так чтобы при загрузки формы проигрывался звук? Если можно намыльте исходничек по проще.


    Автор вопроса: Andr

    Ответ ожидается по этому адресу

       Я уже задавал вопрос :-( см. от Andr: В подпрограмме есть N-подпрограмм (для GOSUB). ... :-)
    Но то ли не понятно написал, то ли это не реально для возможностей VB.
    Хотя, вроде-бы-как и WinAPI и VarPtr() и коллекции объектов можно использовать.
    Есть даже слух, что в VB есть функция вставки кода на ASM ;-)
    Попытаюсь прояснить свой вопрос на примере двух приблизительных подпрограмм на VB.
    На Vijual Kod выглядит просто:
      Kod=>eBx -eBx=Kod
      =>[ebx] -переход по адресу в eBx

    ------- два примерных варианта на VB (нереальных) ----
    Public Function kod_ObrabotkaKoda(Kod0_255&)as long
             Dim S$
             Const cS$="Metka"

             S=cS+Ttrim$(Str$(Kod0_255))'Создать имя метки

             GoSub к имени метки находящейся в строковой переменной S
             exit Function
    '====
    Metka1:
                     код подрограммы
             return
    Metka2:
                     код подрограммы
             return
    Metka3:
                     код подрограммы
             return
    .....
    Metka255:
                     код подрограммы
             return
    End function
    ---- или типа этого (по адресу метки) -----
    Public Function kod_ObrabotkaKoda(Kod0_255&)as long
             Dim i&
             Static masAdr$(255),F&

             if F=0 then
                     F=1
                     For i=0 to 255
                             'естественно, что функции adress() не существует
                             'а VarPtr() здесь "выходной"
                             masAdr(i)=adress("Metka"+Ttrim$(Str$(i)))'получить адрес метки
                     next i
             endif

             GoSub к метке по адресу в masAdr(Kod0_255) '
             exit Function
    '====
    Metka0:
                     код подрограммы
             return
    Metka1:
                     код подрограммы
             return
    Metka2:
                     код подрограммы
             return
    Metka3:
                     код подрограммы
             return
    ......................
    Metka255:
                     код подрограммы
             return
    End function

    Может кто из профессионалов подскажет, как решить эту проблемму.

    P.S.
    А может использовать отдельные подпрограммы - для них можно получить адрес...
    Думаю, интересно будет не мне одному...


    Автор вопроса: Иван

    Ответ ожидается по этому адресу

       Как в Visual Basic .Net получить e-mail и список писем с pop3 сервера?


    Автор вопроса: Владимир

    Ответ ожидается по этому адресу

       Как определить размер любой папки и диска?


    Автор вопроса: Владимир

    Ответ ожидается по этому адресу

       Как разрешить использование .mdb Файла из программы VB и запретить доступ в него другими способами?


    Автор вопроса: Мария

    Ответ ожидается по этому адресу

       Требуется вставить большого размера карту города (больше чем экран) в image который на весь экран, чтобы появлялись скролы для прокручивания карты влево-вправо и вверх-вниз. Какой контрол взять для этого, скажите пожалуйста! Есть контролы , в которых или только вверх-вниз можно прокручивать карту или влево-вправо!




    Ответы:


    Вопрос:

       Как в VBA создать DLL?

    Ответ:

    Автор ответа: Sergey

    VBA - язык, встроенный в MSOffice (Word, Excel) для написания макросов.
    О каких DLL идет речь?


    Вопрос:

       Как запретить пользователю изменять размеры стандартной MDI формы (640*480) и разворачивать ее на весь экран? Изменять размеры после "ресайза" не предлагать.

    Ответ:

    Автор ответа: Sergey

    Странный вопрос - есть же специальное свойство BorderStyle.
    Поставь его в 'Fixed Dialog'.



    Ответ:

    Автор ответа: Максим

    Private Sub MDIForm_Resize()
    If Me.Width > 640 * 15 Then
    Me.Enabled = False
    Me.Width = 640 * 15
    Me.Enabled = True
    End If
    If Me.Height > 480 * 15 Then
    Me.Enabled = False
    Me.Height = 480 * 15
    Me.Enabled = True
    End If
    End Sub

    Вроде не моргает...


    Вопрос:

       А как программно сделать моё окно активным? Me.SetFocus - не помогает... Пробовал АПИ GetFocus, SetFocus, SetActiveWindow - тоже самое... Может кто подскажет?

    Ответ:

    Автор ответа: Sergey

    Попробуй WinAPI фунцкию SetForegroundWindow.

    А Me.SetFocus - активирует окно в рамках текущего приложения.


    Вопрос:

       Как мне сделать отмену изменений в textbox`e?

    Ответ:

    Автор ответа: Sergey

    Достаточно легко. Просто послать ему определенное сообщение:

    Private Const WM_UNDO = &H304

    SendMessage Text1.Hwnd,WM_UNDO,0,0



    Ответ:

    Автор ответа: Сан Саныч

       Послать ему WM_UNDO:

       SendMessage Text1.hwnd, WM_UNDO, 0, 0



    Ответ:

    Автор ответа: Vladimir [PRC]

    Если только для последнего изменения, то все просто:

    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 WM_UNDO = &H304

    И для отмены вызываешь:

    SendMessage Text1.hwnd, WM_UNDO, 0, 0


    Вопрос:

       Как пользоваться api-шной функцикй waveoutgetvolume?

    Ответ:

    Автор ответа: Роман

    'Пример от Danjel Nyberg
    'API-Guide 3.7
    'Нужен текстбокс и две кнопки
    Private Declare Function waveOutSetVolume Lib "Winmm" (ByVal wDeviceID As Integer, ByVal dwVolume As Long) As Integer
    Private Declare Function waveOutGetVolume Lib "Winmm" (ByVal wDeviceID As Integer, dwVolume As Long) As Integer
    Private Sub Command1_Click()
         Dim a, i As Long
         Dim tmp As String
         a = waveOutGetVolume(0, i)
         tmp = "&h" & Right(Hex$(i), 4)
         Text1 = CLng(tmp)
    End Sub
    Private Sub Command2_Click()
         Dim a, i As Long
         Dim tmp, vol As String
         vol = Text1
         tmp = Right((Hex$(vol + 65536)), 4)
         vol = CLng("&H" & tmp & tmp)
         a = waveOutSetVolume(0, vol)
    End Sub


    Вопрос:

       Как программно создать в реестре параметр DROWD?

    Ответ:

    Автор ответа: Роман

        Пример мне когда-то прислали. Он вообще-то про автозагрузку, но если разобраться...
        
        Чтобы добавить программу в автозагрузку, необходимо создать в разделе реестра
        HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
        строковый параметр. В значении параметра установить путь программы.
        В модуле пишешь:
          
        Option Explicit
        Public Const REG_SZ As Long = 1
        Public Const REG_DWORD As Long = 4
        Public Const HKEY_LOCAL_MACHINE = &H80000002
        Public Const HKEY_CLASSES_ROOT = &H80000000
        Public Const HKEY_CURRENT_USER = &H80000001
        Public Const HKEY_USERS = &H80000003
        Public Const ERROR_NONE = 0
        Public Const ERROR_BADDB = 1
        Public Const ERROR_BADKEY = 2
        Public Const ERROR_CANTOPEN = 3
        Public Const ERROR_CANTREAD = 4
        Public Const ERROR_CANTWRITE = 5
        Public Const ERROR_OUTOFMEMORY = 6
        Public Const ERROR_INVALID_PARAMETER = 7
        Public Const ERROR_ACCESS_DENIED = 8
        Public Const ERROR_INVALID_PARAMETERS = 87
        Public Const ERROR_NO_MORE_ITEMS = 259
        Public Const KEY_ALL_ACCESS = &H3F
        Public Const REG_OPTION_NON_VOLATILE = 0
        Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
        Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, ByVal lpSecurityAttributes As Long, phkResult As Long, lpdwDisposition As Long) As Long
        Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
        Declare Function RegQueryValueExString Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As String, lpcbData As Long) As Long
        Declare Function RegQueryValueExLong Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Long, lpcbData As Long) As Long
        Declare Function RegQueryValueExNULL Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As Long, lpcbData As Long) As Long
        Declare Function RegSetValueExString Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpValue As String, ByVal cbData As Long) As Long
        Declare Function RegSetValueExLong Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpValue As Long, ByVal cbData As Long) As Long
        Declare Function RegDeleteKey& Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String)
        Declare Function RegDeleteValue& Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String)
          
        'Создание нового ключа (подключа)
        Public Function CreateNewKey(lPredefinedKey As Long, sNewKeyName As String)
        Dim hNewKey As Long
        Dim lRetVal As Long
        lRetVal = RegCreateKeyEx(lPredefinedKey, sNewKeyName, 0&, vbNullString,
        REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0&, hNewKey,
        lRetVal)
        RegCloseKey (hNewKey)
        End Function
          
        'Запись данных в ключ
        Public Function SetKeyValue(lPredefinedKey As Long, sKeyName As String,
        sValueName As String, vValueSetting As Variant, lValueType As Long)
        Dim lRetVal As Long
        Dim hKey As Long
        lRetVal = RegOpenKeyEx(lPredefinedKey, sKeyName, 0, KEY_ALL_ACCESS,
        hKey)
        lRetVal = SetValueEx(hKey, sValueName, lValueType, vValueSetting)
        RegCloseKey (hKey)
        End Function
        Public Function SetValueEx(ByVal hKey As Long, sValueName As String, lType As
        Long, vValue As Variant) As Long
        Dim lValue As Long
        Dim sValue As String
        Select Case lType
                Case REG_SZ
                     sValue = vValue
                     SetValueEx = RegSetValueExString(hKey, sValueName, 0&, lType, sValue,
        Len(sValue))
                Case REG_DWORD
                     lValue = vValue
                     SetValueEx = RegSetValueExLong(hKey, sValueName, 0&, lType, lValue, 4)
          
        End Select
        End Function
          
        'Возвращает значения записанные в ключе
        Public Function QueryValue(lPredefinedKey As Long, sKeyName As String, sValueName As String)
          
        Dim lRetVal As Long
        Dim hKey As Long
        Dim vValue As Variant
          
        lRetVal = RegOpenKeyEx(lPredefinedKey, sKeyName, 0, KEY_ALL_ACCESS, hKey)
        lRetVal = QueryValueEx(hKey, sValueName, vValue)
        QueryValue = vValue
        RegCloseKey (hKey)
        End Function
          
        Function QueryValueEx(ByVal lhKey As Long, ByVal szValueName As String, vValue As Variant) As Long
        Dim a As Integer
        Dim cch As Long
        Dim lrc As Long
        Dim lType As Long
        Dim lValue As Long
        Dim sValue As String
          
        On Error GoTo QueryValueExError
             
        'Определение размера и типа считываемых данных
        lrc = RegQueryValueExNULL(lhKey, szValueName, 0&, lType, 0&, cch)
        If lrc <> ERROR_NONE Then a = 0
          
        Select Case lType
             'Для символьных
             Case REG_SZ:
             sValue = String(cch, 0)
             lrc = RegQueryValueExString(lhKey, szValueName, 0&, lType, sValue, cch)
             If lrc = ERROR_NONE Then
                vValue = Left$(sValue, cch)
             Else
                vValue = Empty
             End If
          
             'Для числовых
             Case REG_DWORD:
             lrc = RegQueryValueExLong(lhKey, szValueName, 0&, lType, lValue, cch)
             If lrc = ERROR_NONE Then vValue = lValue
             'Для остальных не поддержанных типов данных
             Case Else
             lrc = -1
             End Select
          
        QueryValueExExit:
             QueryValueEx = lrc
             Exit Function
          
        QueryValueExError:
            Resume QueryValueExExit
        End Function
          
        'Удаление значений ключа
          
        Public Function DeleteValue(lPredefinedKey As Long, sKeyName As String,
        sValueName As String)
          
        Dim lRetVal As Long
        Dim hKey As Long
          
        lRetVal = RegOpenKeyEx(lPredefinedKey, sKeyName, 0, KEY_ALL_ACCESS,
        hKey)
        lRetVal = RegDeleteValue(hKey, sValueName)
        RegCloseKey (hKey)
        End Function
          
        'Удаление ключа
        Public Function DeleteKey(lPredefinedKey As Long, sKeyName As String)
        Dim lRetVal As Long
        lRetVal = RegDeleteKey(lPredefinedKey, sKeyName)
        End Function
          
        В примере написан полный код работы с реестром, если необходимо только записать данные, то лишнее можно убрать.
          
        Применение:

        Private Sub Command1_Click()
        Dim path As String
        path = "Software\Microsoft\Windows\CurrentVersion\Run"
        CreateNewKey HKEY_LOCAL_MACHINE, path
        SetKeyValue HKEY_LOCAL_MACHINE, path, "Назавание программы", "здесь пишешь полный путь программы", REG_SZ
        End Sub




    Можете заполнить эту форму, либо отослать вопрос СЮДА

    Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта.
    Текст сообщения:
    Ваше имя
    E-mail для ответа

    наверх


    Выпуск подготовили:

    Сурменок Павел