Moin, Leute. Ich arbeite gerade an einem Screenshot Programm... Und da habe ich folgendes Problem:
Also ich möchte, dass ein Screenshot gemacht wird. Das klappt auch ganz gut. Nun soll das allerdings sofort aus der Zwischenablage geholt und gespeichert werden.
ich benutze dafür diesen Code:
Visual Basic: [code]Dim outputstream As New IO.StreamWriter(FolderName + "/" + TextBox1.Text) outputstream.Write(Clipboard.GetDataObject.GetData(System.Windows.Forms.DataFormats.Bitmap, True)) Outputstream.close() [/code]
Die variable FolderName ist der dateipfad, wo es gespeichert werden soll. DEn konnte der user vorher selbst per FolderBrwoser Dialog asuwählen und Textbox1 ist der Dateiname des Screenshots.
Es klappt eigentlich auch alles nur, dass der Screenshot nicht gespeichert wird. Woran liegt das? Kann man per Streamwriter etwa nur Sachen in eine VORHANDENE Datei schreiben? Oder woran liegts?
Bitte um Hilfe! Gruß, ShadowLenny _________________
mynameisit Newbie
Anmeldedatum: 07.11.2009 Beiträge: 2
Verfasst am: 07.11.2009, 18:51
ich weiß nicht vielleicht ist das das richtige
Deklarationen:
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
Private Const VK_SNAPSHOT As Short = &H2CS
Aktion:
Call keybd_event(System.Windows.Forms.Keys.Snapshot, 0, 0, 0)
System.Threading.Thread.Sleep(200) ' To have time to catch the clipboard
SaveScreen("c:\test.jpg")