Тема: LangMF 8.0; VB.NET: сохранение скриншота (снимка экрана) в файл
Без гарантий. Используете на свой страх и риск
Чтобы скопировать экран в буфер обмена целиком,надо нажать кнопку PrintScreen,а чтобы скопировать только активное окно комбинацию Alt+PrintScreen.Следующий скрипт предназначен для дальнейшего шага - сохранения графического содержимого буфера обмена в BMP файл.
Потребуется установленный LangMF 8.0.
'---------------------------------------------------------------------------
' Скрипт предназначен для сохранения графического содержимого
' буфера обмена в BMP файл
'---------------------------------------------------------------------------
' Language LangMF 7.7.0.0
<#Module=SaveClipContent>
'----------------------------------------------------------------------
Const vbCFBitmap=2
Sub Load(cmdstr)
SaveClipContent()
EndMf
End Sub
'----------------------------------------------------------------------
Function SaveClipContent()
If Sys.ClipBoard.GetFormat(vbCFBitmap)=False Then
MsgBox "Буфер не содержит графических данных.", _
vbExclamation+vbOkOnly+vbSystemModal, _
"Сохранение картинки"
Exit Function
End If
Sleep(100)
'----------------------------------------------------------------------
SaveFileDlg=Sys.CDlg.ShowSave("Выберите файл для сохранения:", _
"BMP files (*.bmp)|*.bmp", _
"",".bmp",0,2,1,"CLP")
If SaveFileDlg="" Then Exit Function
Sleep(100)
'----------------------------------------------------------------------
Sys.File.FileNew SaveFileDlg
Sleep(100)
Set NewPic=Sys.CreateImage()
NewPic.AutoSize=1
Sleep(100)
NewPic.Picture=Sys.ClipBoard.GetData(vbCFBitmap)
Sleep(100)
Sys.Conv.Str2File Sys.Conv.Image2Str(NewPic),SaveFileDlg
Sleep(100)
'----------------------------------------------------------------------
MsgBox "Содержимое буфера сохранено.", _
vbExclamation+vbOkOnly+vbSystemModal, _
"Сохранение картинки"
'----------------------------------------------------------------------
End Function
<#Module>