作者: 乔克斯
查看: 10357|回复: 22
打印 上一主题 下一主题

[源码] 【图种】C#教你制作图种捆绑软件

[复制链接]
跳转到指定楼层
楼主
乔克斯 发表于 2014-7-21 10:53:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查看: 10357|回复: 22
1.什么是图种捆绑?
就是将一个文件和一张图片进行捆绑,并可以解压的图片。
2.图种应用什么场合?
图种图片可以上传各大论坛,并且改rar后缀后可以导出图片中的文件内容。
3.这样的图片怎么制作?
其实只是简单的cmd指令,COPY 文件名.JPG /B + 文件名.RAR = 文件名.JPG。
4.下图为示例,右键保存然后改成rar后缀导出文件。


5.以下为源码


6.以下为部分代码片段
[C#] 纯文本查看 复制代码
/// <summary>
/// 确定按钮开始捆绑文件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnOk_Click(object sender, EventArgs e) {
    //保存路径是空则还有必要项没选择
    if (string.IsNullOrEmpty(txtCSave.Text)) {
        MessageBox.Show("路径资料填写不完整!");
    } else {
        try {
            //检查将要新建的文件是否已有重名文件,有则删除
            if (File.Exists(txtCSave.Text)) {
                File.Delete(txtCSave.Text);
            }
            string tofileZip = Application.StartupPath + "\\" + Path.GetFileNameWithoutExtension(txtBFile.Text) + ".zip";
            FileToZip(txtBFile.Text, tofileZip);
            //创建一个进程操作
            Process p = new Process();
            //设置要启动的应用程序或文档,启动CMD
            p.StartInfo.FileName = "cmd.exe";
            //不使用操作系统外壳程序启动进程。
            p.StartInfo.UseShellExecute = false;
            //设置应用程序的输入是从 System.Diagnostics.Process.StandardInput 流中读取。
            p.StartInfo.RedirectStandardInput = true;
            //设置应用程序的输出写入 System.Diagnostics.Process.StandardOutput 流中。
            p.StartInfo.RedirectStandardOutput = true;
            //设置应用程序的错误输出写入 System.Diagnostics.Process.StandardError 流中。
            p.StartInfo.RedirectStandardError = true;
            //在新窗口中启动该进程的值。
            p.StartInfo.CreateNoWindow = true;
            //启用进程组件
            p.Start();
            string strOutput = null;
            //写入应用程序的流,这里写的是复制捆绑文件的CMD命令
            p.StandardInput.WriteLine(string.Format("copy /b {0}+{1} {2}", txtAFile.Text, tofileZip, txtCSave.Text));
            //执行完这句后退出CMD
            p.StandardInput.WriteLine("exit");
            //截获应用程序输出的流
            strOutput = p.StandardOutput.ReadToEnd();
            //显示在文本框中
            txtMsg.AppendText(strOutput);
            //进程操作类开始等待进程退出
            p.WaitForExit();
            //关闭进程
            p.Close();
            File.Delete(tofileZip);
            MessageBox.Show("捆绑成功!");
        } catch (Exception ex) {
            MessageBox.Show(ex.Message);
        }
    }
}




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏7 转播转播
回复 论坛版权

使用道具 举报

沙发
旋风小猪 发表于 2014-11-11 22:16:02 | 只看该作者
很新奇的做法呀,佩服楼主的钻研精神
板凳
zkb0310 发表于 2014-11-29 22:39:42 | 只看该作者
这个我很早以前看到过的,要是别人不知道,不是白瞎这么做了
地板
老段 发表于 2014-11-30 11:49:27 | 只看该作者
吓得不轻/...................
回复

使用道具 举报

5#
 楼主| 乔克斯 发表于 2014-11-30 12:02:59 | 只看该作者
zkb0310 发表于 2014-11-29 22:39
这个我很早以前看到过的,要是别人不知道,不是白瞎这么做了

- -所以你发帖的时候说明下不就好了。
6#
i9527 发表于 2014-12-8 14:42:40 | 只看该作者
以前的种子都是这么搞的
7#
 楼主| 乔克斯 发表于 2014-12-8 14:43:27 | 只看该作者
i9527 发表于 2014-12-8 14:42
以前的种子都是这么搞的

试试第一张图解压出来的东东~
8#
i9527 发表于 2014-12-8 14:49:02 | 只看该作者
乔克斯 发表于 2014-12-8 14:43
试试第一张图解压出来的东东~

X12GB3E.X213E.XEGBTFEXEXDAIENSK12321E123EX.E.X.XEXEXEEXE.EXE
9#
 楼主| 乔克斯 发表于 2014-12-8 14:57:41 | 只看该作者
i9527 发表于 2014-12-8 14:49
X12GB3E.X213E.XEGBTFEXEXDAIENSK12321E123EX.E.X.XEXEXEEXE.EXE

双击预览试试
10#
i9527 发表于 2014-12-8 14:59:54 | 只看该作者

那你要用mono
您需要登录后才可以回帖 登录 | 加入CSkin博客

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|CSkin ( 粤ICP备13070794号

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.  Designed by ARTERY.cn
GMT+8, 2024-12-21 10:08, Processed in 0.586741 second(s), 33 queries , Gzip On.

快速回复 返回顶部 返回列表