VBNet
VBMania
Голосование: Ваш голос отсылается по E-mail владельцу сайта, после чего голоса анализируются и на отдельной странице выводятся результаты. Нет тем. Доска почёта: Sergey Y. Tkachev Кононенко Роман Kirill Ссылки: |
Господа!!! читайте MSDN!!! Несколько слов от автора:
Ураааа!!!!! Наконец-то каникулы!!!
Читайте! Содержание выпуска
Книги
Остальные книги о VB можно найти здесь. наверх Скрыть/показать иконки рабочего стола Добавьте на форму 2 CommandButton. Первая кнопка спрячет ярлыки с рабочего стола, вторая - покажет. 'ВАРИАНТ 1 Private Declare Function ShowWindow& Lib "user32" (ByVal hWnd&, ByVal nCmdShow&) Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Const SW_HIDE = 0 Const SW_NORMAL = 1 Private Sub Command1_Click() Dim hHandle As Long hHandle = FindWindow("progman", vbNullString) Call ShowWindow(hHandle, SW_HIDE) End Sub Private Sub Command2_Click() Dim hHandle As Long hHandle = FindWindow("progman", vbNullString) Call ShowWindow(hHandle, SW_NORMAL) End Sub 'ВАРИАНТ 2 Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private 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 наверх Как сменить рисунок рабочего стола Добавьте на форму 2 CommandButton. Первая кнопка помещает на рабочий стол любой ваш рисунок, вторая - убирает этот рисунок. Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As String, ByVal fuWinIni As Long) As Long Const SPI_SETDESKWALLPAPER = 20 Private Sub Command1_Click() SystemParametersInfo SPI_SETDESKWALLPAPER, 0, "D:\Basic\tmpProj\Load.bmp", True 'Заменить путь D:\Basic\tmpProj\Load.bmp на нужный вам файл рисунка в формате bmp End Sub Private Sub Command2_Click() SystemParametersInfo SPI_SETDESKWALLPAPER, 0, 0, False End Sub наверх Включен ли активный рабочий стол Как вы знаете, существует возможность загружать web-странички непосредственно на Рабочий Стол. Данный пример позволяет определить, включен или выключен режим рабочего стола Active Desktope Private Declare Function FindWindow& Lib "user32" Alias "FindWindowA" (ByVal lpClassName$, ByVal lpWindowName$) Private Declare Function FindWindowEx& Lib "user32" Alias "FindWindowExA" (ByVal hWndParent&, ByVal hWndChildAfter&, ByVal lpClassName$, ByVal lpWindowName$) Public Function IE4ActiveDesktop() As Boolean Dim Templong& Templong = FindWindow("Progman", vbNullString) Templong = FindWindowEx(Templong, 0&, "SHELLDLL_DefView", vbNullString) Templong = FindWindowEx(Templong, 0&, "Internet Explorer_Server", vbNullString) If Templong > 0 Then IE4ActiveDesktop = True Else IE4ActiveDesktop = False End If End Function Private Sub Command1_Click() MsgBox IE4ActiveDesktop End Sub наверх Разложить все иконки на рабочем столе по порядку (один за другим) Расположите на форме элемент CommandButton Private Const LVA_ALIGNLEFT = &H1 Private Const LVM_ARRANGE = &H1016 Private Const GW_CHILD = 5 Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function GetWindow Lib "user32" (ByVal hWnd As Long, ByVal wCmd 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 Long) As Long Public Function ArrangeDesktopIcons() As Boolean Dim hWnd As Long Dim RetVal As Long 'найти хэндл рабочего стола hWnd = FindWindow("Progman", vbNullString) hWnd = GetWindow(hWnd, GW_CHILD) hWnd = GetWindow(hWnd, GW_CHILD) 'выстроить иконки RetVal = SendMessage(hWnd, LVM_ARRANGE, LVA_ALIGNLEFT, 0) ArrangeDesktopIcons = RetVal > 0 End Function Private Sub Command1_Click() ArrangeDesktopIcons End Sub наверх Изменение внешнего вида кнопки ПУСК Для изменения внешнего вида кнопки ПУСК вам нужна любая картинка размером 55 пикс * 22 пикс. под именем temp.bmp Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 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 GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long Const SRCCOPY = &HCC0020 Dim hwndTB As Long ' handle taskbar'а Dim hWndSB As Long ' handle окна кнопки ПУСК Dim hDcSB As Long ' handle содержимого кнопки ПУСК Dim mRect As RECT ' координаты кнопки ПУСК Dim hDcTmp As Long ' handle новой картинки Dim hBmpTmp As Long ' временная картинка Dim hBmpTmp2 As Long ' временная картинка Dim nWidth As Long ' ширина кнопки ПУСК Dim nHeight As Long ' высота кнопки ПУСК Dim sPath As String ' путь к картинке Private Sub Form_Load() ' получить handle taskbar и кнопки ПУСК hwndTB = FindWindow("Shell_TrayWnd", "") hWndSB = FindWindowEx(hwndTB, 0, "button", vbNullString) ' получить dc кнопки ПУСК hDcSB = GetWindowDC(hWndSB) ' получить координаты кнопки ПУСК Call GetWindowRect(hWndSB, mRect) ' ширина и высота nWidth = mRect.Right - mRect.Left nHeight = mRect.Bottom - mRect.Top hDcTmp = CreateCompatibleDC(hDcSB) hBmpTmp = CreateCompatibleBitmap(hDcTmp, nWidth, nHeight) ' установить путь для загрузки картинки sPath = App.Path & "\temp.bmp" hBmpTmp2 = SelectObject(hDcTmp, LoadPicture(sPath)) End Sub Private Sub tmrPaint_Timer() ' рисовать кнопку ПУСК Call BitBlt(hDcSB, 0, 0, nWidth, nHeight, hDcTmp, 0, 0, SRCCOPY) End Sub Private Sub Form_Unload(Cancel As Integer) ' очистить кнопку ПУСК hBmpTmp = SelectObject(hDcTmp, hBmpTmp2) DeleteObject hBmpTmp DeleteDC hDcTmp End Sub наверх Заблокировать кнопку ПУСК Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 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 EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long Public Sub EnableStartButton(Optional Enabled As Boolean = True) 'this will enable/disable any window with a little modifaction Dim lHwnd As Long 'найти hWnd lHwnd& = FindWindowEx(FindWindow("Shell_TrayWnd", ""), 0&, "Button", vbNullString) 'call the enablewindow api and do the what needs to be done Call EnableWindow(lHwnd&, CLng(Enabled)) End Sub Private Sub Form_Load() EnableStartButton True 'Кнопка ПУСК не заблокирована 'EnableStartButton False 'Кнопка ПУСК заблокирована End Sub наверх Мои программы BalloonMessage for MS Agent BalloonMessage for Microsoft Agent реализует диалог программы с
пользователем, используя при этом технологию Microsoft Agent. OCX реализует три
типа диалоговых окон: InputBox, MsgBox и MsgLabels. Автор: Шатрыкин Иван. Соавтор: Павел Сурменок. наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: Tolic Ответ ожидается по этому адресу Есть Винда 3.1. 1) Как програмно узнать содержимое групп в диспетчере программ? (я имею ввиду как узнать какие ярлыки в группе). 2) Можно как то програмно поменять строку заголовка любого открытого окна? Автор вопроса: Duke Ответ ожидается по этому адресу 1.Я янаю что в 16 и 8 ричную систему надо воспольяоватся операторами HEX и OCT, а что если мне надо перевести обратно не 255 в FF, а FF в 255. 2.Где вяять пример по преводу ия DOS в WIN кодировку(ПРИМЕР !!!), или детальное пояснение. Автор вопроса: Rusty Angles Ответ ожидается по этому адресу Как извлекать и записывать данные в адресса памяти? (Для VB6) Автор вопроса: А.М. Ответ ожидается по этому адресу Как на VB6 получить ия "региональных установок" формат даты и денежной единицы? Автор вопроса: Алексей Ответ ожидается по этому адресу Как можно программу сделать невидимой для Ctrl+Alt+Delete Автор вопроса: michael Ответ ожидается по этому адресу Как лучше выполнять процедуру каждые 2 сек.? Я пользуюсь таймером, но переодически получаю "Msgsrv32 not responding". Может это не связано... Автор вопроса: Игорь Ответ ожидается по этому адресу Как в VB6 зделать ссылку на файл (любой), чтобы его открыть (запустить)? p.s. Хочу зделать Авторан для CD! Автор вопроса: shadow Ответ ожидается по этому адресу я пытаюсь делать чат вроде Quick Chat, подскажите можно ли обойтись бея сокета, сделать вс? на апи? Может у кого есть исходники посмитреть? Это беясерверный чат. Автор вопроса: P@Ssword Ответ ожидается по этому адресу Сидит моя прога в трее. Когда кликают правой кнопкой мыши, открывается менюшка,кликнув в которой, юяверь открывает формочку (frm.Show). А когда юяверь делает двойной клик по иконке в трее, я опять делаю frm.Show, форма появляется, но она, по-моему, не активна, т.к. на первый клик форма не реагирует, но если курсор (каретка) стоИт на текстбоксе, то с клавиатуры можно вводить сраяу. Что ая есьм и как енто побороть? Автор вопроса: Slater Ответ ожидается по этому адресу Скажите, пожалуйста, как написать программу, которая: 1. Делает HTTP яапросы (GET, POST) 2. По GET яапросу определяет ос и время. Ответы: Вопрос: Уважаемые мужчины, подскажите, пожалуйста, что означает "не удается инициализировать среду Visual Basic" и как с этим бороться, т.к. работа стоит, а я ничего не могу сделать. Ответ: Автор ответа: Duke Преставте Visual Basic и не майтесь дурью, это самый верный способ. Если это не помогло то я сам сочувствую. Вопрос: Уважаемые мужчины, подскажите, пожалуйста, что означает "не удается инициализировать среду Visual Basic" и как с этим бороться, т.к. работа стоит, а я ничего не могу сделать. Ответ: Автор ответа: Ревягин_Алексей Попробуй переставить VB Вопрос: Уважаемые мужчины, подскажите, пожалуйста, что означает "не удается инициализировать среду Visual Basic" и как с этим бороться, т.к. работа стоит, а я ничего не могу сделать. Ответ: Автор ответа: Артём Меняйленко Ну, если раньше ВБ работал, значит его пора переустановить. Если нет - или диск левый, или пора Windows переустановить (желательно с форматом, проверено на личном опыте). Вопрос: Уважаемые мужчины, подскажите, пожалуйста, что означает "не удается инициализировать среду Visual Basic" и как с этим бороться, т.к. работа стоит, а я ничего не могу сделать. Ответ: Автор ответа: Андрей Исаков Возможно кто-то стер какие-то файлы, необходимые для иницализации среды разработки. Обычно такой глюк (в любой программе) лечится переустановкой оной. Удачи! Вопрос: Как в Worde или Excele прочитать DocumentProperty (BuiltInProperty), для документа, не открывая его ? Например, Author или Comments. Ответ: Автор ответа: Андрей Посмотри на http://support.microsoft.com/default.aspx?scid=kb;EN-US;q224351 Вопрос: Как в VB при нажатии кнопки с рисунком изменялся ее рисунок н другой? Ответ: Автор ответа: Ревягин_Алексей Используй Объект_MouseDown Вопрос: Как в VB при нажатии кнопки с рисунком изменялся ее рисунок н другой? Ответ: Автор ответа: Duke Если это обычная кнопка, то установите свойство Style =1-Graphical , а в свойстве DownPicture выберете путь к иконке которую вы хотите видеть при нажатии на кнопку. Вопрос: Как в VB при нажатии кнопки с рисунком изменялся ее рисунок н другой? Ответ: Автор ответа: Roman Mack Имеется кнопка cmdButton. Устанавливаем свойство Style в 1 (Graphical). With cmdButton .Picture = LoadPicture(App.Path & "\кнопка.bmp") .DownPicture = LoadPicture(App.Path & "\кнопка нажата.bmp") End With Хотя наверное проще в процессе разработки "ручками" указать в свойствах Picture и DownPicture нужные изображения. Вопрос: Как в VB при нажатии кнопки с рисунком изменялся ее рисунок н другой? Ответ: Автор ответа: Иван Помести на форму объект ImageList из библиотеки Microsoft Windows Common Controls 6.0. В него занеси 2 рисунка. Затем при загрузке формы впиши следующий код: Private Sub Form_Load() Command1.Picture = ImageList1.ListImages(1).Picture ' Где 1 - индекс картинки End Sub А при нажатии на кнопку Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Command1.Picture = ImageList1.ListImages(2).Picture End Sub Если необходимо, чтобы при отпускании кнопки рисунок возвращался на место пишем следующее: Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Command1.Picture = ImageList1.ListImages(1).Picture End Sub Вопрос: Как в VB при нажатии кнопки с рисунком изменялся ее рисунок н другой? Ответ: Автор ответа: Мунгалов Андрей используй две процедуры MOUSE_DOWN и MOUSE_UP на форме расположи кнопку и два элемета IMAGE в них загрузи разные картинки одна для простого состояния другая для нажатого. потом выставляешь свойство кнопки Style = 1, дальше вставляешь такой код: Option Explicit Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Command1.Picture = Image2.Picture End Sub Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Command1.Picture = Image1.Picture End Sub Private Sub Form_Load() Command1.Picture = Image1.Picture End Sub Вопрос: Как в VB при нажатии кнопки с рисунком изменялся ее рисунок н другой? Ответ: Автор ответа: Ильин Алексей Сохрани в свойство DownPicture твоей кнопки ссылку на картинку которая будет появляться когда кнопка будет нажата... Вопрос: Я с помощью функции SetWindowRgn устанавливаю регион. Но вот когда я его начинаю перемещать, то он остается на месте а перетаскивается только рамка. ВОПРОС: какие параметры поставить, или может есть специальная функция для перемещения региона??? Ответ: Автор ответа: Ревягин_Алексей Какая рамка? 1)Рамка окна 2)или програмно созданая рамка если 1), то попробуй в установках Windows в свойствах папки в параметрах отображения пометить "перетаскивать содержимое окна" или как-то так если 2), то ищи ошибку в коде Вопрос: Я с помощью функции SetWindowRgn устанавливаю регион. Но вот когда я его начинаю перемещать, то он остается на месте а перетаскивается только рамка. ВОПРОС: какие параметры поставить, или может есть специальная функция для перемещения региона??? Ответ: Автор ответа: Kurt Haeldar Функция есть, называется она OffsetRgn Объявление ее звучит так: Declare Function OffsetRgn Lib "gdi32" Alias "OffsetRgn" (ByVal hRgn As Long, ByVal x As Long, ByVal y As Long) As Long Параметры: ћ hrgn Сам регион ћ nXOffset смещение по Х ћ nYOffset Смещение по У Вопрос: Подскажите как средствами Visual Basic 6.0 разбить файл по 1,44Mb, а затем скопировать на дискету. Ответ: Автор ответа: Oleg Voloshin Мне кажется, это довольно несложная задача – надо читать файл в буфер кусками заданного размера (напр. 1.44 Мб), а потом из этого буфера выписывать в разные файлы. Можно сделать с использованием WinAPI љ- функций CreateFile, ReadFile, WriteFile а можно и с помощью функций ввода-вывода VB, только в этом случае читать файл надо в двоичном режиме. Вопрос: А как сделать переяагруяку или выключение компьютера программно (у меня Visual Basic 6.0)? Ответ: Автор ответа: Kurt Haeldar API функция SHExitWindowsEx поможет Вопрос: А как сделать переяагруяку или выключение компьютера программно (у меня Visual Basic 6.0)? Ответ: Автор ответа: Ревягин_Алексей Перезагрузка: shell "C:\WINDOWS\RUNDLL32.EXE shell32.dll,SHExitWindowsEx 2" Выключить: shell "C:\WINDOWS\RUNDLL32.EXE user.exe,exitwindows" Войти под другим именем: shell "C:\WINDOWS\RUNDLL.EXE shell32.dll,SHExitWindowsEx 0" Вопрос: А как сделать переяагруяку или выключение компьютера программно (у меня Visual Basic 6.0)? Ответ: Автор ответа: Иван Public Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long Public Const EWX_FORCE = 4 Public Const EWX_LOGOFF = 0 Public Const EWX_REBOOT = 2 Public Const EWX_SHUTDOWN = 1 Использование: ExitWindowsEx EWX_FORCE + EWX_REBOOT, 0 ' Перезагрузка ExitWindowsEx EWX_FORCE + EWX_SHUTDOWN, 1 ' Выключение Вопрос: А как сделать переяагруяку или выключение компьютера программно (у меня Visual Basic 6.0)? Ответ: Автор ответа: Duke 'LOGOFF = 0 'REBOOT = 2 'SHUTDOWN = 1 private Declare Function ExitWindowsEx _ Lib "user32" (ByVal uFlags As Long, _ ByVal dwReserved As Long) As Long Private Sub Form_Load() Call ExitWindowsEx 2, 0 End Sub Вопрос: А как сделать переяагруяку или выключение компьютера программно (у меня Visual Basic 6.0)? Ответ: Автор ответа: Oleg Voloshin Почитай в MSDN описание функции WinAPI ExitWindowsEx, и там ты найдешь исчерпывающие ответы на все свои вопросы по этой теме. Вопрос: Подскажите как органияовать пауяу, менее 10мс. API-функция Sleep мне не подходит, так как имеет дискретность 10мс (в Win2000). Т.е. с ее помощью можно соядать пауяы 0, 10, 20, 30 мс и т.д., а мне надо дискретност хотя бы в 1мс. Ответ: Автор ответа: Oleg Voloshin Сделать паузу интервалом около 1 мс в Windows не представляется возможным, так как это не Realtime-система, и минимальный квант времени у нее равен около 20 мс J. Вот такие пирожки. Вопрос: Подскажите как органияовать пауяу, менее 10мс. API-функция Sleep мне не подходит, так как имеет дискретность 10мс (в Win2000). Т.е. с ее помощью можно соядать пауяы 0, 10, 20, 30 мс и т.д., а мне надо дискретност хотя бы в 1мс. Ответ: Автор ответа: Ревягин_Алексей попробуй десятичные дроби например: Sleep 0.1 Вопрос: Подскажите кто янает, как данные, воявращаемые яапросом вставить в MSFlexGrid? Для доступа испольяую DAO. Ответ: Автор ответа: dMedia Private Sub FillGrid() On Error GoTo ErrTrapp Dim db As DAO.Database, rs As DAO.Recordset, SQL As String, i As Integer Set db = OpenDatabase([путь к базе], False, True) SQL = "SELECT * FROM [таблица];" Call FormatGridSearchDataParts Set rs = db.OpenRecordset(SQL) If rs.RecordCount <> 0 Then i=0 MSFlexGrid1.FormatString="<№ |<Таблица №1|<Таблица №2|<Таблица №3" Do While Not rs.EOF i=i+1 MSFlexGrid1.AddItem i & vbtab & rs.Fields(0) & vbTab & rs.Fields(1) & vbTab & rs.Fields(2) rs.MoveNext Loop Else MsgBox "По вашему запросу ничего не найдено!", vbInformation End If rs.Close db.Close Set rs = Nothing Set db = Nothing ErrTrapp: If Err.Number <> 0 Then MsgBox "Ошибка №: " & Err.Number & vbCrLf & Err.Description, vbCritical End Sub Вопрос: Подскажите кто янает, как данные, воявращаемые яапросом вставить в MSFlexGrid? Для доступа испольяую DAO. Ответ: Автор ответа: Мунгалов Андрей Private Function FillFG(strSQL) Set db = OpenDatabase(App.Path & "\твоя база.mdb", False, False) Set rs = db.OpenRecordset(strSQL) If rs.EOF Then Exit Function End If FG.Visible = True Do While Not rs.EOF With FG .TextMatrix(.Rows - 1, 0) = rs("ID") .TextMatrix(.Rows - 1, 1) = rs("FIO") .TextMatrix(.Rows - 1, 2) = rs("SCHET") .TextMatrix(.Rows - 1, 3) = rs("FIL") .TextMatrix(.Rows - 1, 4) = rs("SUMM") .Rows = .Rows + 1 End With rs.MoveNext Loop FG.Rows = FG.Rows - 1 rs.Close db.Close End Function потом вызываешь ее например вот так FillFG "SELECT * FROM ИмяТаблицы ORDER BY ИмяТаблицы.[Колонка] ASC" Вопрос: Подскажите кто янает, как данные, воявращаемые яапросом вставить в MSFlexGrid? Для доступа испольяую DAO. Ответ: Автор ответа: Кирилл Set MSHFlexGrid1.DataSource = de1.rsCom Вопрос: Подскажите пожалуйста, где можно вяять полное описание к API-функции "SystemParametersInfo", примеры работы с ней? Буду рад любой информации! Ответ: Автор ответа: Oleg Voloshin Попробуй поискать в MSDN. http://msdn.microsoft.com Вопрос: Подскажите пожалуйста, где можно вяять полное описание к API-функции "SystemParametersInfo", примеры работы с ней? Буду рад любой информации! Ответ: Автор ответа: Kurt Haeldar Вот что говорит о ней прога API-Guide: The SystemParametersInfo function queries or sets systemwide parameters. This function can also update the user profile while setting a parameter. Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long ћ uiAction Specifies the systemwide parameter to query or set. This parameter can be one of the following values: SPI_GETACCESSTIMEOUT Retrieves information about the time-out period associated with the accessibility features. The pvParam parameter must point to an ACCESSTIMEOUT structure that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(ACCESSTIMEOUT). SPI_GETANIMATION Retrieves the animation effects associated with user actions. The pvParam parameter must point to an ANIMATIONINFO structure that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(ANIMATIONINFO). SPI_GETBEEP Indicates whether the warning beeper is on. The pvParam parameter is a pointer to a BOOL that receives TRUE if the beeper is on, or FALSE if it is off. SPI_GETBORDER Retrieves the border multiplier factor that determines the width of a window’s sizing border. The pvParam parameter must point to an integer variable. SPI_GETDEFAULTINPUTLANG Returns the keyboard layout handle for the system default input language. The pvParam parameter must point to the 32-bit variable that receives the keyboard layout handle for the default language. The uiParam parameter is not used. SPI_GETDRAGFULLWINDOWS Determines whether dragging of full windows is enabled. The pvParam parameter must point to a BOOL variable that receives TRUE if enabled, or FALSE otherwise. Windows 95: This flag is supported only if Windows Plus! is installed. See SPI_GETWINDOWSEXTENSION. SPI_GETFASTTASKSWITCH This flag is obsolete. Previous versions of Windows use this flag to determine whether ALT+TAB fast task switching is enabled. Beginning with Windows 95 and Windows NT version 4.0, fast task switching is always enabled. SPI_GETFILTERKEYS Retrieves information about the FilterKeys accessibility feature. The pvParam parameter must point to a FILTERKEYS structure that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(FILTERKEYS). SPI_GETFONTSMOOTHING Indicates whether the font smoothing feature is enabled. This feature uses font anti-aliasing to make font curves appear smoother by painting pixels at different gray levels. The pvParam parameter is a pointer to a BOOL variable that receives TRUE if the feature is enabled, or FALSE if it is not. Windows 95: This flag is supported only if Windows Plus! is installed. See SPI_GETWINDOWSEXTENSION. SPI_GETGRIDGRANULARITY Retrieves the current granularity value of the desktop sizing grid. The pvParam parameter must point to an integer variable that receives the granularity. SPI_GETHIGHCONTRAST Windows 95 only: Retrieves information about the HighContrast accessibility feature. The pvParam parameter must point to a HIGHCONTRAST structure that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(HIGHCONTRAST). SPI_GETICONMETRICS Retrieves the metrics associated with icons. The pvParam parameter must point to an ICONMETRICS structure that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(ICONMETRICS). SPI_GETICONTITLELOGFONT Retrieves the logical font information for the current icon-title font. The uiParam parameter specifies the size of a LOGFONT structure, and the pvParam parameter must point to the LOGFONT structure to fill in. SPI_GETICONTITLEWRAP Determines whether icon-title wrapping is enabled. The pvParam parameter must point to a BOOL variable that receives TRUE if enabled, or FALSE otherwise. SPI_GETKEYBOARDDELAY Retrieves the keyboard repeat-delay setting. The pvParam parameter must point to an integer variable that receives the setting. SPI_GETKEYBOARDPREF Determines whether the user relies on the keyboard instead of the mouse, and wants applications to display keyboard interfaces that would otherwise be hidden. The pvParam parameter must point to a BOOL variable that receives TRUE if the user relies on the keyboard; the variable receives FALSE otherwise. SPI_GETKEYBOARDSPEED Retrieves the keyboard repeat-speed setting. The pvParam parameter must point to a DWORD variable that receives the setting. SPI_GETLOWPOWERACTIVE This flag is not supported for 32-bit applications on Windows NT or Windows 95. Windows 95 only: For 16-bit Windows applications, this value determines whether the low-power phase of screen saving is enabled or not. The pvParam parameter must point to a BOOL variable that receives TRUE if enabled, or FALSE if disabled. SPI_GETLOWPOWERTIMEOUT This flag is not supported for 32-bit applications on Windows NT or Windows 95. Windows 95 only: For 16-bit Windows applications, this value retrieves the time-out value for the low-power phase of screen saving. The pvParam parameter must point to an integer value that receives the value. SPI_GETMENUDROPALIGNMENT Determines whether pop-up menus are left-aligned or right-aligned, relative to the corresponding menu-bar item. The pvParam parameter must point to a BOOL variable that receives TRUE if left-aligned, or FALSE otherwise. SPI_GETMINIMIZEDMETRICS Retrieves the metrics associated with minimized windows. The pvParam parameter must point to a MINIMIZEDMETRICS structure that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(MINIMIZEDMETRICS). SPI_GETMOUSE Retrieves the two mouse threshold values and the mouse speed. The pvParam parameter must point to an array of three integers that receives these values. See mouse_event for further information. SPI_GETMOUSEHOVERHEIGHT Windows NT only: Gets the height, in pixels, of the rectangle within which the mouse pointer has to stay for TrackMouseEvent to generate a WM_MOUSEHOVER message. The height is returned in a UINT pointed to by the pvParam parameter. SPI_GETMOUSEHOVERTIME Windows NT only: Gets the time, in milliseconds, that the mouse pointer has to stay in the hover rectangle for TrackMouseEvent to generate a WM_MOUSEHOVER message. The time is returned in a UINT pointed to by the pvParam parameter. SPI_GETMOUSEHOVERWIDTH Windows NT only: Gets the width, in pixels, of the rectangle within which the mouse pointer has to stay for TrackMouseEvent to generate a WM_MOUSEHOVER message. The width is returned in a UINT pointed to by the pvParam parameter. SPI_GETMOUSEKEYS Retrieves information about the MouseKeys accessibility feature. The pvParam parameter must point to a MOUSEKEYS structure that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(MOUSEKEYS). SPI_GETMOUSETRAILS Windows 95 only: Indicates whether the Mouse Trails feature is enabled. This feature improves the visibility of mouse cursor movements by briefly showing a trail of cursors and quickly erasing them. The pvParam parameter is a pointer to an INT variable that receives a value. If the value is zero or 1, the feature is disabled. If the value is greater than 1, the feature is enabled and the value indicates the number of cursors drawn in the trail. The uiParam parameter is not used. SPI_GETNONCLIENTMETRICS Retrieves the metrics associated with the nonclient area of nonminimized windows. The pvParam parameter must point to a NONCLIENTMETRICS structure that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(NONCLIENTMETRICS). SPI_GETPOWEROFFACTIVE This flag is not supported for 32-bit applications on Windows NT or Windows 95. Windows 95 only: For 16-bit Windows applications, this value determines whether the power-off phase of screen saving is enabled or not. The pvParam parameter must point to a BOOL variable that receives TRUE if enabled, or FALSE if disabled. SPI_GETPOWEROFFTIMEOUT This flag is not supported for 32-bit applications on Windows NT or Windows 95. Windows 95 only: For 16-bit Windows applications, this value retrieves the time-out value for the power-off phase of screen saving. The pvParam parameter must point to an integer value that receives the value. SPI_GETSCREENREADER Windows 95 only: Determines whether a screen reviewer utility is running. A screen reviewer utility directs textual information to an output device, such as a speech synthesizer or Braille display. When this flag is set, an application should provide textual information in situations where it would otherwise present the information graphically. The pvParam parameter is a pointer to a BOOL variable that receives TRUE if a screen reviewer utility is running, or FALSE if it is not. SPI_GETSCREENSAVEACTIVE Determines whether screen saving is enabled. The pvParam parameter must point to a BOOL variable that receives TRUE if enabled, or FALSE otherwise. SPI_GETSCREENSAVETIMEOUT Retrieves the screen saver time-out value, in seconds. The pvParam parameter must point to an integer variable that receives the value. SPI_GETSERIALKEYS Windows 95 only: Retrieves information about the SerialKeys accessibility feature. The pvParam parameter must point to a SERIALKEYS structure that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(SERIALKEYS). SPI_GETSHOWSOUNDS Determines whether the Show Sounds accessibility flag is on or off. If it is on, the user requires an application to present information visually in situations where it would otherwise present the information only in audible form. The pvParam parameter must point to a BOOL variable that receives TRUE if the feature is on, or FALSE if it is off. Using this value is equivalent to calling GetSystemMetrics (SM_SHOWSOUNDS). That is the recommended call. SPI_GETSNAPTODEFBUTTON Windows NT only: Determines whether the snap-to-default-button feature is enabled. If enabled, the mouse cursor automatically moves to the default button, such as “OK” or “Apply”, of a dialog box. The pvParam parameter must point to a BOOL variable that receives TRUE if the feature is on, or FALSE if it is off. SPI_GETSOUNDSENTRY Retrieves information about the SoundSentry accessibility feature. The pvParam parameter must point to a SOUNDSENTRY structure that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(SOUNDSENTRY). SPI_GETSTICKYKEYS Retrieves information about the StickyKeys accessibility feature. The pvParam parameter must point to a STICKYKEYS structure that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(STICKYKEYS). SPI_GETTOGGLEKEYS Retrieves information about the ToggleKeys accessibility feature. The pvParam parameter must point to a TOGGLEKEYS structure that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(TOGGLEKEYS). SPI_GETWHEELSCROLLLINES Windows NT only: Gets the number of lines to scroll when the mouse wheel is rotated. The number of lines is returned in a UINT pointed to by pvParam. The default value is 3. SPI_GETWINDOWSEXTENSION Windows 95 only: Indicates whether the Windows extension, Windows Plus!, is installed. Set the uiParam parameter to 1. The pvParam parameter is not used. The function returns TRUE if the extension is installed, or FALSE if it is not. SPI_GETWORKAREA Retrieves the size of the working area. The working area is the portion of the screen not obscured by the tray. The pvParam parameter must point to the RECT structure that receives the coordinates of the working area. SPI_ICONHORIZONTALSPACING Sets the width of an icon cell. The uiParam parameter specifies the width, in pixels. SPI_ICONVERTICALSPACING Sets the height of an icon cell. The uiParam parameter specifies the height, in pixels. SPI_LANGDRIVER Not implemented. SPI_SCREENSAVERRUNNING Windows 95 only: Used internally; applications should not use this flag. SPI_SETACCESSTIMEOUT Sets the time-out period associated with the accessibility features. The pvParam parameter must point to an ACCESSTIMEOUT structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(ACCESSTIMEOUT). SPI_SETANIMATION Sets the animation effects associated with user actions. The pvParam parameter must point to an ANIMATIONINFO structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(ANIMATIONINFO). SPI_SETBEEP Turns the warning beeper on or off. The uiParam parameter specifies TRUE for on, or FALSE for off. SPI_SETBORDER Sets the border multiplier factor that determines the width of a window’s sizing border. The uiParam parameter specifies the new value. SPI_SETDEFAULTINPUTLANG Sets the default input language for the system shell and applications. The specified language must be displayable using the current system character set. The uiParam parameter is not used. The pvParam parameter must point to a 32-bit variable that contains the keyboard layout handle for the default language. SPI_SETDESKPATTERN Sets the current desktop pattern by causing Windows to read the Pattern= setting from the WIN.INI file. SPI_SETDESKWALLPAPER Sets the desktop wallpaper. The pvParam parameter must point to a null-terminated string containing the name of a bitmap file. SPI_SETDOUBLECLICKTIME Sets the double-click time for the mouse to the value of the uiParam parameter. The double-click time is the maximum number of milliseconds that can occur between the first and second clicks of a double-click. SPI_SETDOUBLECLKHEIGHT Sets the height of the double-click rectangle to the value of the uiParam parameter. The double-click rectangle is the rectangle within which the second click of a double-click must fall for it to be registered as a double-click. SPI_SETDOUBLECLKWIDTH Sets the width of the double-click rectangle to the value of the uiParam parameter. The double-click rectangle is the rectangle within which the second click of a double-click must fall for it to be registered as a double-click. SPI_SETDRAGFULLWINDOWS Sets dragging of full windows either on or off. The uiParam parameter specifies TRUE for on, or FALSE for off. Windows 95: This flag is supported only if Windows Plus! is installed. See SPI_GETWINDOWSEXTENSION. SPI_SETDRAGHEIGHT Sets the height, in pixels, of the rectangle used to detect the start of a drag operation. See SM_CXDRAG and SM_CYDRAG in the table under the nIndex parameter of GetSystemMetrics. SPI_SETDRAGWIDTH Sets the width, in pixels, of the rectangle used to detect the start of a drag operation. See SM_CXDRAG and SM_CYDRAG in the table under the nIndex parameter of GetSystemMetrics. SPI_SETFASTTASKSWITCH This flag is obsolete. Previous versions of Windows use this flag to enable or disable ALT+TAB fast task switching. Beginning with Windows 95 and Windows NT version 4.0, fast task switching is always enabled. SPI_SETFILTERKEYS Sets the parameters of the FilterKeys accessibility feature. The pvParam parameter must point to a FILTERKEYS structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(FILTERKEYS). SPI_SETFONTSMOOTHING Enables or disables the font smoothing feature, which uses font anti-aliasing to make font curves appear smoother by painting pixels at different gray levels. To enable the feature, set the uiParam parameter to TRUE. To disable the feature, set uiParam to FALSE. Windows 95: This flag is supported only if Windows Plus! is installed. See SPI_GETWINDOWSEXTENSION. SPI_SETGRIDGRANULARITY Sets the granularity of the desktop sizing grid to the value of the uiParam parameter. SPI_SETHANDHELD Used internally; applications should not use this value. SPI_SETHIGHCONTRAST Windows 95 only: Sets the parameters of the HighContrast accessibility feature. The pvParam parameter must point to a HIGHCONTRAST structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(HIGHCONTRAST). SPI_SETICONMETRICS Sets the metrics associated with icons. The pvParam parameter must point to an ICONMETRICS structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(ICONMETRICS). SPI_SETICONTITLELOGFONT Sets the font that is used for icon titles. The uiParam parameter specifies the size of a LOGFONT structure, and the pvParam parameter must point to a LOGFONT structure. SPI_SETICONTITLEWRAP Turns icon-title wrapping on or off. The uiParam parameter specifies TRUE for on, or FALSE for off. SPI_SETKEYBOARDDELAY Sets the keyboard repeat-delay setting to the value of the uiParam parameter. SPI_SETKEYBOARDPREF Windows 95 only: Sets the keyboard preference. The uiParam parameter specifies TRUE if the user relies on the keyboard instead of the mouse, and wants applications to display keyboard interfaces that would otherwise be hidden; uiParam is FALSE otherwise. SPI_SETKEYBOARDSPEED Sets the keyboard repeat-speed setting to the value of the uiParam parameter. SPI_SETLANGTOGGLE Sets the hot key set for switching between input languages. The uiParam and pvParam parameters are not used. The value sets the shortcut keys in the keyboard property sheets by reading the registry again. The registry must be set before this flag is used. the path in the registry is \HKEY_CURRENT_USER\keyboard layout\toggle. Valid values are “1” = alt+shift, “2” = ctrl+shift, and “3” = none. SPI_SETLOWPOWERACTIVE Windows 95 only: Activates or deactivates the low-power phase of screen saving. Set uiParam to 1 to activate, or 0 to deactivate. The pvParam parameter must be NULL. SPI_SETLOWPOWERTIMEOUT Windows 95 only: Retrieves the time-out value, in seconds, for the low-power phase of screen saving. The uiParam parameter specifies the new value. The pvParam parameter must be NULL. SPI_SETMENUDROPALIGNMENT Sets the alignment value of pop-up menus. The uiParam parameter specifies TRUE for right alignment, or FALSE for left alignment. SPI_SETMINIMIZEDMETRICS Sets the metrics associated with minimized windows. The pvParam parameter must point to a MINIMIZEDMETRICS structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(MINIMIZEDMETRICS). SPI_SETMOUSE Sets the two mouse threshold values and the mouse speed. The pvParam parameter must point to an array of three integers that specifies these values. See mouse_event for further information. SPI_SETMOUSEBUTTONSWAP Swaps or restores the meaning of the left and right mouse buttons. The uiParam parameter specifies TRUE to swap the meanings of the buttons, or FALSE to to restore their original meanings. SPI_SETMOUSEHOVERHEIGHT Windows NT only: Sets the height, in pixels, of the rectangle within which the mouse pointer has to stay for TrackMouseEvent to generate a WM_MOUSEHOVER message. The height is set from the uiParam parameter. SPI_SETMOUSEHOVERTIME Windows NT only: Sets the time, in milliseconds, that the mouse pointer has to stay in the hover rectangle for TrackMouseEvent to generate a WM_MOUSEHOVER message. This is used only if you pass HOVER_DEFAULT in the dwHoverTime parameter in the call to TrackMouseEvent. The time is set from the uiParam parameter. SPI_SETMOUSEHOVERWIDTH Windows NT only: Sets the width, in pixels, of the rectangle within which the mouse pointer has to stay for TrackMouseEvent to generate a WM_MOUSEHOVER message. The width is set from the uiParam parameter. SPI_SETMOUSEKEYS Sets the parameters of the MouseKeys accessibility feature. The pvParam parameter must point to a MOUSEKEYS structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(MOUSEKEYS). SPI_SETMOUSETRAILS Windows 95 only: Enables or disables the Mouse Trails feature, which improves the visibility of mouse cursor movements by briefly showing a trail of cursors and quickly erasing them. To disable the feature, set the uiParam parameter to zero or 1. To enable the feature, set uiParam to a value greater than 1 to indicate the number of cursors drawn in the trail. SPI_SETNONCLIENTMETRICS Sets the metrics associated with the nonclient area of nonminimized windows. The pvParam parameter must point to a NONCLIENTMETRICS structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(NONCLIENTMETRICS). SPI_SETPENWINDOWS Windows 95 only: Specifies that pen windows is being loaded or unloaded. The uiParam parameter is TRUE when loading and FALSE when unloading pen windows. The pvParam parameter is NULL. SPI_SETPOWEROFFACTIVE Windows 95 only: Activates or deactivates the power-off phase of screen saving. Set uiParam to 1 to activate, or 0 to deactivate. The pvParam parameter must be NULL. SPI_SETPOWEROFFTIMEOUT Windows 95 only: Retrieves the time-out value, in seconds, for the power-off phase of screen saving. The uiParam parameter specifies the new value. The pvParam parameter must be NULL. SPI_SETSCREENREADER Windows 95 only: Indicates whether a screen review utility is running. The uiParam parameter specifies TRUE for on, or FALSE for off. SPI_SETSCREENSAVEACTIVE Sets the state of the screen saver. The uiParam parameter specifies TRUE to activate screen saving, or FALSE to deactivate it. SPI_SETSCREENSAVETIMEOUT Sets the screen saver time-out value to the value of the uiParam parameter. This value is the amount of time, in seconds, that the system must be idle before the screen saver activates. SPI_SETSERIALKEYS Windows 95 only: Sets the parameters of the SerialKeys accessibility feature. The pvParam parameter must point to a SERIALKEYS structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(SERIALKEYS). SPI_SETSHOWSOUNDS Sets the ShowSounds accessibility feature as on or off. The uiParam parameter specifies TRUE for on, or FALSE for off. SPI_SETSNAPTODEFBUTTON Windows NT only: Enables or disables the snap-to-default-button feature. If enabled, the mouse cursor automatically moves to the default button, such as “OK” or “Apply”, of a dialog box. Set the uiParam parameter to TRUE to enable the feature, or FALSE to disable it. SPI_SETSOUNDSENTRY Sets the parameters of the SoundSentry accessibility feature. The pvParam parameter must point to a SOUNDSENTRY structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(SOUNDSENTRY). SPI_SETSTICKYKEYS Sets the parameters of the StickyKeys accessibility feature. The pvParam parameter must point to a STICKYKEYS structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(STICKYKEYS). SPI_SETTOGGLEKEYS Sets the parameters of the ToggleKeys accessibility feature. The pvParam parameter must point to a TOGGLEKEYS structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(TOGGLEKEYS). SPI_SETWHEELSCROLLLINES Windows NT only: Sets the number of lines to scroll when the mouse wheel is rotated. The number of lines is set from the uiParam parameter. The number of lines is the suggested number of lines to scroll when the mouse wheel is rolled without using modifier keys. If the number is 0, then no scrolling should occur. If the number of lines to scroll is greater than the number of lines viewable, and in particular if it is WHEEL_PAGESCROLL (#defined as UINT_MAX), the scroll operation should be interpreted as clicking once in the page down or page up regions of the scroll bar. SPI_SETWORKAREA Sets the size of the work area. The work area is the portion of the screen not obscured by the taskbar. The pvParam parameter must point to the RECT structure that contains the coordinates of the work area. ћ uiParam Depends on the system parameter being queried or set. For more information about systemwide parameters, see the uiAction parameter. If not otherwise indicated, specify zero. ћ pvParam Depends on the system parameter being queried or set. For more information about systemwide parameters, see the uiAction parameter. If not otherwise indicated, specify NULL. ћ fWinIni If a system parameter is being set, specifies whether the user profile is to be updated, and if so, whether the WM_SETTINGCHANGE message is to be broadcast to all top-level windows to notify them of the change. This parameter can be zero or can be one of the following values: SPIF_UPDATEINIFILE Writes the new system-wide parameter setting to the user profile. SPIF_SENDCHANGE Broadcasts the WM_SETTINGCHANGE message after updating the user profile. SPIF_SENDWININICHANGE Same as SPIF_SENDCHANGE. Вопрос: Как открыть конкретный файл в Екселе их VB6. Иявлечьданные-ия столбца, обработатьи вернуть на место. Ответ: Автор ответа: Oleg Voloshin Делается это средствами OLE-автоматизации. Создаешь объект Exel, потом используешь его методы для манипулирования всем, чем угодно в Exel-файле, и потом закрываешь файл, и удаляешь объект. Если интересно, могу прислать пример – когда-то что-то подобное делал. Понадобится – пиши! Вопрос: Как послать строку в текстовое поле чужого окна? Ответ: Автор ответа: P@Ssword SendKeys "CTPOKA" Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
|||||||||||||||
Выпуск подготовили: |
Сурменок Павел |