also ich habe wieder mal ein problem mit dem remoting und zus�tzlich noch
mit dem screenshot.
was ich mache:
server hat hashtable mit clients und eine PictureBox
der client hat die funktion _captureScreen:
Public Function _captureScreen() As Image Implements IClient._captureScreen
Dim getScreenShot As ScreenShot
myParent.status.Text = "Screenshot called"
myParent.Screen.Image = CType(getScreenShot.CaptureScreen(),
System.Drawing.Bitmap)
Return Me.myParent.Screen.Image
End Function
Die Klasse ScreenShot macht einfach ein Bildschirmfoto vom aktuellen
Screenshot. habe den code aus dem netz:
Public Class ScreenShot
Private Declare Function CreateDC Lib "gdi32" Alias "CreateDCA" (ByVal
lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As
String, ByVal lpInitData As String) As Integer
Private Declare Function CreateCompatibleDC Lib "GDI32" (ByVal hDC As
Integer) As Integer
Private Declare Function CreateCompatibleBitmap Lib "GDI32" (ByVal hDC As
Integer, ByVal nWidth As Integer, ByVal nHeight As Integer) As Integer
Private Declare Function GetDeviceCaps Lib "gdi32" Alias "GetDeviceCaps"
(ByVal hdc As Integer, ByVal nIndex As Integer) As Integer
Private Declare Function SelectObject Lib "GDI32" (ByVal hDC As Integer,
ByVal hObject As Integer) As Integer
Private Declare Function BitBlt Lib "GDI32" (ByVal srchDC As Integer, ByVal
srcX As Integer, ByVal srcY As Integer, ByVal srcW As Integer, ByVal srcH As
Integer, ByVal desthDC As Integer, ByVal destX As Integer, ByVal destY As
Integer, ByVal op As Integer) As Integer
Private Declare Function DeleteDC Lib "GDI32" (ByVal hDC As Integer) As
Integer
Private Declare Function DeleteObject Lib "GDI32" (ByVal hObj As Integer) As
Integer
Const SRCCOPY As Integer = &HCC0020
Private oBackground As Bitmap
Private FW, FH As Integer
Public Function CaptureScreen() As Image
Dim hSDC, hMDC As Integer
Dim hBMP, hBMPOld As Integer
Dim r As Integer
hSDC = CreateDC("DISPLAY", "", "", "")
hMDC = CreateCompatibleDC(hSDC)
FW = GetDeviceCaps(hSDC, 8)
FH = GetDeviceCaps(hSDC, 10)
hBMP = CreateCompatibleBitmap(hSDC, FW, FH)
hBMPOld = SelectObject(hMDC, hBMP)
r = BitBlt(hMDC, 0, 0, FW, FH, hSDC, 0, 0, 13369376)
hBMP = SelectObject(hMDC, hBMPOld)
r = DeleteDC(hSDC)
r = DeleteDC(hMDC)
oBackground = Image.FromHbitmap(New IntPtr(hBMP))
Return CType(oBackground, Image)
End Function
End Class
wenn ich nun von meinem server aus die funktion am client aufrufe:
Public Function _getClientScreenShort() As Image Implements
IServer._getClientScreenShot
Dim user As IClient
Dim capturedScreen As Image
For Each user In _clients.Values
Try
capturedScreen = user._captureScreen
Catch e As Exception
Me._schoolMain.Info.Text = "Exception in Screenshot: " & e.ToString
End Try
Next
Return capturedScreen
End Function
dann passiert folgendes:
am client wird der statustext "screenshot called" ausgegeben.
danach passiert aber nichts, die picture-box bleibt leer.
der server h�ngt sich sogar auf.
kann mir jemand auf die spr�nge helfen?
_______________________________________________
Vb.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/vb.net