VB6.0 基于ewededitor4.8商业版扩展功能——屏幕截图自动保存功能开发笔记
2010-03-13 16:58
836 查看
制作思路:
编写一个截图控件,通过javascript在网页中调用这个控件,完成截图后,将保存在本地的截图的本地地址传给Ewebeditor,再调用ewebeditor的本地上传功能,实现自动上传。
一、截图控件的开发 Activex Dll
本控件是选用从CSDN下载的“VB模拟QQ截屏”修改而来的
以下是开发步骤:
第一步,新建一个ActiveX dll 工程 名为 "WebCapture"
第二步,将下列四个文件拷贝到新建工程目录下并添加到新工程里 (以下文件都是“VB模拟QQ截屏”这个工程里的)
ExcelPropertyBag.cls
模拟QQ截屏.frm
模拟QQ截屏.frx
ModSavePic.bas
第三步,添加一个窗口Form1,添加一个类模块儿Capture
第四步,编写WebCapture类
'添加一个属性 用来返回截图的本地地址
Private mvarTempPath As String '局部复制
Public Property Let TempPath(ByVal vData As String)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.TempPath = 5
mvarTempPath = vData
End Property
Public Property Get TempPath() As String
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.TempPath
TempPath = mvarTempPath
End Property
'添加一个方法 用于启动屏幕截图
Public Sub ShowForm()
Form1.Show vbModal
TempPath = VB模拟QQ截屏.TempPath
End Sub
第五步,设计Form1,并编写代码
'按钮按下开始截图
Private Sub Command1_Click()
VB模拟QQ截屏.Show vbModal 'vbModal一定要加,否则网中调用时会报错无权限
Unload Me
End Sub
第六步,修改VB模拟QQ截屏窗体的代码
'定义一个全局变量用于传递截图的本地地址
Public TempPath As String
'--------------------保存截图-----------------------------------------
'修改 CutdSave()过程,将使用保存对话框保存截图改为按指定路径保存
‘-------------------------------------------------------------------------
Public Function CutdSave()
Dim sFile As String
Dim PicType As String
'Dim SaveOpen As OPENFILENAME
'SaveOpen.lStructSize = Len(SaveOpen)
'SaveOpen.hwndOwner = 0&
'SaveOpen.lpstrFile = String$(255, 0)
'SaveOpen.nMaxFile = 255
'SaveOpen.lpstrInitialDir = App.Path
'SaveOpen.lpstrFilter = "PNG文件(*.PNG)" + Chr$(0) + "*.PNG" + Chr$(0) + "JPEG文件(*.jpg;*.jpeg)" + Chr$(0) + "*.jpg" + Chr$(0) + "位图文件(*.bmp)" + Chr$(0) + "*.bmp" + Chr$(0) + "GIF文件(*.gif)" + Chr$(0) + "*.gif" + Chr$(0) + "TIFF文件(*.TIFF)" + Chr$(0) + "*.tiff" + Chr$(0) + "所有文件(*.*)" + Chr$(0) + "*.*" + Chr$(0)
' SaveOpen.lpstrTitle = "保存为"
'SaveOpen.nFilterIndex = 1 '设置默认选择扩展类型
'SaveOpen.lpstrDefExt = "PNG" '初始化扩展名
'SaveOpen.lpstrFile = FileName '保存文件名称
'If GetSaveFileName(SaveOpen) <> 0 Then
'sFile = Left(SaveOpen.lpstrFile, InStr(SaveOpen.lpstrFile, Chr$(0)) - 1)
'Else
' Exit Function
'End If
'SavePicture Clipboard.GetData(), sFile
sFile = "c:/" & Replace(Date, "-", "") & Replace(Time, ":", "") & ".png"
PicType = Right(sFile, Len(sFile) - InStrRev(sFile, "."))
VB模拟QQ截屏.TempPath = sFile
SavePic Clipboard.GetData(), sFile, PicType
Clipboard.Clear ' 清除剪贴板
End Function
第七步,生成 WebCapture.dll 文件
第八步,注册 WebCapture.dll 文件
将WebCapture.dll文件复制到 System32 文件夹
开始->运行->regsvr32 WebCapture.dll
二,在网页中调用测试
<script type="text/javascript">
function cp()
{
'
var O = new ActiveXObject("WebCapture.Capture");
O.ShowForm();
var p = O.TempPath;
eWebEditor1.insertHTML("<img src="+p+">");
}
</script>
<textarea id="content" style="display:none">sdsdsd</textarea>
<IFRAME ID="eWebEditor1" src="ewebeditor.htm?id=content&style=mini" frameborder="0" scrolling="no" width="550" height="350"></IFRAME>
编写一个截图控件,通过javascript在网页中调用这个控件,完成截图后,将保存在本地的截图的本地地址传给Ewebeditor,再调用ewebeditor的本地上传功能,实现自动上传。
一、截图控件的开发 Activex Dll
本控件是选用从CSDN下载的“VB模拟QQ截屏”修改而来的
以下是开发步骤:
第一步,新建一个ActiveX dll 工程 名为 "WebCapture"
第二步,将下列四个文件拷贝到新建工程目录下并添加到新工程里 (以下文件都是“VB模拟QQ截屏”这个工程里的)
ExcelPropertyBag.cls
模拟QQ截屏.frm
模拟QQ截屏.frx
ModSavePic.bas
第三步,添加一个窗口Form1,添加一个类模块儿Capture
第四步,编写WebCapture类
'添加一个属性 用来返回截图的本地地址
Private mvarTempPath As String '局部复制
Public Property Let TempPath(ByVal vData As String)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.TempPath = 5
mvarTempPath = vData
End Property
Public Property Get TempPath() As String
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.TempPath
TempPath = mvarTempPath
End Property
'添加一个方法 用于启动屏幕截图
Public Sub ShowForm()
Form1.Show vbModal
TempPath = VB模拟QQ截屏.TempPath
End Sub
第五步,设计Form1,并编写代码
'按钮按下开始截图
Private Sub Command1_Click()
VB模拟QQ截屏.Show vbModal 'vbModal一定要加,否则网中调用时会报错无权限
Unload Me
End Sub
第六步,修改VB模拟QQ截屏窗体的代码
'定义一个全局变量用于传递截图的本地地址
Public TempPath As String
'--------------------保存截图-----------------------------------------
'修改 CutdSave()过程,将使用保存对话框保存截图改为按指定路径保存
‘-------------------------------------------------------------------------
Public Function CutdSave()
Dim sFile As String
Dim PicType As String
'Dim SaveOpen As OPENFILENAME
'SaveOpen.lStructSize = Len(SaveOpen)
'SaveOpen.hwndOwner = 0&
'SaveOpen.lpstrFile = String$(255, 0)
'SaveOpen.nMaxFile = 255
'SaveOpen.lpstrInitialDir = App.Path
'SaveOpen.lpstrFilter = "PNG文件(*.PNG)" + Chr$(0) + "*.PNG" + Chr$(0) + "JPEG文件(*.jpg;*.jpeg)" + Chr$(0) + "*.jpg" + Chr$(0) + "位图文件(*.bmp)" + Chr$(0) + "*.bmp" + Chr$(0) + "GIF文件(*.gif)" + Chr$(0) + "*.gif" + Chr$(0) + "TIFF文件(*.TIFF)" + Chr$(0) + "*.tiff" + Chr$(0) + "所有文件(*.*)" + Chr$(0) + "*.*" + Chr$(0)
' SaveOpen.lpstrTitle = "保存为"
'SaveOpen.nFilterIndex = 1 '设置默认选择扩展类型
'SaveOpen.lpstrDefExt = "PNG" '初始化扩展名
'SaveOpen.lpstrFile = FileName '保存文件名称
'If GetSaveFileName(SaveOpen) <> 0 Then
'sFile = Left(SaveOpen.lpstrFile, InStr(SaveOpen.lpstrFile, Chr$(0)) - 1)
'Else
' Exit Function
'End If
'SavePicture Clipboard.GetData(), sFile
sFile = "c:/" & Replace(Date, "-", "") & Replace(Time, ":", "") & ".png"
PicType = Right(sFile, Len(sFile) - InStrRev(sFile, "."))
VB模拟QQ截屏.TempPath = sFile
SavePic Clipboard.GetData(), sFile, PicType
Clipboard.Clear ' 清除剪贴板
End Function
第七步,生成 WebCapture.dll 文件
第八步,注册 WebCapture.dll 文件
将WebCapture.dll文件复制到 System32 文件夹
开始->运行->regsvr32 WebCapture.dll
二,在网页中调用测试
<script type="text/javascript">
function cp()
{
'
var O = new ActiveXObject("WebCapture.Capture");
O.ShowForm();
var p = O.TempPath;
eWebEditor1.insertHTML("<img src="+p+">");
}
</script>
<textarea id="content" style="display:none">sdsdsd</textarea>
<IFRAME ID="eWebEditor1" src="ewebeditor.htm?id=content&style=mini" frameborder="0" scrolling="no" width="550" height="350"></IFRAME>
相关文章推荐
- 基于Mozilla Thunderbird的扩展开发(四)---修改Thunderbird源代码实现自动保存附件
- Win8/Win8.1屏幕截图功能如何一键归零或自动保存至桌面
- 基于Mozilla Thunderbird的扩展开发(四)---修改Thunderbird源代码实现自动保存附件
- C#软件开发实例.私人订制自己的屏幕截图工具(四)基本截图功能实现
- 基于MT7688模块的开发笔记12——给MT7688开发板添加WiFi功能
- Win8/Win8.1屏幕截图一键归零或自动保存当前系统桌面
- win32汇编 屏幕截图保存BMP 学习笔记<第一篇>之资料搜集
- C#软件开发实例.私人订制自己的屏幕截图工具(七)添加放大镜的功能
- C#软件开发实例.私人订制自己的屏幕截图工具(八)添加键盘操作截图的功能
- Android(java)学习笔记204:自定义SmartImageView(继承自ImageView,扩展功能为自动获取网络路径图片)
- C#软件开发实例.私人订制自己的屏幕截图工具(六)添加配置管理功能
- 基于Unity的扩展ScrollView开发(自动居中,缩放,明暗变化),用于商城系统,皮肤系统等UI
- 【Android应用开发】-(13)屏幕截图功能--截取全屏,无需Root(附源码)
- java实现屏幕截图功能并保存截图
- C#软件开发实例.私人订制自己的屏幕截图工具——放大镜的功能代码优化
- C#软件开发实例.私人订制自己的屏幕截图工具(一)功能概览
- 【Android应用开发】-屏幕截图功能--截取全屏,无需Root(附源码)
- 开发笔记 那些年追过的图片(七):屏幕截图
- SDRMS 基于Beego开发的易用、易扩展、界面友好的轻量级功能权限管理系统
- Web开发之用canvas2image.js将canvas保存为图片(实现页面截图下载功能)