home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Programming Tool Box
/
SIMS_2.iso
/
bp_3_94
/
vbwin
/
tricks
/
strt_scr.frm
< prev
next >
Wrap
Text File
|
1994-05-24
|
4KB
|
117 lines
VERSION 2.00
Begin Form Form1
BorderStyle = 0 'None
ClientHeight = 876
ClientLeft = 3552
ClientTop = 3960
ClientWidth = 3480
ControlBox = 0 'False
Height = 1296
Icon = STRT_SCR.FRX:0000
Left = 3504
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 876
ScaleWidth = 3480
Top = 3588
Width = 3576
Begin CommandButton Command1
Caption = "SCR-Starter"
Height = 312
Left = 0
TabIndex = 0
Top = 0
Width = 1332
End
End
'###########################################################################
'#
'# SCR-Starter ⌐ 1994 Klaus Rambow fⁿr Basic Professionell
'#
'# Ingenieurbⁿro Rambow
'# Dresdener Str. 21
'# 63329 Egelsbach
'# Fax: 06103 800444
'# CIS: 100060,724
'#
'###########################################################################
'Deklarieren der API-Funktionen und Konstanten
'ErklΣrt werden diese wenn sie verwendet werden
Declare Function SendMessage& Lib "User" (ByVal hWnd%, ByVal wMsg%, ByVal wParam%, lParam As Any)
Const WM_SYSCOMMAND = &H112
Const SC_SCREENSAVE = &HF140
Declare Function GetPrivateProfileString% Lib "Kernel" (ByVal lpApplicationName$, ByVal lpKeyName$, ByVal lpDefault$, ByVal lpReturnedString$, ByVal nSize%, ByVal lpFileName$)
Declare Function SetWindowPos Lib "User" (ByVal hWnd%, ByVal hWndInsertAfter%, ByVal x%, ByVal Y%, ByVal cx%, ByVal cy%, ByVal wFlags%) As Integer
Const SWP_NOMOVE = 2
Const SWP_NOSIZE = 1
Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Declare Function GetWindowsDirectory% Lib "Kernel" (ByVal lpBuffer$, ByVal nSize%)
Sub Command1_Click ()
'Feststellen des Windows-Pfades
WinDir$ = String$(145, 0) ' Puffergr÷▀e festlegen
x% = GetWindowsDirectory(WinDir$, 145) ' API-Funktion zum Erkennen des Windows-Pfades
WinDir$ = Left$(WinDir$, x%) ' RⁿckgabeString "trimmen"
If Right$(WinDir$, 1) <> "\" Then ' \ hinzufⁿgen wenn n÷tig
WinDir$ = WinDir$ + "\"
End If
'in der SYSTEM.INI prⁿfen, ob Screensaver installiert
ApplicationName$ = "boot" 'festlegen der Parameter fⁿr API-Call
KeyName$ = "SCRNSAVE.EXE"
Default$ = ""
ReturnedString$ = Space$(128)
nSize% = Len(ReturnedString$)
Filename$ = WinDir$ & "SYSTEM.INI"
x% = GetPrivateProfileString%(ApplicationName$, KeyName$, Default$, ReturnedString$, nSize%, Filename$)
If UCase$(Right$(Left$(ReturnedString$, x%), 3)) <> "SCR" Then 'testen ob Schoner installiert
MsgBox "Es ist kein Bildschirmschoner installiert!", 64, "SCR-Starter"
Exit Sub
End If
'Form nicht mehr dauernd im Vordergrund, wⁿrde sonst vor dem Screensaver stehen
'wird in der Form_Paint-Prozedur wieder auf dauernd im Vordergrund eingestellt
kr% = SetWindowPos(form1.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS)
kr% = SendMessage&(form1.hWnd, WM_SYSCOMMAND, SC_SCREENSAVE, 0) 'Screensaver aktivieren
End Sub
Sub Form_Load ()
'Bedingt durch die eingestellten Eigenschaften der Form
'ist von diesem Programm nur der Button sichtbar.
'Dieser steht in der unteren rechten Bildschirmecke
'Ein Beenden des Programmes ist bei diesen Einstellungen nur ⁿber
'den Windows-Taskmanager m÷glich.
Width = Command1.Width
Height = Command1.Height
left = screen.Width - Width
top = screen.Height - Height
'definiert beim Programmstart die Form als immer im Vordergrund stehend
'Rⁿckgabewert kr% ist <> 0 wenn es erfolgreich war
kr% = SetWindowPos(form1.hWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)
End Sub
Sub Form_Paint ()
'definiert nach Beenden des Schoners die Form wieder als immer im Vordergrund stehend
kr% = SetWindowPos(form1.hWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)
End Sub