Страница: 1 |
|
Вопрос: Установка времени двойного клика мыши.
|
Добавлено: 04.09.06 06:17
|
|
Автор вопроса: Миха
|
Привет всем.
Требуется программно на VB.NET изменить время на двойной клик мыши в винде. Единственное что смог найти это:
Declare Function SystemParametersInfo Lib "User" (ByVal uAction As Integer, ByVal uparam As Integer, ByVal lpvParam As String, ByVal fuWinIni As Integer) As Integer
но как этим пользоваться ума не приложу.
Может кто поможет небольшим конкретным примером как всё же изменить время двойного клика.
Заранее благодарен.
Ответить
|
Номер ответа: 1 Автор ответа: Viper
ICQ: 249094859
Вопросов: 0 Ответов: 310
|
Профиль | | #1
|
Добавлено: 16.09.06 08:01
|
Начнем с того, что декларация неправильная. Правильная:
Public Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Integer, ByVal uParam As Integer, ByRef lpvParam As Integer, ByVal fuWinIni As Integer) As Integer
Public Const SPI_SETDOUBLECLICKTIME As Integer= 32
Использование элементарно:
SystemParametersInfo(SPI_SETDOUBLECLICKTIME, tTime,0,0)
где tTime - время двойного клика в миллисекундах.
Еще проще поюзать функции SetDoubleClickTime и GetDoubleClickTime:
Public Declare Function SetDoubleClickTime Lib "user32" (ByVal wCount As Integer) As Integer
Public Declare Function GetDoubleClickTime Lib "user32" () As Long
Первая устанавливает время двойного клика, вторая соответственно возвращает. В VB.NET кстати есть более простой способ получить время двойного клика - использование расшареного свойства DoubleClickTime класса SystemInformation. Однако метода для установки нет.
Ответить
|
Номер ответа: 3 Автор ответа: ANALYST
Вопросов: 3 Ответов: 12
|
Профиль | | #3
|
Добавлено: 22.09.10 11:30
|
- Imports System.Runtime.InteropServices
-
- Module Module1
-
- Declare Function SetDoubleClickTime Lib "user32.dll" (ByVal uInterval As UInteger) As Boolean
- Declare Function GetDoubleClickTime Lib "user32.dll" () As Integer
-
- Public Const SPI_SETDOUBLECLICKTIME As Integer = 500
-
- Sub Main()
- Dim args() As String
- args = GetCommandLine()
- If args.Length > 1 Then
- If IsNumeric(args(1)) = True Then
- SetDoubleClickTime(args(1))
- End If
- End If
- Console.WriteLine(GetDoubleClickTime().ToString)
- End Sub
-
- Function GetCommandLine(Optional ByVal MaxArgs As Integer = 255)
-
-
-
-
-
- Dim C, CmdLine, CmdLnLen, InArg, I, NumArgs
- Dim ArgArray() As String
-
-
- ReDim ArgArray(MaxArgs)
-
- NumArgs = 0 : InArg = False
-
-
- CmdLine = Command()
- CmdLnLen = CmdLine.Length
-
- For I = 1 To CmdLnLen
- C = Mid(CmdLine, I, 1)
-
- If (C <> " " And C <> vbTab) Then
-
- If Not InArg Then
-
- If NumArgs = MaxArgs Then Exit For
- NumArgs = NumArgs + 1
- InArg = True
- End If
-
- ArgArray(NumArgs) = ArgArray(NumArgs) & C
- Else
-
-
- InArg = False
- End If
- Next I
-
- ReDim Preserve ArgArray(NumArgs)
-
- GetCommandLine = ArgArray
- End Function
- End Module
Ответить
|
Страница: 1 |
Поиск по форуму