logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Visual Basic - Jak zablokować wygaszacz ekranu w Windows XP Home?

Bartek_Wosik 19 Lis 2005 16:52 2034 4
REKLAMA
  • #1 2005606
    Bartek_Wosik
    Poziom 27  
    Posty: 1028
    Pomógł: 100
    Ocena: 42
    Jak z poziomu VB zablokować włączanie się wygaszacza ekranu (tak jak to często robią odtwarzacze multimedialne)? Mam windowsa XP Home
  • REKLAMA
  • REKLAMA
  • #3 2007472
    Bartek_Wosik
    Poziom 27  
    Posty: 1028
    Pomógł: 100
    Ocena: 42
    Zrobiłem tak:
    
    
    Option Explicit
    
    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
    
    
    Const WM_SYSCOMMAND = &H112&
    Const SC_SCREENSAVE = &HF140&
    
    
    
    
    Private Sub Command1_Click()
        SendMessage Me.hwnd, WM_SYSCOMMAND, SC_SCREENSAVE, ByVal 0&
    End Sub
    

    ale to mi tylko włącza wygaszacz a ja chcę zeby mi się nie włączał :|

    Znalazłem jeszcze coś takiego http://www.codeguru.com/Cpp/COM-Tech/shell/icons/article.php/c1323/ ale to jest w C++ a ja nie mam zielonego pojęcia o tym języku
  • REKLAMA
  • Pomocny post
    #4 2014087
    sivex
    Poziom 27  
    Posty: 815
    Pomógł: 113
    Ocena: 25
    moze modyfikuj poprostu rejestr:

    [HKEY_USERS\.DEFAULT\Control Panel\Desktop]
    "ScreenSaveActive"="0"


    albo

    Private Const SPI_SETSCREENSAVEACTIVE = 17

    Private Declare Function SystemParametersInfo Lib "user32" & _
    Alias "SystemParametersInfoA" (ByVal uAction As Long, & _
    ByVal uParam As Long, ByVal lpvParam As Long, & _
    ByVal fuWinIni As Long) As Long



    Public Function EnableScreenSaver(ByVal bStatus As Boolean) As Boolean
    Dim lActiveFlag As Long
    Dim lRetval As Long

    lActiveFlag = IIf(bStatus, 1, 0)
    lRetval = SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, & _
    lActiveFlag, 0, 0)

    IF lRetval > 0 THEN
    EnableScreenSaver = TRUE
    ELSE
    EnableScreenSaver = FALSE
    END IF

    End Function
  • #5 2014877
    Bartek_Wosik
    Poziom 27  
    Posty: 1028
    Pomógł: 100
    Ocena: 42
    sivex dziękuje za pomoc, na Ciebie zawsze można liczyć :-). Temat uważam za zamkniety

    Pozdrawiam, Bartek
REKLAMA