2013-09-08 2 views
0

Я новичок в VB, и у меня проблемы. Я создал кнопку для скриншота окна при нажатии, однако я хочу, чтобы каждый скриншот имел свою собственную метку времени, поэтому они не переписывают друг друга. Это код, у меня сейчас:Назначение метки времени для снятого снимка экрана

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ 
Handles Button1.Click 

    Dim SC As New ScreenShot.ScreenCapture 

    Dim MyWindow As Image = SC.CaptureWindow(Me.Handle) 

    SC.CaptureWindowToFile(Me.Handle, "c:\temp\image.jpg", Imaging.ImageFormat.Jpeg) 
End Sub 

Я использую этот пользовательский класс: http://pastebin.com/9at7uESY

Как бы я должен изменить либо класс или код, чтобы позволить мне использовать временные метки, каждый кадр взят? Благодаря!

+0

Это такой простой вопрос, который я думаю, что я что-то не хватает. Не станет ли очевидным решением отказаться от использования жестко закодированного имени файла ('C: \ temp \ image.jpg') вместо имени файла, основанного на текущем времени? –

+0

Хотите ли вы добавить метку времени в свой класс или метаданные в файле изображения (или и то?) Текущее время можно получить из DateTime.Now (см. Http://msdn.microsoft.com/ru -us/library/system.datetime.now.aspx) – aring

+0

Моя первая мысль заключалась в том, чтобы сменить имя файла с жестким кодом, но для этого потребуется изменить класс, не так ли? Точно, что мне тогда редактировать? Также aring Я хочу, чтобы timestamp имя, что изображение сохраняется как, а не в метаданных. – anthonyjr2

ответ

0

Чтобы получить имя файла (или любую строку) содержать дату и время использования
"c:\temp\image_" & now.ToString("yyyyMMddHHmmss") & ".jpg"

Reference on MSDN about the format

Edit: Там не должно быть никакой необходимости изменить класс, просто изменив строку в ваш где вы объявили имя файла.

SC.CaptureWindowToFile(Me.Handle, "c:\temp\image.jpg", Imaging.ImageFormat.Jpeg) 

Для

SC.CaptureWindowToFile(Me.Handle, "c:\temp\image_" & now.ToString("yyyyMMddHHmmss") & ".jpg", Imaging.ImageFormat.Jpeg) 
+0

Да, это сработало. Благодаря! – anthonyjr2

Смежные вопросы