home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / bp_6_93 / vbwin / tricks / 4_94.frm < prev    next >
Text File  |  1995-02-26  |  6KB  |  211 lines

  1. VERSION 2.00
  2. Begin Form Form1 
  3.    BackColor       =   &H00C0C0C0&
  4.    ClientHeight    =   5304
  5.    ClientLeft      =   1860
  6.    ClientTop       =   1620
  7.    ClientWidth     =   7176
  8.    Height          =   5724
  9.    Icon            =   4_94.FRX:0000
  10.    Left            =   1812
  11.    LinkTopic       =   "Form1"
  12.    ScaleHeight     =   5304
  13.    ScaleWidth      =   7176
  14.    Top             =   1248
  15.    Width           =   7272
  16.    Begin CheckBox Check1 
  17.       BackColor       =   &H00C0C0C0&
  18.       Caption         =   "Nur anzeigen"
  19.       Height          =   372
  20.       Left            =   4140
  21.       TabIndex        =   7
  22.       Top             =   1080
  23.       Width           =   2892
  24.    End
  25.    Begin TextBox Text1 
  26.       FontBold        =   -1  'True
  27.       FontItalic      =   0   'False
  28.       FontName        =   "MS Sans Serif"
  29.       FontSize        =   9.6
  30.       FontStrikethru  =   0   'False
  31.       FontUnderline   =   0   'False
  32.       Height          =   432
  33.       Left            =   4140
  34.       TabIndex        =   6
  35.       Text            =   "Text1"
  36.       Top             =   540
  37.       Width           =   2892
  38.    End
  39.    Begin CommandButton com 
  40.       Caption         =   "&Ende"
  41.       Height          =   672
  42.       Index           =   3
  43.       Left            =   4140
  44.       TabIndex        =   5
  45.       Top             =   4380
  46.       Width           =   2112
  47.    End
  48.    Begin CommandButton com 
  49.       Caption         =   "Rechner &booten"
  50.       Height          =   672
  51.       Index           =   2
  52.       Left            =   360
  53.       TabIndex        =   3
  54.       Top             =   4380
  55.       Width           =   2112
  56.    End
  57.    Begin CommandButton com 
  58.       Caption         =   "Windows &Neustart"
  59.       Height          =   672
  60.       Index           =   1
  61.       Left            =   360
  62.       TabIndex        =   2
  63.       Top             =   3540
  64.       Width           =   2112
  65.    End
  66.    Begin CommandButton com 
  67.       Caption         =   "Windows &beenden"
  68.       Height          =   672
  69.       Index           =   0
  70.       Left            =   360
  71.       TabIndex        =   1
  72.       Top             =   2700
  73.       Width           =   2112
  74.    End
  75.    Begin Label lbl_mod 
  76.       BackColor       =   &H00C0C0C0&
  77.       Height          =   732
  78.       Left            =   360
  79.       TabIndex        =   4
  80.       Top             =   1080
  81.       Width           =   3432
  82.    End
  83.    Begin Label lbl_ver 
  84.       BackColor       =   &H00C0C0C0&
  85.       Height          =   312
  86.       Left            =   360
  87.       TabIndex        =   0
  88.       Top             =   600
  89.       Width           =   3432
  90.    End
  91. End
  92. 'korrekte Windows-Version
  93. Declare Function GetFileVersionInfo% Lib "VER.DLL" (ByVal lpszFileName$, ByVal lpdwHandle&, ByVal cbbuf&, ByVal lpvdata$)
  94.  
  95. 'Windows beenden
  96. Declare Function ExitWindows% Lib "User" (ByVal dwReserved&, ByVal wReturnCode%)
  97. Const EW_REBOOTSYSTEM = &H43
  98. Const EW_RESTARTWINDOWS = &H42
  99.  
  100. 'Entwicklungsumgebung oder EXE?
  101. Declare Function GetClassName% Lib "User" (ByVal hWnd%, ByVal lpClassName$, ByVal nMaxCount%)
  102. Declare Function GetWindowWord% Lib "User" (ByVal hWnd%, ByVal nIndex%)
  103. Const GWW_HWNDPARENT = (-8)
  104.  
  105. 'ben÷tigte Funktionen fⁿr Test ob Programm schon lΣuft
  106. Declare Function FindWindow% Lib "user" (ByVal lpClassName As Any, ByVal lpCaption As Any)
  107. Declare Function ShowWindow% Lib "User" (ByVal Handle As Integer, ByVal Cmd As Integer)
  108. Declare Function SFocus% Lib "User" Alias "SetFocus" (ByVal Handle As Integer)
  109.  
  110. 'textboxen
  111. Declare Function SendMessage& Lib "User" (ByVal hWnd%, ByVal wMsg%, ByVal wParam%, lParam As Any)
  112. Const WM_USER = &H400
  113. Const EM_SETREADONLY = (WM_USER + 31)
  114. Const EM_LIMITTEXT = (WM_USER + 21)
  115.  
  116. Sub Check1_Click ()
  117.  
  118.     If check1.Value = 0 Then
  119.     X& = SendMessage&(text1.hWnd, EM_SETREADONLY, False, 0)
  120.     Else
  121.     X& = SendMessage&(text1.hWnd, EM_SETREADONLY, True, 0)
  122.     End If
  123.  
  124. End Sub
  125.  
  126. Sub com_Click (Index As Integer)
  127.  
  128.     Select Case Index
  129.     Case 0 'Win beenden
  130.     Modus& = 0
  131.     Case 1 'Win Neustart
  132.     Modus& = EW_RESTARTWINDOWS
  133.     Case 2 'Rechner booten
  134.     Modus& = EW_REBOOTSYSTEM
  135.     Case 3 'Programmende
  136.     End
  137.     End Select
  138.     
  139.     kr% = ExitWindows%(Modus&, 0)
  140.  
  141.     If kr% = False Then
  142.     MsgBox "Windows kann nicht beendet werden", 16, "Artikel 4/94 (KR)"
  143.     End If
  144.     
  145.  
  146. End Sub
  147.  
  148. Function Entwicklung% ()
  149.     
  150.     parent% = GetWindowWord%(hWnd, GWW_HWNDPARENT)
  151.     class$ = Space$(32)
  152.     kr% = GetClassName%(parent%, class$, 31)
  153.     class$ = Left$(class$, kr%)
  154.     If InStr(class$, "RT") Then
  155.     Entwicklung% = False
  156.     Else
  157.     Entwicklung% = True
  158.     End If
  159.  
  160. End Function
  161.  
  162. Sub Form_Load ()
  163.     
  164.     Me.Caption = ""
  165.     Titel$ = "Artikel BP 4/94         Klaus Rambow"
  166.     kr% = SchonGestartet(Titel$)
  167.     If kr% = True Then
  168.     End
  169.     End If
  170.     Me.Caption = Titel$
  171.     
  172.     
  173.     'Windows-Version
  174.     lbl_ver.Caption = "Windows-Version: " & Win_Version()
  175.     
  176.     'Entwicklungumgebung oder EXE?
  177.     If Entwicklung%() Then
  178.     Modus$ = " in der Entwicklungumgebung."
  179.     Else
  180.     Modus$ = " als EXE."
  181.     End If
  182.     lbl_mod.Caption = "Die Anwendung lΣuft " & Modus$
  183.  
  184. End Sub
  185.  
  186. Function SchonGestartet (Form As String) As Integer
  187.     
  188.     'Dim Handle As Integer
  189.     Handle% = FindWindow(0&, Form)
  190.     If Handle% = 0 Then
  191.     SchonGestartet = False
  192.     Else
  193.     X% = ShowWindow(Handle%, 1)
  194.     X% = SFocus(Handle%)
  195.     SchonGestartet = True
  196.     End If
  197.  
  198. End Function
  199.  
  200. Function Win_Version ()
  201.     
  202.     Dim Version As String * 255
  203.     Version = Space$(255)
  204.     kr% = GetFileVersionInfo("user.exe", 0&, 254, Version)
  205.     X = InStr(1, Version, "FileVersion")
  206.     antw = Mid$(Version, X + 12, 4)
  207.     Win_Version = antw
  208.  
  209. End Function
  210.  
  211.