DOCUMENT:Q141024 06-SEP-1996 [vbwin]
TITLE :How to Start a Visual Basic Screen Saver Using SendMessage API
PRODUCT :Microsoft Visual Basic for Windows
PROD/VER:4.00
OPER/SYS:WINDOWS
KEYWORDS:kbprg kbcode
------------------------------------------------------------------------
The information in this article applies to:
- Standard, Professional, and Enterprise Editions of Microsoft Visual
Basic, 16 and 32 bit, for Windows, version 4.0
------------------------------------------------------------------------
SUMMARY
=======
The sample code below shows how to start a Visual Basic screen saver
by sending a Windows message to the Control-menu box on a form.
MORE INFORMATION
================
Microsoft Windows starts screen savers through the System-menu box on
a form. The System-menu box is also known as the Control-menu box in
Visual Basic. You can send Windows messages to the Control-menu box
by using the SendMessage Windows API (application programming
interface) function.
[general declarations]
#If Win32 Then
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&
#Else
Private Declare Function SendMessage Lib "User" (ByVal _ hWnd
As Integer, ByVal wMsg As Integer, ByVal wParam As _ Integer,
lParam As Any) As Long
Const WM_SYSCOMMAND = &H112
Const SC_SCREENSAVE = &HF140&
#End If
Private Sub Command1_Click()
Dim result As Long
result = SendMessage(Form1.hWnd, WM_SYSCOMMAND, _
SC_SCREENSAVE, 0&)
End Sub
REFERENCES
==========
You can find two sample programs and a complete explanation showing how to
write your own screen savers in Visual Basic in the following book:
"Visual Basic Workshop 3.0" by John C. Craig, published by Microsoft Press.
Additional reference words: 3.00 4.00 vb4win vb4all .SCR TOPMOST
SETWINDOWPOS SCRNSAVE timer
KBCategory: kbprg kbcode
KBSubcategory: PrgCtrlsStd
============================================================================
=
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS
PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS
ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO
EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR
ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL,
CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF
MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION
OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES
SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1996.