Guten Tag,
ich habe momentan folgendes Problem.
Ich erstelle ein Screenshot mit folgendem Code.
Jetzt möchte ich zu einem folgenden Zeitpunkt wie folgt darauf zugreifen...
... und bekomme folgende Fehlermeldung.
Der Fehler erscheint an genau dieser Stelle...
Eigentlich bin ich davon ausgegangen das es sich mit "gGrafik.Dispose()" getan hätte und der Prozess daher nicht mehr das Besitzrecht auf die Datei hat. Dem scheint aber nicht so zu sein und ich bin mir gerade unschlüssig woran es liegt bzw. finde den Fehler nicht. Vermutlich ist es aber recht simpel.
Ich würde mich über Hilfe sehr freuen.
Danke
ich habe momentan folgendes Problem.
Ich erstelle ein Screenshot mit folgendem Code.
VB.NET-Quellcode
- Public Function Screenshot() As Bitmap
- Dim b As New Bitmap(w, h)
- Try
- gGraficPath = bx.Path.Temp + "screenshot_" + Now.Year.ToString + "." + Now.Month.ToString + "." + Now.Day.ToString + " " + Now.Ticks.ToString + ".png"
- gGrafik = Graphics.FromImage(b)
- 'Dim g As Graphics = Graphics.FromImage(b)
- 'g.CopyFromScreen(x0, y0, 0, 0, New Size(w, h))
- gGrafik.CopyFromScreen(x0, y0, 0, 0, New Size(w, h))
- b.Save(gGraficPath, System.Drawing.Imaging.ImageFormat.Png)
- 'g.Dispose()
- gReturn = True
- b.Dispose()
- gGrafik.Dispose()
- Catch ex As Exception
- Debug_Error(Me.GetType().FullName, System.Reflection.MethodBase.GetCurrentMethod().Name, ex.Message, bx.Settings.iDebugMessage)
- End Try
- Return b
- End Function
Jetzt möchte ich zu einem folgenden Zeitpunkt wie folgt darauf zugreifen...
VB.NET-Quellcode
- Dim img As Image
- Dim objFileStream As New FileStream(gGraficPath, FileMode.OpenOrCreate, FileAccess.ReadWrite)
- img = System.Drawing.Image.FromStream(objFileStream)
- 'img = Image.FromFile(gGraficPath)
- img.Save(gFFPath, System.Drawing.Imaging.ImageFormat.Png)
- img.Dispose()
- img = Nothing
- objFileStream.Close()
- objFileStream.Dispose()
- objFileStream = Nothing
... und bekomme folgende Fehlermeldung.
Der Prozess kann nicht auf die Datei "C:\ordner\screenshot_2012.12.17 634913478715141159.png" zugreifen, da sie von einem anderen Prozess verwendet wird.
Der Fehler erscheint an genau dieser Stelle...
Eigentlich bin ich davon ausgegangen das es sich mit "gGrafik.Dispose()" getan hätte und der Prozess daher nicht mehr das Besitzrecht auf die Datei hat. Dem scheint aber nicht so zu sein und ich bin mir gerade unschlüssig woran es liegt bzw. finde den Fehler nicht. Vermutlich ist es aber recht simpel.
Ich würde mich über Hilfe sehr freuen.
Danke