期货大赛项目|九,fileinput插件的应用

引入JS和CSS

bundles.Add(new ScriptBundle("~/bundles/fileinputJs").Include(
"~/Content/vendors/bootstrap-fileinput-master/js/fileinput.min.js",
"~/Content/vendors/bootstrap-fileinput-master/js/locales/zh.js",
"~/Scripts/fileHelper.js"
));

bundles.Add(new StyleBundle("~/Content/vendors/bootstrap-fileinput-master/css/fileinputCss").Include(
"~/Content/vendors/bootstrap-fileinput-master/css/fileinput.min.css"));

html

                    <input type="file" name="img" id="img" class="file-loading" />

封装的fileinput的js

jQuery.extend({UploadImg: function ($control, uploadUrl, customOption) {var option = {language: 'zh', //设置语言uploadUrl: uploadUrl, //上传的地址allowedFileExtensions: ['jpg', 'gif', 'png'], //接收的文件后缀
//            showPreview: true,
//            showUpload: true, //是否显示上传按钮
//            overwriteInitial: false,
//            autoReplace:true,
//            browseClass: "btn btn-primary", //按钮样式     
//            dropZoneEnabled: true,//是否显示拖拽区域
//            minImageWidth: 50, //图片的最小宽度
//            minImageHeight: 50,//图片的最小高度
//            maxImageWidth: 1000,//图片的最大宽度
//            maxImageHeight: 1000,//图片的最大高度
//            maxFileSize: 0,//单位为kb,如果为0表示不限制文件大小
//            minFileCount: 1,
//            maxFileCount: 1, //表示允许同时上传的最大文件个数
//            enctype: 'multipart/form-data',
//            validateInitialCount: true
//            previewFileIcon: "<i class='glyphicon glyphicon-king'></i>",
//            msgFilesTooMany: "选择上传的文件数量({n}) 超过允许的最大数值{m}!"};if (customOption != null) {$.extend(option, customOption);}//初始化上传控件的样式$control.fileinput(option);
//        //上传前
//        $control.on('filepreupload', function (event, data, previewId, index) {
//
//        });
//        //导入文件上传完成之后的事件
//        $control.on("fileuploaded", function (event, data, previewId, index) {
//            if (data.response.ResultType === 0) {
//                $input.val(data.response.Message);
//            }
//            else {
//                toastr.error(data.response.Message);
//            }
//        });
//        //异步上传错误结果处理
//        $control.on("fileerror", function (event, data, msg) {
//            toastr.error("网络错误,请重新提交");
//        });
//        //同步上传成功结果处理
//        $control.on('filebatchuploadsuccess', function (event, data, previewId, index) {
//            if (data.response.ResultType === 0) {
//                $input.val(data.response.Message);
//            }
//            else {
//                toastr.error(data.response.Message);
//            }
//        });
//        //同步上传错误结果处理
//        $control.on('filebatchuploaderror', function (event, data, msg) {
//            toastr.error("网络错误,请重新提交");
//        });
//        //移除按钮事件
//        $control.on("filecleared", function (event, data, msg) {
//            $input.val('');
//        });}
});
View Code
$.UploadImg($("#img"), "/Admin/Mien/UploadImg/" + hid, null);//异步上传成功结果处理
$("#img").on("fileuploaded",function (event, data, previewId, index) {if (data.response.state === 1) {console.log(data.response);$("#echo_img").attr("src", "../../../Content/MienImg/" + data.response.name);swal({title: data.response.msg,type: "success",confirmButtonText: "确认"});} else {swal({title: data.response.msg,type: "error",confirmButtonText: "确认"});}});//异步上传错误结果处理
$("#img").on("fileerror",function(event, data, msg) {swal({title: "上传失败",type: "error",confirmButtonText: "确认"});});

后台图片上传

        //图片上传
        [HttpPost]public JsonResult UploadImg(int id){if (id < 1)return Json(new { msg = "参数错误,不允许上传", state = 0 }, JsonRequestBehavior.AllowGet);try{var files = Request.Files[0];var iu = new ImageUpload{FormFile = files,SavePath = @"~/Content/MienImg/"};iu.Upload();var result = iu.Error;switch (result){case 1:return Json(new { msg = "没有上传的文件", state = 0 }, JsonRequestBehavior.AllowGet);case 2:return Json(new { msg = "类型不允许", state = 0 }, JsonRequestBehavior.AllowGet);case 3:return Json(new { msg = "大小超过限制", state = 0 }, JsonRequestBehavior.AllowGet);case 4:return Json(new { msg = "未知错误", state = 0 }, JsonRequestBehavior.AllowGet);}if (result != 0)return Json(new { msg = "结果不再返回值中", state = 0 }, JsonRequestBehavior.AllowGet);var name = iu.OutFileName;var model = _bll.QueryById(id);model.MienImg = @"~/Content/MienImg/" + name;model.LastTime = DateTime.Now;var mresult = _bll.Modify(model);return Json(mresult > 0 ? new { msg = "主题图上传成功", state = 1, name = name } : new { msg = "主题图上传失败", state = 0, name = "" }, JsonRequestBehavior.AllowGet);}catch (Exception ex){return Json(new { msg = "捕获到异常" + ex, state = 0 }, JsonRequestBehavior.AllowGet);}}

图片帮助类

using System;
using System.Drawing;
using System.IO;
using System.Web;
using System.Web.UI.HtmlControls;namespace FuturesContest.Tools
{/// <summary>/// 文件类型/// </summary>public enum FileExtension{JPG = 255216,GIF = 7173,BMP = 6677,PNG = 13780,RAR = 8297,jpg = 255216,exe = 7790,xml = 6063,html = 6033,aspx = 239187,cs = 117115,js = 119105,txt = 210187,sql = 255254}/// <summary>/// 图片检测类/// </summary>public static class FileValidation{#region 上传图片检测类/// <summary>/// 是否允许/// </summary>public static bool IsAllowedExtension(HttpPostedFile oFile, FileExtension[] fileEx){int fileLen = oFile.ContentLength;byte[] imgArray = new byte[fileLen];oFile.InputStream.Read(imgArray, 0, fileLen);MemoryStream ms = new MemoryStream(imgArray);System.IO.BinaryReader br = new System.IO.BinaryReader(ms);string fileclass = "";byte buffer;try{buffer = br.ReadByte();fileclass = buffer.ToString();buffer = br.ReadByte();fileclass += buffer.ToString();}catch { }br.Close();ms.Close();foreach (FileExtension fe in fileEx){if (Int32.Parse(fileclass) == (int)fe) return true;}return false;}/// <summary>/// 上传前的图片是否可靠/// </summary>public static bool IsSecureUploadPhoto(HttpPostedFile oFile){bool isPhoto = false;string fileExtension = System.IO.Path.GetExtension(oFile.FileName).ToLower();string[] allowedExtensions = { ".gif", ".png", ".jpeg", ".jpg", ".bmp" };for (int i = 0; i < allowedExtensions.Length; i++){if (fileExtension == allowedExtensions[i]){isPhoto = true;break;}}if (!isPhoto){return true;}FileExtension[] fe = { FileExtension.BMP, FileExtension.GIF, FileExtension.JPG, FileExtension.PNG };if (IsAllowedExtension(oFile, fe))return true;elsereturn false;}/// <summary>/// 上传后的图片是否安全/// </summary>/// <param name="photoFile">物理地址</param>public static bool IsSecureUpfilePhoto(string photoFile){bool isPhoto = false;string Img = "Yes";string fileExtension = System.IO.Path.GetExtension(photoFile).ToLower();string[] allowedExtensions = { ".gif", ".png", ".jpeg", ".jpg", ".bmp" };for (int i = 0; i < allowedExtensions.Length; i++){if (fileExtension == allowedExtensions[i]){isPhoto = true;break;}}if (!isPhoto){return true;}StreamReader sr = new StreamReader(photoFile, System.Text.Encoding.Default);string strContent = sr.ReadToEnd();sr.Close();string str = "request|<script|.getfolder|.createfolder|.deletefolder|.createdirectory|.deletedirectory|.saveas|wscript.shell|script.encode|server.|.createobject|execute|activexobject|language=";foreach (string s in str.Split('|')){if (strContent.ToLower().IndexOf(s) != -1){File.Delete(photoFile);Img = "No";break;}}return (Img == "Yes");}#endregion}/// <summary>/// 图片上传类/// </summary>//----------------调用-------------------//imageUpload iu = new imageUpload();//iu.AddText = "";//iu.CopyIamgePath = "";//iu.DrawString_x = ;//iu.DrawString_y = ;//iu.DrawStyle = ;//iu.Font = "";//iu.FontSize = ;//iu.FormFile = File1;//iu.IsCreateImg =;//iu.IsDraw = ;//iu.OutFileName = "";//iu.OutThumbFileName = "";//iu.SavePath = @"~/image/";//iu.SaveType = ;//iu.sHeight  = ;//iu.sWidth   = ;//iu.Upload();//--------------------------------------public class ImageUpload{#region 私有成员private int _Error = 0;//返回上传状态。 private int _MaxSize = 1024 * 1024;//最大单个上传文件 (默认)private string _FileType = "jpg;gif;bmp;png";//所支持的上传类型用"/"隔开 private string _SavePath = System.Web.HttpContext.Current.Server.MapPath(".") + "\\";//保存文件的实际路径 private int _SaveType = 0;//上传文件的类型,0代表自动生成文件名 
//        private HtmlInputFile _FormFile;//上传控件。private HttpPostedFileBase _Files; private string _InFileName = "";//非自动生成文件名设置。 private string _OutFileName = "";//输出文件名。 private bool _IsCreateImg = true;//是否生成缩略图。 private bool _Iss = false;//是否有缩略图生成.private int _Height = 0;//获取上传图片的高度 private int _Width = 0;//获取上传图片的宽度 private int _sHeight = 120;//设置生成缩略图的高度 private int _sWidth = 120;//设置生成缩略图的宽度private bool _IsDraw = false;//设置是否加水印private int _DrawStyle = 0;//设置加水印的方式0:文字水印模式,1:图片水印模式,2:不加private int _DrawString_x = 10;//绘制文本的X坐标(左上角)private int _DrawString_y = 10;//绘制文本的Y坐标(左上角)private string _AddText = "GlobalNatureCrafts";//设置水印内容private string _Font = "宋体";//设置水印字体private int _FontSize = 12;//设置水印字大小private int _FileSize = 0;//获取已经上传文件的大小private string _CopyIamgePath = System.Web.HttpContext.Current.Server.MapPath(".") + "/images/5dm_new.jpg";//图片水印模式下的覆盖图片的实际地址#endregion#region 公有属性/// <summary>/// Error返回值/// 1、没有上传的文件/// 2、类型不允许/// 3、大小超限/// 4、未知错误/// 0、上传成功。 /// </summary>public int Error{get { return _Error; }}/// <summary>/// 最大单个上传文件/// </summary>public int MaxSize{set { _MaxSize = value; }}/// <summary>/// 所支持的上传类型用";"隔开 /// </summary>public string FileType{set { _FileType = value; }}/// <summary>/// 保存文件的实际路径 /// </summary>public string SavePath{set { _SavePath = System.Web.HttpContext.Current.Server.MapPath(value); }get { return _SavePath; }}/// <summary>/// 上传文件的类型,0代表自动生成文件名/// </summary>public int SaveType{set { _SaveType = value; }}/// <summary>/// 上传控件/// </summary>public HttpPostedFileBase FormFile{set { _Files = value; }}/// <summary>/// 非自动生成文件名设置。/// </summary>public string InFileName{set { _InFileName = value; }}/// <summary>/// 输出文件名/// </summary>public string OutFileName{get { return _OutFileName; }set { _OutFileName = value; }}/// <summary>/// 输出的缩略图文件名/// </summary>public string OutThumbFileName{get;set;}/// <summary>/// 是否有缩略图生成./// </summary>public bool Iss{get { return _Iss; }}/// <summary>/// 获取上传图片的宽度/// </summary>public int Width{get { return _Width; }}/// <summary>/// 获取上传图片的高度/// </summary>public int Height{get { return _Height; }}/// <summary>/// 设置缩略图的宽度/// </summary>public int sWidth{get { return _sWidth; }set { _sWidth = value; }}/// <summary>/// 设置缩略图的高度/// </summary>public int sHeight{get { return _sHeight; }set { _sHeight = value; }}/// <summary>/// 是否生成缩略图/// </summary>public bool IsCreateImg{get { return _IsCreateImg; }set { _IsCreateImg = value; }}/// <summary>/// 是否加水印/// </summary>public bool IsDraw{get { return _IsDraw; }set { _IsDraw = value; }}/// <summary>/// 设置加水印的方式/// 0:文字水印模式/// 1:图片水印模式/// 2:不加/// </summary>public int DrawStyle{get { return _DrawStyle; }set { _DrawStyle = value; }}/// <summary>/// 绘制文本的X坐标(左上角)/// </summary>public int DrawString_x{get { return _DrawString_x; }set { _DrawString_x = value; }}/// <summary>/// 绘制文本的Y坐标(左上角)/// </summary>public int DrawString_y{get { return _DrawString_y; }set { _DrawString_y = value; }}/// <summary>/// 设置文字水印内容/// </summary>public string AddText{get { return _AddText; }set { _AddText = value; }}/// <summary>/// 设置文字水印字体/// </summary>public string Font{get { return _Font; }set { _Font = value; }}/// <summary>/// 设置文字水印字的大小/// </summary>public int FontSize{get { return _FontSize; }set { _FontSize = value; }}/// <summary>/// 文件大小/// </summary>public int FileSize{get { return _FileSize; }set { _FileSize = value; }}/// <summary>/// 图片水印模式下的覆盖图片的实际地址/// </summary>public string CopyIamgePath{set { _CopyIamgePath = System.Web.HttpContext.Current.Server.MapPath(value); }}#endregion#region 私有方法/// <summary>/// 获取文件的后缀名 /// </summary>private string GetExt(string path){return Path.GetExtension(path);}/// <summary>/// 获取输出文件的文件名/// </summary>private string FileName(string Ext){if (_SaveType == 0 || _InFileName.Trim() == "")return DateTime.Now.ToString("yyyyMMddHHmmssfff") + Ext;elsereturn _InFileName;}/// <summary>/// 检查上传的文件的类型,是否允许上传。/// </summary>private bool IsUpload(string Ext){Ext = Ext.Replace(".", "");bool b = false;string[] arrFileType = _FileType.Split(';');foreach (string str in arrFileType){if (str.ToLower() == Ext.ToLower()){b = true;break;}}return b;}#endregion#region 上传图片public void Upload(){var hpFile = _Files;if (hpFile == null || hpFile.FileName.Trim() == ""){_Error = 1;return;}string Ext = GetExt(hpFile.FileName);if (!IsUpload(Ext)){_Error = 2;return;}int iLen = hpFile.ContentLength;if (iLen > _MaxSize){_Error = 3;return;}try{if (!Directory.Exists(_SavePath)) Directory.CreateDirectory(_SavePath);byte[] bData = new byte[iLen];hpFile.InputStream.Read(bData, 0, iLen);string FName;FName = FileName(Ext);string TempFile = "";if (_IsDraw){TempFile = FName.Split('.').GetValue(0).ToString() + "_temp." + FName.Split('.').GetValue(1).ToString();}else{TempFile = FName;}FileStream newFile = new FileStream(_SavePath + TempFile, FileMode.Create);newFile.Write(bData, 0, bData.Length);newFile.Flush();int _FileSizeTemp = hpFile.ContentLength;string ImageFilePath = _SavePath + FName;if (_IsDraw){if (_DrawStyle == 0){System.Drawing.Image Img1 = System.Drawing.Image.FromStream(newFile);Graphics g = Graphics.FromImage(Img1);g.DrawImage(Img1, 100, 100, Img1.Width, Img1.Height);Font f = new Font(_Font, _FontSize);Brush b = new SolidBrush(Color.Red);string addtext = _AddText;g.DrawString(addtext, f, b, _DrawString_x, _DrawString_y);g.Dispose();Img1.Save(ImageFilePath);Img1.Dispose();}else{System.Drawing.Image image = System.Drawing.Image.FromStream(newFile);System.Drawing.Image copyImage = System.Drawing.Image.FromFile(_CopyIamgePath);Graphics g = Graphics.FromImage(image);g.DrawImage(copyImage, new Rectangle(image.Width - copyImage.Width - 5, image.Height - copyImage.Height - 5, copyImage.Width, copyImage.Height), 0, 0, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel);g.Dispose();image.Save(ImageFilePath);image.Dispose();}}//获取图片的高度和宽度System.Drawing.Image Img = System.Drawing.Image.FromStream(newFile);_Width = Img.Width;_Height = Img.Height;//生成缩略图部分 if (_IsCreateImg){#region 缩略图大小只设置了最大范围,并不是实际大小float realbili = (float)_Width / (float)_Height;float wishbili = (float)_sWidth / (float)_sHeight;//实际图比缩略图最大尺寸更宽矮,以宽为准if (realbili > wishbili){_sHeight = (int)((float)_sWidth / realbili);}//实际图比缩略图最大尺寸更高长,以高为准else{_sWidth = (int)((float)_sHeight * realbili);}#endregionthis.OutThumbFileName = FName.Split('.').GetValue(0).ToString() + "_s." + FName.Split('.').GetValue(1).ToString();string ImgFilePath = _SavePath + this.OutThumbFileName;System.Drawing.Image newImg = Img.GetThumbnailImage(_sWidth, _sHeight, null, System.IntPtr.Zero);newImg.Save(ImgFilePath);newImg.Dispose();_Iss = true;}if (_IsDraw){if (File.Exists(_SavePath + FName.Split('.').GetValue(0).ToString() + "_temp." + FName.Split('.').GetValue(1).ToString())){newFile.Dispose();File.Delete(_SavePath + FName.Split('.').GetValue(0).ToString() + "_temp." + FName.Split('.').GetValue(1).ToString());}}newFile.Close();newFile.Dispose();_OutFileName = FName;_FileSize = _FileSizeTemp;_Error = 0;return;}catch{_Error = 4;return;}}#endregion}
}
View Code

 

转载于:https://www.cnblogs.com/tanfuchao/p/9210236.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/570706.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PLSQL中文显示乱码(问号)

1、输入 select * from V$NLS_PARAMETERS 查看第一行value值是否为简体中文 simplified chinese 实际显示为&#xff1a;AMERICAN 2、设置本地环境变量 &#xff1a;NLS_LANG NLS_LANGAMERICAN_AMERICA.ZHS16GBK NLS_LANG的值为三个划线值拼接而成。 3、重新打开PLSQL…

Mybatis下collections使用pageHelper进行分页

pageHelper在对mybatis一对多分页时造成查询总页数结果不对的情况。 可以做出如下修改&#xff1a; service层&#xff1a; public CommonResult worksList(String userId, int page, int pageSize) throws Exception { PageHelper.startPage(page, pageSize); List<…

解决ubuntu系统root用户下Chrome无法启动问题

说明&#xff1a;本文转载自-https://www.cnblogs.com/hbsygfz/p/8409517.html 由于ubuntu16.04系统自带的是Firefox浏览器&#xff0c;需要安装Chrome浏览器&#xff0c;但是在root用户下安装后发现&#xff0c;Chrome无法正常启动。安装及问题解决具体如下&#xff1a; 1. …

mysql ERROR 1045 和2058时(28000): 错误解决办法

mysql ERROR 1045 (28000): 错误解决办法 听语音|浏览&#xff1a;54286|更新&#xff1a;2018-02-23 14:34|标签&#xff1a;mysql 1234567分步阅读ERROR 1045 (28000): Access denied for user ODBClocalhost (using password: NO) ERROR 1045 (28000): Access denied for us…

maven POM总结

可继承的字段 version property 其他占坑&#xff1a; parent import scope Dependency_Management中的scope是可以被继承的&#xff0c;http://maven.apache.org/pom.html#Dependency_Management name 不可继承 artifactId 不可继承 &#xff0c; 确定打包的最终名称。 这个…

JVM从入门到放弃——JVM内存模型

前言 Java和C或者是C相比较而言&#xff0c;最大的区别是C系列的程序员在编写代码的时候&#xff0c;总是要对程序中的变量进行释放内存的操作&#xff0c;所以在编写C或者是C的程序员需要格外的谨慎&#xff0c;因为他们对程序的内存有着很高的权限&#xff0c;这样虽然是特点…

485. Max Consecutive Ones - LeetCode

Question 485. Max Consecutive Ones Solution 题目大意:给一个数组,取连续1的最大长度 思路:遍历数组,连续1就加1,取最大 Java实现: public int findMaxConsecutiveOnes(int[] nums) {if (nums null) return 0;int result 0;int tmp 0;for (int i : nums) {if (i 1) {tmp;…

MacBook创建docker私有仓库docker server gave HTTP response to HTTPS client 问题处理办法

在 mac上搭建一个私有仓库&#xff0c;在向仓库push镜像时&#xff0c;会报如下错误&#xff1a; #docker push 192.168.163.131:5000/test Get https://192.168.163.131:5000/v1/_ping: http: server gave HTTP response to HTTPS client 百度了下答案发现都不试用mac版本的d…

Redis基础1(定义及基础)

Redis 定义&#xff1a;Redis是一个软件&#xff0c;帮助开发者对一台机器的内存进行操作 安装redis软件方法&#xff1a; 超链接地址&#xff1a;https://www.cnblogs.com/L5251/articles/9146881.html Python中下载依赖包 pip3 install redis 测试Redis是否安装成功 # 1、引入…

vue-cli安装

、安装vue-cli 命令&#xff1a;npm install vue-cli -g -g表示全局安装 2、初始化项目 命令&#xff1a;vue init webpack my-project 使用vue命令初始化项目&#xff0c;并使用webpack打包 此时会跳出一系列问题&#xff0c;除了eslint那一项&#xff0c;其余的均可回答yes&a…

修复病毒破坏的文件关联并恢复程序图标

1.破坏文件关联的两种方式&#xff1a; &#xff08;1&#xff09;修改特定扩展名文件的对应名称。以.exe文件为例&#xff1a; 正常注册表中&#xff0c;.exe文件对应名称为&#xff1a; HKEY_CLASSES_ROOT\.exe &#xff08;默认&#xff09; exefile 病毒为…

双击程序后系统弹框“您无权访问此程序”的解决办法

xp下&#xff1a;我的电脑>工具>文件夹选项>查看&#xff0c;勾掉使用简单文件共享选项。如下图&#xff1a; 此时&#xff0c;在右键点击程序图标时&#xff0c;选项卡中会出现“安全”选项卡。如下图&#xff1a; 修改everyone为Administrator...并设置完全控制权限…

adb常用操作命令

1、adb devices 查看当前链接设备&#xff0c;列出连接到计算机的Android设备或者模拟器 2、adb install <apk文件路径> 安装软件 3、adb uninstall <软件名> 卸载apk之前要先查看报名&#xff1a; 知晓包名之后&#xff0c;就可以运用命令卸载该APK 4、adb shell …

轻量级ORM框架 【Dapper】 的使用

ORM是什么&#xff1f; 从字面理解&#xff0c;O是Object&#xff0c;对象&#xff1b;R是Relation&#xff0c;关系&#xff1b;M是Mapping&#xff0c;映射。所以&#xff0c;用一句话概括就是&#xff1a;ORM是一种对象关系映射的技术。 Dapper 是.NET下的一种ORM框架。 Dap…

系统提示一个程序正在被另一个程序调用,如何知道是被哪个程序调用

今天在处理一个病毒时&#xff0c;发现病毒文件无法复制。于是利用processxp找到了病毒文件是被哪个文件调用&#xff0c;然后用md关闭了调用句柄后成功复制文件。具体情况如下&#xff1a; 为了找到是哪个程序调用了befsvc.exe&#xff0c;打开processexplorer.exe&#xff0c…

通过修改explorer.exe内存隐藏文件及注册表项

记录今天分析的一个隐藏自身及注册表项的病毒。 1.概述&#xff1a; &#xff08;1&#xff09;此病毒文件为路径为&#xff1a;C:\Windows7\4D525EC1C14.exe&#xff0c;且注册了自启动项&#xff1a; HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run […

WPF xaml中列表依赖属性的定义

WPF xaml中列表依赖属性的定义 原文:WPF xaml中列表依赖属性的定义列表内容属性 如上图&#xff0c;是一个列表标题排序控件&#xff0c;我们需要定义一个标题列表&#xff0c;从而让调用方可以自由的设置标题信息。 在自定义控件时&#xff0c;会遇到列表依赖属性&#xff0c;…

由于权限问题无法删除注册表键值的解决方法

在中了某个病毒之后手动删除病毒自启动项失败&#xff0c;如下图&#xff1a; 查看run项的权限&#xff0c;发现用户被修改成了Everyone&#xff0c;并且没有任何权限&#xff0c;如下图&#xff1a; 手动赋予Everyone用户完全控制权限后删除注册表项成功&#xff0c;如下图&am…

c++利用windows api遍历指定文件夹及其子文件夹中的文件

以下代码在vs2008中测试通过&#xff0c;利用FindFirstFile,FindNextFile函数遍历了我电脑上全路径为“C:\\Users\\v_tianboli\\Desktop\\windows程式设计开发指南”的文件夹&#xff0c;并输出文件夹及子文件夹中的所有文件完整路径到控制台。完整代码如下&#xff1a; #inclu…

某释放驱动的样本分析及手杀报告

此为样本文件下载链接&#xff1a;http://download.csdn.net/detail/cs08211317dn/3982364&#xff0c;压缩包解压缩密码为&#xff1a;virus。 今天花了1个多小时分析了一款名为123.exe的病毒&#xff0c;觉得挺有意思的&#xff0c;于是顺手写个手杀报告&#xff0c;以备以后…