PDA

View Full Version : سوال: غیر فعال کردن ScrenSever ویندوز ؟؟؟



AlgorithmX
پنج شنبه 25 آذر 1389, 22:18 عصر
دوستان عزیز سورسی لطف کنید که تا مدتی که برنامه باز است مانع از اجرا محافظ صفحه شود و در ویندوز 7 هم کار کند.

ممنون میشم ....!!

butterfly8528
جمعه 26 آذر 1389, 03:19 صبح
سلام دوست عزیز .

با کد زیر اسکرین سیور درجا غیر فعال میشه :


Option Explicit

Private Declare Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
Const WM_SYSCOMMAND = &H112&
Const SC_SCREENSAVE = &HF140&



Private Sub Form_Load()
' For DeActive Screen Saver
SendMessage Me.hWnd, WM_SYSCOMMAND, SC_SCREENSAVE, 0&

' For Active Screen Saver
' SendMessage Me.hWnd, WM_SYSCOMMAND, SC_SCREENSAVE, 1&
End Sub



با این کد هم با اجرای برنامه شما کلا اسکرین سیور غیر فعال، و با بسته شدن برنامه مجددن فعال میشه :


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

Private Function ScreenSaverActive(Active As Boolean) As Boolean

Dim lActiveFlag As Long, retval As Long

lActiveFlag = IIf(Active, 1, 0)
retval = SystemParametersInfo(17, lActiveFlag, 0, 0)
ScreenSaverActive = retval > 0

End Function


Private Sub Form_Load()
Call ScreenSaverActive(False)
End Sub

Private Sub Form_Unload(Cancel As Integer)
Call ScreenSaverActive(True)
End Sub


موفق باشید .