ActiveX Control
Alfons
- sonstiges
0 (_o_)0 Mobbing Dig
hey..
habe eine Problem mit dem Snapshot Script...
hab es in VB so eingebunden:
##########################################
Option Explicit
' Benötigte API-Deklarationen
Private Declare Function BitBlt Lib "gdi32" ( _
ByVal hDestDC As Long, _
ByVal x As Long, ByVal y As Long, _
ByVal nWidth As Long, ByVal nHeight As Long, _
ByVal hSrcDC As Long, _
ByVal xSrc As Long, ByVal ySrc As Long, _
ByVal dwRop As Long) As Long
Private Declare Function GetDC Lib "user32" ( _
ByVal hWnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" ( _
ByVal hWnd As Long, _
ByVal hdc As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
' Screenshot eines bestimmten Bildschirmausschnitts erstellen
' und als Bitmap in einer Datei abspeichern
Public Sub Snapshot(oForm As Form, ByVal sFile As String, _
Optional ByVal x As Variant, _
Optional ByVal y As Variant, _
Optional ByVal nWidth As Variant, _
Optional ByVal nHeight As Variant)
Dim hWnd As Long
Dim nDC As Long
Dim oPicBox As Control
' Handle des Windows-Desktop
hWnd = GetDesktopWindow()
' Zugang zum Device-Context
nDC = GetDC(hWnd)
' Position und Größe des Bildschirmausschnitts
If IsMissing(x) Then x = 0
If IsMissing(y) Then y = 0
If IsMissing(nWidth) Then nWidth = Screen.Width * Screen.TwipsPerPixelX
If IsMissing(nHeight) Then nHeight = Screen.Height * Screen.TwipsPerPixelY
' temporäre PictureBox erstellen
Set oPicBox = oForm.Controls.Add("VB.PictureBox", "myPicTemp")
With oPicBox
.ScaleMode = vbPixels
.Width = oForm.ScaleX(nWidth, vbPixels, oForm.ScaleMode)
.Height = oForm.ScaleY(nHeight, vbPixels, oForm.ScaleMode)
' Snapshot in PictureBox blitten
.AutoRedraw = True
BitBlt .hdc, 0, 0, nWidth, nHeight, nDC, x, y, vbSrcCopy
' Bild abspeichern
SavePicture .Image, sFile
' DC wieder freigeben
ReleaseDC hWnd, nDC
End With
' Control wieder entfernen
oForm.Controls.Remove "myPicTemp"
MsgBox "Hello world", , "Message"
End Sub
Sub MainBut_Click()
Snapshot Me,
End Sub
################################
funktioniert so nicht! vielleicht hat jemand eine Idee!
der compiler merkert wegen Public Sub Snapshot rum..
aber die funlktion muss ja Public sein!
bei Private kommt beim ausführen.. runtime error 13
Hallo,
ach, mit so detaillierten Fehlerausgaben kann doch jeder was anfangen, da leuchtet mir das Herz . . .
Tipp:
Du könntest den Code so verändern, dass er funktioniert, und der Fehler nicht mehr auftritt.
(genauso sinnfrei wie die Fehlermeldung).
so long
Du könntest den Code so verändern, dass er funktioniert, und der Fehler nicht mehr auftritt.
(genauso sinnfrei wie die Fehlermeldung).
kann auch nix für Microsofts Fehlermeldungen!
Aber kenn hier von Euch jemanden ein Forum wo es auch
kompetente Leute gibt?
Kindergarten !!!!!!!!!!!!!!!
Hi,
Du könntest den Code so verändern, dass er funktioniert, und der Fehler nicht mehr auftritt.
(genauso sinnfrei wie die Fehlermeldung).
kann auch nix für Microsofts Fehlermeldungen!
Es geht hier nicht um Microsofts Fehlermeldung, die hast Du ja nicht genannt. Es geht um die von Dir gemachte Fehlermeldung
"funktioniert so nicht!"
Das sagt natürlich alles. Keiner hier weiß, was Du da eigentlich basteln willst. Also weiß auch keiner, was "funktioniert nicht" bedeutet.
"vielleicht hat jemand eine Idee!"
Hilft sehr, das Problem zu klären.
"der compiler merkert wegen Public Sub Snapshot rum.."
Die Compiler-Fehlermeldung verschweigst Du - wie soll man da helfen?
"aber die funlktion muss ja Public sein!"
Auch hier: nicht sehr aussagekräftig. Warum muß sie Public sein?
Aber kenn hier von Euch jemanden ein Forum wo es auch
kompetente Leute gibt?
Naja, die Antworten richten sich auch nach der Qualität der Frage.
Wenn jemand inkompetent fragt, kann kaum kompetent geantwortet werden.
Kindergarten !!!!!!!!!!!!!!!
Soll Dich jemand dorthin bringen? Findest Du den Weg nicht allein?
cu,
Andreas
funktioniert so nicht! vielleicht hat jemand eine Idee!
der compiler merkert wegen Public Sub Snapshot rum..
aber die funlktion muss ja Public sein!bei Private kommt beim ausführen.. runtime error 13
mein win95-rechner geht da in den standbymodus und fährt erst wieder hoch, wenn ich "bitte" sage ! sonst finde ich das script ganz dufte ...
gruss Mobbing Dig