在网上发现给几个朋友共享的机密资料,有没有办法给 word 文档加个水印,下回就知道是谁泄露的秘密了?   给客户发一份 excel 格式的报价单,只希望让他看一次就自动销毁怎么办?   希望文件到期就自动销毁,有没有办法?   ……   当然,有商用的解决方案,但往往昂贵而且部署复杂,您为什么不试试 X-文件锁呢?免费量又足哦。   程序介绍:   本程序为大成天下信息技术有限公司发布免费工具,用于将 MS Office 文档转换为加密的 UND 文档,同时可设置文档的阅读次数及自动销毁时间。在阅读 UND 文档期间,用户无法复制文档内容。当 UND 文档满足销毁条件后,再次被打开时将以不可恢复的方式安全删除该文档。   文件说明:   UndMaker.exe:UND 文档创建工具   UndViewer.exe:UND 文档阅读工具   使用说明:   1、执行 Setup.exe 安装本程序;   2、在“我的电脑”或“资源管理器”中右键点击 MS Office 文档,选择“转换为UND安全文档”;   3、在弹出的窗口中设置相关参数并点击“确定”;   4、将创建好的 UND 文档发送给他人;   5、在安装了本程序的电脑上可以通过鼠标双击打开 UND 文档,并在规定次数/时间内正常阅读。   命令行参数:   UndMaker:   /init:初始化文件关联   /V:查看程序版本   filename:生成 UND 文档   UndViewer:   /init:初始化文件关联   /o :阅读 UND 文档   /v :查看 UND 文档水印   /V:查看程序版本
2024-09-13 19:59:00 1.3MB 定时删除器
1
《易语言视频图像采集》是针对使用易语言进行视频图像获取和处理的编程技术。易语言是一种基于中文的编程环境,旨在降低编程门槛,让更多人能够掌握编程技能。在这个主题中,我们将深入探讨如何利用易语言实现视频图像的采集、删除场景、填充设备场景、创建场景、发送媒体指令以及与鼠标交互等关键操作。 1. **视频图像采集**:在易语言中,视频图像采集通常涉及到对摄像头或视频文件的访问,通过捕获视频流来获取实时图像帧。这需要调用系统底层的API函数或者使用特定的库来完成,如DirectShow、Media Foundation等。开发者需要了解如何设置捕获设备,调整图像参数(如分辨率、帧率),并实现图像数据的实时处理和显示。 2. **删除场景**:在视频处理中,“场景”通常指的是连续的一组图像帧。删除场景可能是指清除当前的视频帧缓冲,以便于重新开始新的视频序列记录,或者在处理过程中去除不想要的特定时间段。在易语言中,这可能通过清空数组、列表或内存块来实现。 3. **填充设备场景**:这个概念可能是指配置和初始化视频采集设备,准备开始捕获视频。这包括选择合适的设备、设置捕获参数,并将设备的状态设置为可录制状态。在易语言中,这可能涉及对设备对象的操作和调用相关API进行设备初始化。 4. **创建场景**:创建场景可能是指建立一个新的视频处理上下文,例如创建一个新的视频流或预览窗口。这需要创建相应的数据结构,如图像缓冲区,并设置好相关的回调函数以处理图像数据。 5. **发送媒体指令**:在易语言中,发送媒体指令可能是指向视频采集设备或处理模块发送控制命令,如开始/停止捕获、调整亮度、对比度等。这些指令可能通过发送特定的消息或调用接口函数实现。 6. **取短文件名**:在处理视频文件时,可能会需要获取文件的短文件名,这通常是出于路径长度限制或简化显示目的。易语言提供了相应的函数,如`路径.取短文件名`,用于获取文件的8.3格式短名。 7. **置父窗口**:在开发带有用户界面的应用时,设置父窗口可以管理子窗口的位置和大小,以及处理窗口之间的消息传递。易语言的`窗口.置父窗口`函数可以用来设置一个窗口作为另一个窗口的父窗口。 8. **释放鼠标**和**俘获鼠标**:这两个操作与用户交互有关。释放鼠标允许用户在屏幕上自由移动鼠标,而俘获鼠标则使鼠标被限制在当前窗口内。在易语言中,可以使用`鼠标.释放`和`鼠标.俘获`函数来实现这两项功能。 以上所述都是易语言视频图像采集中涉及的关键概念和技术,实际应用时需要结合具体的代码示例和易语言的语法来理解和实践。通过熟练掌握这些知识点,开发者可以创建出高效、稳定的视频处理程序。
1
在C#编程中,Chart控件是一个非常强大的可视化工具,常用于展示各种数据图表,如折线图、柱状图、饼图等。本教程主要关注如何通过C#实现对Chart控件中的数据点进行框选、删除以及平移操作,这些都是在数据可视化应用中非常实用的功能。 我们要理解Chart控件的基本用法。在C#中,Chart控件是System.Windows.Forms.DataVisualization.Charting命名空间的一部分。你可以通过Visual Studio的工具箱添加这个控件到窗体上,并通过代码设置其属性,如系列(Series)、X轴和Y轴的标签、数据源等。例如: ```csharp Chart chart1 = new Chart(); chart1.Series.Add("Series1"); chart1.Series["Series1"].Points.AddXY(1, 2); chart1.Series["Series1"].Points.AddXY(2, 4); chart1.Series["Series1"].Points.AddXY(3, 6); ``` 接下来,我们讨论如何实现数据点的框选。框选通常需要鼠标事件处理,如MouseDown、MouseMove和MouseUp。在MouseDown事件中记录起始坐标,MouseMove事件中判断是否形成矩形框,MouseUp事件中完成框选。可以使用HitTest方法检测鼠标位置是否在数据点内,然后将符合条件的数据点保存到一个集合中。 ```csharp private List selectedPoints = new List(); private void chart1_MouseDown(object sender, MouseEventArgs e) { // 记录起始坐标 startSelectPoint = e.Location; } private void chart1_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { // 计算当前矩形框 RectangleF selectRect = new RectangleF(startSelectPoint, new Size(e.X - startSelectPoint.X, e.Y - startSelectPoint.Y)); // 检测数据点是否在框选范围内 foreach (DataPoint dp in chart1.Series[0].Points) { PointF pointInChart = chart1.ChartAreas[0].Transform(dp.XValue, dp.YValues[0]); if (selectRect.Contains(pointInChart)) selectedPoints.Add(pointInChart); } } } private void chart1_MouseUp(object sender, MouseEventArgs e) { // 处理框选后的操作 } ``` 数据点的删除则需要在框选完成后执行。你可以遍历selectedPoints集合,根据坐标找到对应的数据点并从系列中移除。同时,需要更新Chart控件以显示变化。 ```csharp private void chart1_MouseUp(object sender, MouseEventArgs e) { // 删除选中的数据点 foreach (PointF point in selectedPoints) { for (int i = chart1.Series[0].Points.Count - 1; i >= 0; i--) { DataPoint dp = chart1.Series[0].Points[i]; PointF pointInChart = chart1.ChartAreas[0].Transform(dp.XValue, dp.YValues[0]); if (point.Equals(pointInChart)) { chart1.Series[0].Points.RemoveAt(i); break; } } } // 清空已选中的数据点列表 selectedPoints.Clear(); // 更新Chart chart1.Invalidate(); } ``` 实现数据点的平移功能。这涉及到对数据点的X和Y值进行加减操作。可以设置两个变量记录平移的偏移量,每次鼠标移动时更新这些值,并相应地改变数据点的位置。 ```csharp private float offsetX = 0f; private float offsetY = 0f; private void chart1_MouseMove(object sender, MouseEventArgs e) { // ... // 平移操作 if (isDragging) { offsetX += e.X - lastX; offsetY += e.Y - lastY; lastX = e.X; lastY = e.Y; foreach (DataPoint dp in chart1.Series[0].Points) { dp.XValue -= offsetX; dp.YValues[0] -= offsetY; } chart1.Invalidate(); } } private void chart1_MouseDown(object sender, MouseEventArgs e) { // ... isDragging = true; lastX = e.X; lastY = e.Y; } private void chart1_MouseUp(object sender, MouseEventArgs e) { // ... isDragging = false; } ``` 以上就是使用C#实现Chart控件数据点框选、删除和平移的基本步骤。通过这些操作,用户可以在交互式图表中更加自由地探索和分析数据。在实际应用中,你可能还需要考虑其他细节,如绘制选区、平滑动画、处理边界条件等,以提供更完善的用户体验。
2024-09-09 14:54:58 851KB chart
1
IP-guard的卸载工具,强制删除,无需重装。 任何人不得将其用于非法用途,否则后果自行承担! 两个版本的卸载工具,任选一个即可。(运行时无需管理员权限) * 运行`patched/Agt3Tool.exe`,选择卸载客户端->生成操作码->输入任意确认码->确定 * 运行`patched/agttool2.exe`,输入密码`123456`->确认 任何人不得将其用于非法用途,否则后果自行承担! 任何人不得将其用于非法用途,否则后果自行承担! 任何人不得将其用于非法用途,否则后果自行承担!
2024-08-28 16:21:47 1.33MB 网络协议 IP-guard ipguard
1
离线注入SRS驱动是一种在计算机系统不连接到互联网的情况下安装或更新系统驱动程序的方法。这种方法主要用于在没有网络连接的环境中,或者为了防止在线安装过程中可能遇到的安全风险。"离线注入SRS驱动_并删除离线系统驱动1.05.zip"是一个压缩包文件,其中包含了用于执行此操作的相关工具和教程。 SRS(System Rescue Suite)驱动是系统恢复工具的一部分,它可以帮助用户在系统启动问题或驱动冲突时恢复或修复驱动程序。离线注入意味着将这些驱动程序文件整合到Windows安装媒体中,以便在安装过程中自动安装这些驱动,无需在安装完成后连接到互联网。 这个1.05版本的工具包可能包含以下内容: 1. **驱动程序集合**:这些驱动程序可能是针对各种硬件设备的,如显卡、声卡、网卡、打印机等,确保系统在离线状态下也能识别和运行这些硬件。 2. **注入工具**:这是一个实用程序,允许用户将驱动程序添加到Windows安装映像中。这通常涉及到修改.wim或.esd文件,这些是Windows安装镜像的标准格式。 3. **删除工具**:除了注入新驱动,该工具包还可能包括一个功能,用于移除不再需要的旧驱动或与新硬件不兼容的驱动,以保持系统的稳定性和性能。 4. **教程文档**:为了指导用户如何正确地执行离线注入和删除驱动的过程,压缩包内可能包含详细的步骤说明或者视频教程。 离线注入SRS驱动的流程通常包括以下步骤: 1. **准备工具**:下载并解压"离线注入SRS驱动_并删除离线系统驱动1.05.zip",获取所需软件和驱动。 2. **创建Windows安装媒体**:使用微软的Media Creation Tool或其他第三方工具创建一个可引导的Windows安装USB或DVD。 3. **提取驱动**:将所需的驱动程序提取到特定的文件夹,以便于后续注入。 4. **注入驱动**:使用注入工具,如DISM++或DoubleDriver,将驱动程序添加到Windows安装映像的适当位置。 5. **保存更改**:确认驱动注入无误后,保存修改后的Windows安装映像。 6. **系统安装**:使用带有注入驱动的安装媒体启动计算机,进行离线系统安装。 7. **删除驱动**:安装完成后,如果需要,根据删除工具的指示移除不再需要的驱动。 离线注入驱动对于系统管理员、技术支持人员以及那些在安全环境中工作的用户来说尤其有用。它确保了驱动程序的预先配置,减少了安装过程中的不确定性,并提高了系统的可靠性。然而,操作过程中必须谨慎,因为错误的驱动注入可能导致系统不稳定或硬件无法正常工作。因此,充分理解每个步骤和使用正确的驱动程序至关重要。
2024-07-15 14:52:35 9.65MB 离线注入SRS驱动
1
在Windows环境下,特别是Win2008或Win8操作系统中,管理和维护Oracle 11g数据库的备份至关重要。Oracle数据库的备份是确保数据安全性和业务连续性的重要环节。本资料"windows下oracle数据库备份压缩&删除历史备份.rar"提供了一个详细的过程,用于实现Oracle数据库的定时备份、备份文件的压缩以及自动删除两天前的旧备份。 我们来讨论Oracle数据库的备份方法。在Oracle 11g中,通常采用RMAN(恢复管理器)进行备份,因为它是Oracle提供的一个强大工具,可以执行各种类型的备份,包括完整数据库备份、表空间备份、数据文件备份等。RMAN可以通过命令行或者脚本方式运行,非常适合设置定时任务进行自动备份。 1. **RMAN完整数据库备份**:使用`run { backup database plus archivelog; }`命令,这将备份整个数据库及归档日志。 2. **RMAN表空间备份**:如果只需要备份特定表空间,如用户数据存储的USERS表空间,可以使用`run { backup tablespace 'USERS'; }`命令。 3. **RMAN数据文件备份**:针对单个数据文件,使用`run { backup filespiec 'path/to/datafile.dbf'; }`命令。 接下来,我们要介绍如何将备份文件进行压缩。在Windows环境中,可以结合使用操作系统自带的命令行工具`compress`或第三方压缩软件如7-Zip或WinRAR。假设使用7-Zip,你可以创建一个批处理文件,调用7-Zip命令行接口对RMAN生成的备份文件进行压缩: ```batch "C:\Program Files\7-Zip\7z.exe" a -tzip backup.zip path\to\backup\file ``` 然后,为了自动删除两天前的备份,可以编写一个批处理脚本,利用Windows的`forfiles`命令来查找并删除指定时间之前的文件: ```batch forfiles /p "path\to\backups" /d -2 /c "cmd /c del @file" ``` 这个脚本会在指定的目录下查找所有两天前的文件并删除。 将这些脚本整合到Windows的任务计划程序中,设置定时运行,即可实现自动备份、压缩和清理旧备份的功能。记得在设置任务时,确保脚本有执行权限,并且运行时间应避开数据库的高峰期,以免影响正常业务。 通过有效管理和自动化Oracle数据库的备份流程,可以显著提高系统稳定性,减少因数据丢失导致的风险。这个压缩包文件提供的解决方案为Windows环境下的Oracle 11g管理员提供了一个实用的参考模板,帮助他们实现高效的数据保护策略。
2024-07-11 16:30:15 428KB win2008 oracle11g
1
一个带头结点的单循环链表,结点类型为(data.next),以haed为头指针,每个结点的data域存放的是一个整数,试构造一个删除所有值大于min,小于max的结点的算法
2024-07-08 13:45:25 30KB 单循环链表
1
在IT领域,批量删除操作是日常维护工作中的常见需求,特别是在处理大量文件或目录时,手动删除既耗时又容易出错。标题“批量删除指定文件或目录”所指的是一种自动化工具,它允许用户通过指定规则一次性删除多个文件或目录,提高了工作效率。这种工具通常会支持通配符,使得匹配和删除过程更加灵活。 通配符是一种特殊的字符,用于匹配一组具有共同模式的文件名。在Windows系统中,常见的通配符有星号(*)和问号(?)。星号(*)代表任意数量的任意字符,问号(?)则代表单个任意字符。例如,“*.txt”可以匹配所有扩展名为.txt的文件,而“file_?.doc”将匹配file_1.doc、file_2.doc等以file_开头,后跟一个数字的.doc文件。 描述中提到此工具适用于CVS( Concurrent Versions System)和SVN(Subversion)产生的垃圾文件。CVS和SVN是版本控制系统,它们在跟踪代码更改时会产生临时文件和备份,这些文件在一定时间后可能不再需要,因此需要定期清理。批量删除工具可以帮助用户快速定位并删除这些无用的文件,保持工作目录的整洁。 .NET Framework 2.0是微软开发的一个软件框架,它提供了运行托管代码所需的基础结构,包括公共语言运行库和类库。为了使用这个批量删除工具,用户的计算机上需要安装.NET Framework 2.0或更高版本。如果缺少该环境,程序将无法运行。 在压缩包文件名称列表中,我们看到"BacthDelete",这很可能是批量删除工具的可执行文件名。通常,这样的工具会有图形用户界面(GUI)或命令行界面(CLI),用户可以通过输入特定的参数或选择目标文件夹来启动删除操作。 批量删除操作需要注意安全问题,因为它涉及对文件系统的直接修改。误删可能导致数据丢失,所以在执行前应确保有备份,或者在非关键区域进行测试。此外,使用支持通配符的批量删除工具时,必须谨慎设定匹配规则,以免误删重要文件。 总的来说,批量删除指定文件或目录的工具是IT管理员和开发者的好帮手,它通过自动化处理大量文件删除任务,提升了效率,同时也简化了对版本控制系统产生的临时文件的管理。不过,使用时务必谨慎,遵循最佳实践,以保护数据安全。
2024-07-01 17:02:06 8KB 批量删除
1
一个能找回你永久删除的小软件,方便好用,比较专业,非专业人事也可以使用,操作超级简单,恢复数据概率比较大
2024-06-27 13:32:49 333KB 数据恢复 磁盘恢复
1
乐山师范学院数据库编程期末答疑,卷子讲解,SQL server相关 如下是一个简化的员工考勤应用E-R图,请在SQL Server中创建名为YQKG的数据库,包括两个数据文件,一个日志文件,文件名按SQL Server对象命名规范定义,数据文件按10%的比例增长,数据库定义完成后输入如下样本数据。完成后请将新定义的对象及数据生成到脚本文件3_1.sql,并分离数据库。(数据表标识说明:BMXX 部门信息,QQLX 考勤类型, JBXX 基本信息,各字段定义请根据实际语义自行定义)。 2. 运行CreateTeaching.sql在系统数据库tempdb中生成解答用数据库对象,完成如下安全定义。每小题2分,共6分。 (1) 创建名为L+考生学号的登录名,密码为考生学号。完成后请将定义程序代码保存到脚本文件3_2_1.sql。 (2) 为tempdb数据库创建名为U+考生学号的带登录名的用户名,使用本题(1)中创建的登录名。完成后请将定义程序代码保存到脚本文件3_2_2.sql。 (3) 为学生表Student、课程表Course、教师表Teacher分配只读权限,成绩表分配读写权限。完成后请将程序代码保存到脚本文件3_2_3.sql。 3.运行CreateTeaching.sql在系统数据库tempdb中生成解答用数据库对象,完成如下完整性定义。每小题4分,共12分 (1) 在SC与Teacher之间定义参照完整性,外码名为FK_SC_Teacher_Tno,并定义违约处理规则:修改规则为 Cascade,删除规则为 No Action。完成后请将本操作的程序保存到脚本文件3_3_1.sql。 (2) 学生表Student中学生姓名不允许重复,将此规则保存为UQ_Sname。完成后请将本操作的程序保存到脚本文件3_3_2.sql。 (3) 在学生表上规定学生的性别只能是“男”、“女”,将此规则保存为CK_Student_Ssex。完成后请将本操作的程序保存到脚本文件3_3_3.sql。 4. 运行CreateTeaching.sql在系统数据库tempdb中生成解答用数据库对象,在SSMS中查询分析器中设计并调试如下查询,把SQL脚本代码分别保存到指定的SQL程序文件中。每小题3分,共15分 (1) 新增一位同学:200215129,王大鹏,男,23,CS,新增该生一条选课数据:该生选了数据库课程,该课主教教师未知,还未考试。完成后请将查询代码保存到脚本文件3_4_1.sql。 (2) 修改少数民族学生李勇所有选修课成绩,都加5分。完成后请将查询代码保存到脚本文件3_4_2.sql。 (3) 因为考试事故,删除计科系的所有选课信息。完成后请将查询代码保存到脚本文件3_4_3.sql。 (4) 查询与“刘晨”同一个院系的其他同学的所有信息。完成后请将查询代码保存到脚本文件3_4_4.sql。 (5) 生成选修课为达标的学生的信息,包括学号、姓名、院系、总学分,达标条件:选修课门数达到6门。完成后请将查询代码保存到脚本文件3_4_5.sql。 5. 运行CreateTeaching.sql在系统数据库tempdb中生成解答用数据库对象,为计科系生成如下选修课综合信息视图(仅包括计科系学生的选课信息,未选课的计科系学生也包括在视图的数据集中,如果未选课则课程等相关字段记为NULL,选了课但未考试则成绩等相关字段记为NULL,如果考试成绩未及格学分记为0,否则得到课程学分)。完成后请将本视图定义的程序保存到脚本文件3_5.sql。7分 6. SQL 程序设计:运行CreateTeaching.sql在系统数据库tempdb中生成解答用数据库对象,完成如下对象定义,把相应的SQL程序分别保存到指定的SQL文件中。每小题7分,共21分 (1) 为教师表定义一个名为Tr_Insert_Or_Update_Sal触发器,实现如下完整性规则:“教授的工资不得低于4000元,如果低于4000元,自动改为4000元”。请完成触发体设计,完成后请将本定义的程序保存到脚本文件3_6_1.sql。 Create Trigger Insert_Or_Update_Sal On Teacher After INSERT, UPDATE AS (2) 利用ROW_NUMBER() OVER设计一分页查询存储过程DividePage,每次调用返回指定数据表中指定页大小及页码的满足条件的记录结果集,其参数设计如下,请完成过程体设计,完成后请将本定义的程序保存到脚本文件3_6_2.sql。 Create Procedure DividePage ( @tblName varchar(255), -- 表名,不允许为空 @strOrder varchar(255), -- 排序的字段名,不允许为空 @PageSize int = 6, -- 页尺寸 @PageIndex int, -- 页码 @OrderType bit = 0, -- 设置排序类型, 非0 值则降序 @strWhere varchar(1500)='' -- 查询条件(注意: 不要加where) ) AS (3) 定义一用户函数Get_birthday,根据身份证得到生日。(提醒,身份证可能有15、18位的情况), 其参数设计如下,请完成函数体设计,完成后请将本定义的程序保存到脚本文件3_6_3.sql。 Create Function Get_birthday ( @idcardno nvarchar(50) ) returns varchar(10) As
2024-06-24 03:00:30 179.77MB 参考资料
1