Hi,
Code:
'----------------------- modGetVersionEx ------------------------
Option Explicit
Private Declare Function GetVersionEx Lib "kernel32" Alias _
"GetVersionExA" (lpVersionInformation As _
OSVERSIONINFO) As Long
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type
Public g_fIsWinNT As Boolean
Public Function IsWinNT() As Boolean
Dim osvi As OSVERSIONINFO
Dim intRet As Integer
osvi.dwOSVersionInfoSize = 148
osvi.szCSDVersion = Space$(128)
intRet = GetVersionEx(osvi)
If osvi.dwMajorVersion > 4 Then IsWinNT = True
End Function
'--------------------------- frmMain ----------------------------
Option Explicit
Private Declare Sub keybd_event Lib "user32" (ByVal _
bVk As Byte, ByVal bScan As Byte, ByVal dwFlags _
As Long, ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP = &H2
Private Const VK_SNAPSHOT = &H2C
Private Const VK_MENU = &H12
Private Sub Form_Load()
g_fIsWinNT = IsWinNT
With picQuelle
.AutoRedraw = True
.AutoSize = True
.Visible = False
End With
picZiel.AutoRedraw = True
End Sub
Private Sub cmdScreenshotDesktop_Click()
Clipboard.Clear
If g_fIsWinNT Then
keybd_event VK_SNAPSHOT, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0
Else
keybd_event VK_SNAPSHOT, 1, 0, 0
keybd_event VK_SNAPSHOT, 1, KEYEVENTF_KEYUP, 0
End If
DoEvents
SizeBitmapToPicBox picQuelle, picZiel
End Sub
Private Sub cmdScreenshotWindow_Click()
Clipboard.Clear
If g_fIsWinNT Then
keybd_event VK_SNAPSHOT, 1, 0, 0
keybd_event VK_SNAPSHOT, 1, KEYEVENTF_KEYUP, 0
Else
keybd_event VK_MENU, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0
keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
End If
DoEvents
SizeBitmapToPicBox picQuelle, picZiel
End Sub
Private Sub SizeBitmapToPicBox(ByVal vpicQuelle As PictureBox, _
ByVal vpicZiel As PictureBox)
Dim sngRatio As Single
Dim sngWidth As Single
Dim sngHeight As Single
vpicZiel.Cls
vpicQuelle.Picture = Clipboard.GetData(vbCFBitmap)
sngRatio = vpicQuelle.ScaleWidth / vpicQuelle.ScaleHeight
sngWidth = vpicZiel.ScaleWidth
sngHeight = vpicZiel.ScaleHeight
If (sngWidth / sngHeight) > sngRatio Then
sngWidth = sngRatio * sngHeight
Else
sngHeight = sngWidth / sngRatio
End If
vpicZiel.PaintPicture vpicQuelle.Picture, _
(vpicZiel.ScaleWidth - sngWidth) / 2, _
(vpicZiel.ScaleHeight - sngHeight) / 2, _
sngWidth, sngHeight
End Sub
Also dieser Code ist von VBFun und naja bei XP gehts aber bei W98 noch nicht! Wie ich aber jetzt festgestellt hab in der Arbeit gehts auch auf Win98SE :-) liegt an meiner Oberfläche ;-)
Was hier aber 180° gebogen sein soll weiß ich leider nicht ;-) es sind nur die 4mm Stangen zum Verbinden der beiden Plattformen vorhanden.
Die Motoren sind mit 1mm Chromatierten Blech befestigt.
Ja jetzt müsste ich nur noch den weg Loggen den ich abgefahren habe in Lernmodus und dann muss er Ihn wieder abfahren :-)
Ulli
Lesezeichen