科学网

 找回密码
  注册
科学网 标签 windows 相关日志

tag 标签: windows

相关日志

自由奔放的 Linux (1)—— Windows 与 Linux
热度 1 realymylove 2012-2-21 21:30
自由奔放的 Linux (1)—— Windows 与 Linux
自从使用了 linux 以后,总是想着看看 linux 相关的新闻,了解下 linux 的方方面面,看着看着就不觉落入了一个 linux的无底的知识海洋,结果在 linux 相关信息上浪费了大把大把的时间。与女朋友聊天的时候讲到这件事情,她的一些话使我有了一些感悟:Windows 也好, linux 也好,他们只是一个操作系统而已!不管使用哪个操作系统,只要它能满足我们日常生活、工作需要即可,浪费太多的时间在那些不必需的信息上,而自己本应专心做好的事情却被耽误,这实在有些不值。写一篇总结性的博文,将自己这么多时间了解的信息梳理一下,以后少在这方面浪费些时间。 1. Windows 与 Linux 我们无法简单的说 Windows 和 Linux 孰好孰坏,它们都是非常优秀的操作系统,正是它们使得复杂而功能强大的计算机变得方便、易用。Windows 和 Linux 有许多不同的地方,表面上看有以下几个方面: (1)易用性。 之所以今天的操作系统市场份额几乎被 Windows 垄断,我想这跟 Windows 的易用性是分不开的。Windows 号称傻瓜操作系统,入门很快,使用简便,鼠标点一点就可以完成大部分操作。举个例子,我外甥连小学一年级都没上,只是看了几遍我的操作,就可以熟练的打《植物大战僵尸》。linux 90年代末期开始在这方面不断进步,现在系统的安装可以在几分钟内搞定,软件的安装也有了 deb(Debian 系)和 rpm(Redhat 系)等几种双击就可以完成的格式(虽然还有大量的软件已源代码的方式发布),桌面环境也已经变得非常的平易近人,使用方式跟 Windows 相似。 (2)稳定性和安全性。 linux 的稳定性和安全性得到了广泛的共识。一台 linux 服务器可以稳定的运行十几年而不会死机。linux 对验证、访问控制等有着完善的管理机制,而且linux还有其专有的安全模块,安全性相对更为出色。Windows 的安全性其实也不错,尤其 Windows 7 引入了完整的用户权限管理机制。但是 Windows 还包含了用户界面和大量的应用程序,其用户数量极为庞大,引来的攻击多,所以才偶尔会爆出一些漏洞。还有一点值得指出,Windows 的技术被微软垄断,linux 还有国家安全上的优势。 (3)硬件支持。 linux 支持X86、ARM、MIPS等多种架构的CPU,其应用遍布通用计算机、嵌入式设备、移动设备等各种平台。但是由于Windows 占据了绝大部分个人计算机市场,linux 的各个发行版又有其各自的特点,设备开发商从成本上考虑往往只提供Windows 版驱动程序,而不愿意开发linux 版本驱动,致使很多设备(如大型显卡等)不支持 linux。对于需要安装某些设备或者想玩大型游戏的人,linux 就很尴尬。 (4)软件支持。 软件资源的匮乏是 linux 的一大软肋。Windows 下的软件可以毫不谦虚的以海量来形容,从办公应用到影音娱乐,从网络工具到行业软件,从杀毒软件到系统清理,从图形图像到编程开发,包罗万象,无所不有。相比之下,linux 下的软甲确实不够丰富。虽然主流发行版都声称自己的软件仓库海量(Debian 称其包含20000多个软件),但是与我们的生活、办公息息相关的优秀软件却不够丰。无论是用户界面,还是功能,它们与 Windows 下的同类软件还是有不小的差距。 (5)规范性。 由于 Windows 的所有技术都掌握在微软手中,所以微软的规范就是整个Windows 软件界的标准,从系统平台到应用软件,所有的程序拥有统一的规范。我们可以将 Windows XP 下的软件随意的装在任意一台 Windows 7 的机器上。然而 linux 是自由的操作系统,基于 linux 的系统仅仅在内核上是统一的,具体到各个系统就很容易出现不兼容的问题,用gcc 3.4 编写的程序可能不能在gcc 4.6的环境下编译;使用 QT 库的软件无法在拥有 GTK+ 库的机器上安装;用户界面也有着Gnome 和 KDE 等多种桌面环境,使用习惯差距较大;软件打包格式也有这deb、rpm等多种格式,不能在不同的系统中安装;甚至连终端中的一些命令都不相同。虽然linux 高手可能说正是这给了他们很大的自主性,他们可以按自己的习惯改造系统,但是对普通大众来说,操作系统是拿来用的而不是来学习的,操作系统的使用越简单越好。 (6)费用。 Windows 7 的家庭普通版也要399元,旗舰版更是高达2460元,而且Winsows 下的软件很多(比如常用的Office、Photoshop 等等)都是需要付费的(当然,对于很多国内用户来说,他们通常使用盗版软件,这些软件完全是免费的)。然而linux 不只操作系统本身完全免费,而且基于linux 的软件也基本都是免费的。这可以让我们省下不少费用。而且linux 下的软件很多都是开源的,对于软件开发者来说,这给他们提供了一个非常好的基础。 小结: 还是那句话, Windows 和 linux 都是很优秀的操作系统 ,但是在桌面领域(或者说个人计算机领域),linux 在很多方面做的还不够好,尤其是易用性和规范性方面据Windows 还有很大差距。如果你对操作系统的需求仅仅是上上网,听听歌,做个word、ppt,任何一款操作系统都能满足你的需求;如果你想玩一些大型游戏,那么你还是老老实实的使用 Windows 吧;如果你要使用一些特殊的设备,如激光笔、探测器等,碍于驱动的问题,你不得不使用 Windows;同样如果你要使用一些科学计算软件,如Geant4,FLUKA 等,若它们只提供 linux 版本,你也只能使用 linux;最后, 如果你有较强的版权意识,又不想从自己的口袋里掏出货真价实的人民币,可以尝试下 linux!
个人分类: 生活、经验|5066 次阅读|1 个评论
[转载]启动PowerPoint时出现Visual Studio安装
qiaokang 2012-2-19 17:03
启动PowerPoint时出现Visual Studio安装 发现PowerPoint 2007在启动时出现一个Windows Installer的对话框,标题是关于Visual Studio的。如图所示: 等待其完成后,再次启动问题依旧。重启无效。查找资料后发现是Visual Studio为Office提供的加载项所致。解决方法如下:打开PowerPoint 2007,点“Office按钮”,点“PowerPoint选项”,在左边点“加载项” 管理后面的下拉菜单,选为COM加载项,点“转到” 取消Chinese Translation Addin的复选框,点确定。再次开启PowerPoint时问题解决。 本文 转自:http://kqwd.blog.163.com/blog/static/4122344820103164135899/
3347 次阅读|0 个评论
[转载]MATLAB的mex接口
joel1019 2012-2-8 04:08
最近MATLAB作实验,需要对高维矩阵的每个元素进行操作,MATLAB矩阵运算的优势无法发挥出来,只能用若干循环来实现,效率很低。想到了mex中实现C接口来使用C完成部分工作,可以极大提高效率,于是尝试利用mex接口来完成这部分工作。找了若干参考书,但发现写的并不好,不适合没有mex经验的人使用,可是会mex的人只需依靠MATLAB帮助即可完成工作,对他们来说更没有什么用处。于是写点自己在windows平台下适用MATLAB的mex接口的体会。 mex的适用情况:需要大量循环或者遍历,不想改写已有的C模块,这些情况下适用mex接口比较合适。 mex的环境要求:已安装MATLAB,已安装合适的C编译器。 mex使用: 首先在MATLAB中使用mex -setup设置工作环境和相应的配置文件。mex其他参数详见帮助。 对于需要使用mex接口的程序,文件的扩展名需要为c/cpp,然后用mex filename进行编译。编译完成后会生成dll文件(7.1之前)或者mexw32文件(7.1之后)。 编译完成后,即可像m文件一样适用mex。 mex接口的结构: ////////////////////////////////////////////// #include "mex.h" /////////////////////////// // Computational Routine // /////////////////////////// // interface function declaration return_type myFunc1(parameter1, parameter2, ...); return_type myFunc2(parameter1, parameter2, ...); ... // interface function defination, implementation void myMex(parameter1, parameter2, ...){ statements } return_type myFunc1(parameter1, parameter2, ...){ statements } return_type myFunc2(parameter1, parameter2, ...){ statements } ... ///////////////////// // Gateway Routine // ///////////////////// void mexFunction(int nlhs, mxArray *plhs ){ ... myMex(parameter list); } ////////////////////////////////////////////// 调用mex时,MATLAB将输入的数据通过入口子程序赋给输入参数指针,同时创建由输出参数指针指向的输出矩阵,然后将这些指针作为计算子程序的参数传递到计算子程序进行计算。 mexFunction在调用C函数时,直接使用指针传递参数是比较方便的,一方面需要计算的结果往往是一个矩阵而不是一个数,另一方面以值传递值返回的方式,同样需要赋值给mex接口的指针。 在mexFunction的参数中: nlhs表示输出参数的个数 nrhs表示输入参数的个数 类型为mxArray的指针数组,用于指向输出的每个参数 类型为mxArray的指针数组,用于指向输入的每个参数 为了mex的正确执行,也是良好编程习惯的要求,需要对输入参数和输出参数进行个数和类型的检查: mxGetClassID //获得指针所指变量类型 mxIsNumeric, mxIsCell等,检查指针所指变量是否为符合某种要求的变量类型。更多可查阅帮助。 参数检查过程中可使用mexErrMsgTxt输出错误信息。 mxGetM, mxGetN,获得矩阵的行数和列数 mxGetDimensions,获得矩阵维数 mxGetPr,mxGetPi,获得矩阵实数部分、虚数部分的指针 mxGetString, 获得字符串内容 mxGetElementSize, 获得存储矩阵元素所需要的字节数 mxCalloc,内存分配。用mxCalloc不用calloc和malloc,因为mxCalloc会自动释放内存,不需要手动free了。 mxCreateString, 创建1*N的字符串矩阵 mxCreateDoubleMatrix, 创建2维双精度浮点矩阵,可以是实数(mxREAL)或者复数(mxCOMPLEX) mxCreateStructArray, 创建N维结构体矩阵 mxCreateCellMatrix, 创建二维单元矩阵 mxCreateNumericArray,创建n维数值矩阵 mexPrintf, 重新封装的printf mxSetFiled, 设置结构体矩阵的域 mxSetCell, 设置单元矩阵的单元值 mxSetPr, 设置矩阵实数值 mxSetPi, 设置矩阵虚数值 mxCallMATLAB, 调用MATLAB中其他内建函数、自定义M文件、mex文件。 具体使用方法可查阅MATLAB帮助。 使用mex时的注意事项: 1.MATLAB调用mex接口时,将参数个数及参数指针传入接口子程序,由接口子程序完成指针和调用变量的赋值、输出数据的内存空间分配,接口子程序再将参数指针或经过赋值的变量作为参数传递给C的计算子程序,完成调用过程。调用时应注意指针所指对象的正确性,为处理正确最好做相应的强制类型转换。 2.mex并不便于调试,因此应在C的IDE中用测试集调试后再放入mex文件中。 3.MATLAB中指向二维及高维数组的指针递增方式是按行递增的,而C中是按列递增的,因此计算index时要注意位置。 下面给个我的例子: ///////////////////////////// #include "mex.h" int LSB(int pixel); int tier_score(int s_1,int s_2,int x_1,int x_2); int add_sub_select(int pixel_1,int pixel_2); void cost_matrix_gen_c(double *output,double *x,double *len_x,double *y,double *len_y){ int i,j; int s_1,s_2,x_1,x_2; for (j=0;j*len_y;j++){ x_1 = (int)*(y+j*2); x_2 = (int)*(y+j*2+1); for (i=0;i*len_x;i++){ s_1 = (int)*(x+i*2); s_2 = (int)*(x+i*2+1); *(output++)=tier_score(s_1,s_2,x_1,x_2); } } } int tier_score(int s_1,int s_2,int x_1,int x_2){ int score; if (s_1==LSB(x_1)){ if (s_2==add_sub_select(x_1,x_2)){ score = 20; } else{ score = 0; } } else{ score = 0; } return score; } int LSB(int pixel){ return pixel%2; } int add_sub_select(int pixel_1,int pixel_2){ return LSB((int)pixel_1/2 + pixel_2); } void mexFunction(int nlhs, mxArray *plhs ){ double *y,*x,*output,*len_x,*len_y; int n_row,n_column; if (nrhs != 4 || nlhs != 1){ mexErrMsgTxt("invalid number of input/output arguments!"); } //参数个数检查 n_row = mxGetM(prhs )mxGetN(prhs ) ? mxGetM(prhs ) : mxGetN(prhs ); //获得输入向量元素个数 n_column = mxGetM(prhs )mxGetN(prhs ) ? mxGetM(prhs ) : mxGetN(prhs ); //获得输入向量元素个数 n_row = n_row/2; n_column = n_column/2; plhs = mxCreateDoubleMatrix(n_row,n_column,mxREAL); //建立n_row*n_column大小的输出矩阵 output = mxGetPr(plhs ); x=mxGetPr(prhs ); len_x=mxGetPr(prhs ); y=mxGetPr(prhs ); len_y=mxGetPr(prhs ); //获得输入、输出指针 cost_matrix_gen_c(output,x,len_x,y,len_y); //调用计算函数 } -- 本文转载自: http://colinxu.ycool.com/post.2870781.html ,感谢原作者
个人分类: Matlab|5298 次阅读|0 个评论
2003Understanding FFT windows
lcj2212916 2012-2-3 08:25
共7页。 对于理解FFT加窗的使用很有帮助。 网盘直接下载地址: http://www.ctdisk.com/file/4456901 论坛下载地址: http://radarew.5d6d.com/thread-655-1-1.html
1941 次阅读|0 个评论
windows -> linux or not?
热度 2 wangbaokui660 2012-1-11 15:46
windows -> linux or not?
前两天看了一篇文章感觉现在网络安全愈来愈严峻,而最根本的操作系统首先就没有保障。 linux本身源于Unix,本是为服务器和工作站设计,以安全稳定著称。由此产生了,把系统更换到linux的想法。但现在所用的各种软件有替代的么? office-libre office latex-latex matlab-matlab foxmail-thunderbird EndNote-Mendeley/JabRef QQ-QQ web 快盘-web version ... 貌似基本问题不大,障碍便是软件的重新熟悉使用。不妨以另一种探索的姿态去学习使用。好歹,可以自豪的说,电脑上的软件都不是盗版的。
2493 次阅读|5 个评论
ubuntu添加windows字体
xiaoxinghe 2011-12-29 08:39
ubuntu中自带的字体虽然相当丰富,但是有时候还是希望自己的ubuntu中有windows下的字体,其实这也不是难事,只要几步就搞定了。 1、复制windows中的字体文件(%system%/windows/fonts文件夹下) 常用字体有:黑体SimHei;宋体SimSun;华文楷体STKaiti;华文宋体STSong;华文隶书STLiti 2、将所需要的字体复制到文件夹中,文件夹名称任意,如xpfonts 3、将xpfonts文件夹复制到/usr/share/fonts中(由于该文件夹需要管理员权限,所以需要使用管理员权限打开,具体方法有sudo cp xpfonts /usr/share/fonts或者使用sudo gnome-open /usr/share/fonts打开资源管理器然后再复制) 4、修改权限,让所有用户都能访问字体文件,右键选择文件-属性-权限,在其他中将文件和文件夹都设为访问文件。 5、建立字体缓存:cd /usr/share/fonts/xpfonts/ sudo mkfontscale sudo mkfontdir sudo fc-cache -fv 6、重启计算机,然后就能在openoffice等程序或gnome中设置字体了,但是目前还有一个问题就是这些文件不能很好的像windows那样对每种字体进行关联。 simhei.ttf simsun.ttc STKAITI.TTF STSONG.TTF
个人分类: Ubuntu|3670 次阅读|0 个评论
修改XP启动配置
热度 1 huangyanxin356 2011-12-28 13:33
开机后出现提示:选择要启动的操作系统如: Microsoft windows xp Professional Ghost 工具箱 一键GHOST V2010.01.02 Windows(默认值) 我的电脑-属性-高级-"启动和故障修复"设置-选择默认操作系统-然后把"显示操作系统列表时间"跟"在需要时显示恢复选项的时间"这两项前面方框内的勾勾点掉 也可以更改C盘里的boot.ini文件 里面文件 OK
个人分类: 技术类|107 次阅读|1 个评论
[转载]如何将windows xp 资源管理器查看详细信息默认应用到其他文件夹
flysui 2011-12-27 11:15
如何在Windows xp 文件夹中默认为“详细信息”浏览方式 Windows XP默认是平铺的文件夹展示方式,我电脑里文件名一般都很长,喜欢用详细信息方式浏览的我来说每个文件夹都修改一下太麻烦了。 1、打开任意一个文件夹,选择菜单栏“查看”中“详细信息”一项,并设置“选择详细信息”中自己需要的详细信息。 2、打开菜单栏中“工具”-“文件夹选项”,选择“查看”-“应用到所有文件夹”,再打开其他文件夹也将看到同样的“详细信息设置”的显示效果了。
个人分类: 电脑相关|4762 次阅读|0 个评论
[转载]最新lammps在Ubuntu中的准完全编译
swx0789 2011-12-23 16:52
lammps version: lammps-28Nov09 A. install nearly all packages in vic3 in KUleuven 在比利时鲁汶大学vic3服务器上的编译过程 compilers: intel/Compiler/11.0.069 icc 和 ifort mpich/1.2.7p1_intel 安装步骤: 1. install fftw2.1.5 in /data/leuven/300/vsc30092/software/fftw2.1.5 2. compile meam: lmp为lammps目录 cd lmp/lib/meam make -f Makefile.ifort resulting with file: libmeam.a 3. compile poems: cd lmp/lib/poems make -f Makefile.icc resulting with file: libpoems.a 4. compile reax: cd lmp/lib/reax make -f Makefile.ifort resulting with file: libreax.a 5. cd lmp/src make yes-all 安装所有包 make no-GPU 去除GPU和ATC包 make no-USER-ATC 6. cd lmp/src/MAKE edit Makefile.linux 修改: CCFLAGS = -O -I/data/leuven/300/vsc30092/software/fftw2.1.5/include -I/apps/leuven/mpich/1.2.7p1_intel/include -I/user/leuven/300/vsc30092/vsc30092/software/lammps-28Nov09/lib/meam -I/user/leuven/300/vsc30092/vsc30092/software/lammps-28Nov09/lib/poems -I/user/leuven/300/vsc30092/vsc30092/software/lammps-28Nov09/lib/reax (可以写在一起,也可以分到下面几个变量中) LINKFLAGS = -O -L/data/leuven/300/vsc30092/software/fftw2.1.5/lib -L/apps/leuven/mpich/1.2.7p1_intel/lib -L/user/leuven/300/vsc30092/vsc30092/software/lammps-28Nov09/lib/meam -L/user/leuven/300/vsc30092/vsc30092/software/lammps-28Nov09/lib/poems -L/user/leuven/300/vsc30092/vsc30092/software/lammps-28Nov09/lib/reax LIB = -lstdc++ -lmeam -lpoems -lreax LMP_INC = -DLAMMPS_XDR (支持xtc格式的轨迹输出,以便和gromacs通用) meam_SYSPATH = -L/apps/leuven/intel/Compiler/11.0/069/lib/intel64 (加上编译器所在目录) reax_SYSPATH = -L/apps/leuven/intel/Compiler/11.0/069/lib/intel64 MPI_INC = -DMPICH_IGNORE_CXX_SEEK MPI_LIB = -lmpich -lpthread FFT_INC = -DFFT_FFTW FFT_LIB = -lfftw 7. cd ../ make linux log obtaining lmp_linux (5.9 M) B. Ubuntu 9.0.4 compilers: g++ 4.3.3 gfortran 4.3.3 1. 安装fftw2 mpich gfortran csh sudo apt-get install fftw2 libmpich1.0-dev gfortran csh 2. compile meam: lmp为lammps目录 cd lmp/lib/meam make -f Makefile.ifort resulting with file: libmeam.a 3. compile poems: cd lmp/lib/poems make -f Makefile.icc resulting with file: libpoems.a 4. compile reax: cd lmp/lib/reax make -f Makefile.ifort resulting with file: libreax.a 5. cd lmp/src make yes-all 安装所有包 make no-GPU 去除GPU和ATC包 make no-USER-ATC 6. edit Makefile.g++ CCFLAGS = -g -O -I/usr/include LINKFLAGS = -g -O -L/usr/lib -L/usr/lib/gcc/i486-linux-gnu/4.3.3 LIB = -lstdc++ -lmeam -lpoems -lreax -lgfortran -lgfortranbegin ;要加上-lgfortran -lgfortranbegin, 以便link fortran lib (from SimuWorld) MPI_INC = -DMPICH_IGNORE_CXX_SEEK -I/usr/lib/mpich/include MPI_PATH = -L/usr/lib/mpich/lib MPI_LIB = -lmpich -lpthread meam_SYSLIB = reax_SYSLIB = meam_SYSPATH = reax_SYSPATH = 7. cd lmp/src make g++ log obtaining lmp_g++ (8.9 M) C. install nearly all packages in Cygwin on Windows XP 在Windows的Cygwin上安装lammps compilers: g++ 3.4.4 (gcc3 cygwin最终版) gfortran 4.3.2 1. install fftw2.1.5 in /home/wurl/software/fftw2.1.5 install cygwin, all packages or at leaset: binutils, gcc, gcc-g++, gcc-g77, make 2. compile poems: cd lmp/lib/poems make -f Makefile.g++ resulting with file: libpoems.a 3. compile reax: cd lmp/lib/reax make -f Makefile.gfortran resulting with file: libreax.a 4. cd lmp/src make yes-all make no-GPU make no-USER-ATC make no-MEAM 在cygwin下链接没有通过 前面都差不多 5. cd lmp/src/STUBS make resulting with libmpi.a 串行的需要用到STUBS 6. edit lmp/src/MAKE/Makefile.serial CCFLAGS = -O -I/home/wurl/software/fftw2.1.5/include -I/home/wurl/software/lammps-28Nov09/lib/meam -I/home/wurl/software/lammps-28Nov09/lib/poems -I/home/wurl/software/lammps-28Nov09/lib/reax LINKFLAGS = -O -L/home/wurl/software/fftw2.1.5/lib -L/home/wurl/software/lammps-28Nov09/lib/meam -L/home/wurl/software/lammps-28Nov09/lib/poems -L/home/wurl/software/lammps-28Nov09/lib/reax -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 cygwin中libstdc++.a 不在默认目录中,上面要单独给出,也可以移到下面LIB去 LIB = -lstdc++ -lmeam -lpoems -lreax -lgfortran -lgfortranbegin 要加上-lgfortran -lgfortranbegin, 以便link fortran lib (from SimuWorld) LMP_INC = -DLAMMPS_XDR meam_SYSLIB = reax_SYSLIB = meam_SYSPATH = -L/usr/lib/gcc/i686-pc-cygwin/4.3.2 reax_SYSPATH = -L/usr/lib/gcc/i686-pc-cygwin/4.3.2 FFT_INC = -DFFT_FFTW Makefile.serial 默认是 -DFFT_NONE FFT_LIB = -lfftw 要加上! 7. cd lmp/src make serial log obtaining lmp_serial (4.4 M)
10 次阅读|0 个评论
为什么要升级到Windows 7
gzchengzhi 2011-12-18 20:54
  刚才看到“网易”上面有一条有关Windows 7使用情况的新闻 。从该新闻后面的读者评论来看,绝大多数的人士看来都还是比较排斥Windows 7的。看其中的原因,主要表现在硬件的问题、软件支持问题、使用习惯问题等方面。   然而在所有的评论中,似乎忽视了一个重要的问题,就是计算机的安全问题。   操作系统是由一条条代码组成的,而开发这些代码的程序员则总是存在这样或者那样的疏忽,导致整个操作系统出现各种漏洞。严格来说,操作系统的每一条代码都可能存在被黑客利用的风险。   同以往只有几千条代码的DOS操作系统相比,现在的操作系统代码数量通常都可以达到几百万,甚至几十亿条。比如Windows 7操作系统核心程序的代码数量就达到了200多万条。即便是今后代码数量不再变化或增长了,微软的程序员还是可能要花上非常长时间才能够将其中可能出现的各种漏洞修复到一个令人满意的程度,何况为了满足用户更为丰富的技术体验的需要,今后Windows操作系统的代码还可能更迅速地增加。因此微软公司要一次性将操作系统的所有漏洞全部修复完毕几乎是不可能的。现在所能做的就是发现一个马上修复一个。当然也不排除在修复漏洞的过程中,补丁程序本身还可能造成新的问题。   由于Windows操作系统都是向上兼容的,因此一个版本出现的问题,在其他版本中往往也可能会出现。在Windows 7中出现的漏洞,在Windows XP中也可能会出现。现在的问题就是,微软公司已经不再为Windows XP系统提供主流支持了,也就是说,对于XP系统中可能出现的一些不是特别重大的漏洞,微软公司是不会提供专门的补丁程序进行修复的。这就给用户计算机系统受到攻击提供了条件。因为微软公司在Windows7系统中发布了相应的补丁,也就是告诉全世界,Windows操作系统有这样的漏洞。但是却不给Windows XP用户提供补丁程序,自然黑客就可以尝试利用这些公开的漏洞来攻击网络上的这些XP系统计算机。当然用户的Windows 7/Vista系统的计算机由于已经打了补丁,故就不会受到攻击。   那我们是否可以要求微软公司只是偷偷地提供补丁程序,而不公布漏洞?这当然也不太现实,因为用户必须知道为什么自己的计算机必须安装这些软件,否则就是一种恶意行为了。   至于新的系统跟已有的软件不支持的问题,主要靠其他软件的提供者提供升级程序来解决,以便满足Windows 7操作系统的要求。或者用户直接购买新的软件。当然这需要花额外的一笔钱,但我认为这是值得进行的投资,因为相对于今后可能产生的损失,这点投资还是比较少的。另外我们也应该意识到,已有软件之所以不支持新的系统,很可能就是因为该软件存在非常严重的安全性方面的问题,这也正是一个加以改正的绝好机会。而至于那些一定要用回XP系统才能够支持的软件的用户,其实可以使用 Windows XP Mode Virtual PC来解决这一问题。该软件可以在微软网站上免费下载。    注: 10岁的Windows XP 仍有1/3的电脑在用_网易数码 . . http://tech.163.com/digi/11/1218/09/7LI28V6U001618J1.html.
3422 次阅读|0 个评论
[转载]NS2学习
zouhongwei 2011-12-15 22:16
如何学习NS2 : 1.因为NS2是用来研究网络的,所以学习NS2之前首先要学习好《计算机网络》这门课程,其中的原理和概念都必须学习的很清楚很透彻。 2.NS2的主要运行平台是Linux操作系统平台,所以要学好用好NS2,最好熟悉Linux操作系统。可以选择一款流行的Linux发行版学习(本人推荐Fedora,应为他软件多、更新快、升级方便,当然很多人喜欢Ubuntu,反正各需所爱吧),掌握Linux操作系统的基本概念和相关操作。其实,NS2也可以运行在Windows操作系统平台上,但是本人并不推荐,因为在Windows操作系统下编译和运行NS2代码是比较费功夫的,要做很多的工作,因为我们的目的是利用NS2搞网络研究,没有必要把大把的时间花费在这上面。 3.学习C++语言和Otcl语言。通常,大学课程中都会开设C++课程,这应该不是什么问题。如果原来没有学习过C++语言,其实在刚开始学习NS2时也是不影响的,只有到学习深入后,需要添加新功能或者扩展NS2时才需要用到C++,所以C++在刚开始学习NS2时不是必须的,但是要将NS2学好,C++是必须的,学习者可以根据自己的实际情况而定。Otcl是开始学习NS2必须掌握的,Otcl源于TCL语言,并进行了面向对象的扩充,Otcl语言兼容TCL语言,可以在网上找到很多介绍TCL语言的资料,如果具有Linux/Unix下的脚本编程(例如:bash脚本编程)经验的话,学习TCL和Otcl将会很容易的。 4.开始学习NS2,关键的第一步是理解NS2的运行机制和整个NS2进行网络模拟的整个流程要搞清楚。网上有很多介绍文章和资源,但是,初学者刚开始对NS2一窍不通,无法领会所讲的内容。这个时候千万不要着急,有人说学习NS2的周期为半年(也就是6个月),不管是否夸张或者低估了学习周期,最起码,那些NS2专家们至少是花了很多时间才把NS2搞定的,所以不要想着一夜之间就把NS2全搞懂了。其实,这个时候只要比葫芦画瓢就行,别人的或者网上经典资料中的Otcl脚本自己照着敲下来(注意千万不要复制下载直接运行,要记住复制永远不能代替自己敲代码。当然,这是对新手说的),运行后看看结果。不要怕自己学习的慢,只要天天有进步就行。代码不理解也不要紧,多敲几篇肯定收获颇丰,当然还要反复看资料。这个阶段最重要的就是坚持、坚持、坚持。。。。。,你会发现慢慢的对NS2有了一点点认识了。 5.找一本好的经典的NS2书(纸质的或者网络版的电子书都可以),认认真真的从头到尾的看完,熟悉NS2的主要网络模块,加深对NS2工作机制的理解。 6.高手进阶,尝试着阅读NS2的源码,为NS2添加扩充功能。这是NS2的终极目标,如果这个阶段搞定了,那么NS2就会在你的计算机网络研究中大放异彩,NS2将会称为你的论文(当然是计算机网络相关的论文了)中不可或缺的一部分。 目录索引 1.原创NS2教程和文章 2.原创NS2视频教程 3. NS2推荐免费书籍教程 4. NS2应用于高校计算机网络课程教学方面的资源链接 5. NS2相关工具资源链接 【NS2推荐免费书籍教程】 1.NS By Example( 学习NS2必读 ): http://nile.wpi.edu/NS/ 2.NS Simulator for Beginners( 学习NS2必读 ): http://www-sop.inria.fr/maestro/personnel/Eitan.Altman/COURS-NS/n3.pdf (PDF文档), http://www-sop.inria.fr/members/Eitan.Altman/ns.htm (网页版,可以下载所有书中脚本,与PDF一同使用) 3.NS Tutorial( 学习NS2必读 ): http://isi.edu/nsnam/ns/tutorial/index.html 4.《NS2仿真实验—多媒体和无线网络通信》随书光盘下载:http://www.osedu.net/software/tools/scientific-research/2011-08-15/55.html 【NS2应用于高校计算机网络课程教学方面的资源链接】 1.A Quick Tour Around TCP: http://web.eecs.utk.edu/~dunigan/tcptour/ (介绍使用NS2讲述TCP协议,NS2官方网站上有这篇文档的连接,但是已无法访问,这里的链接是可以访问的。包含了TCP以重点和难点) 【NS2相关工具资源链接】 1.使用Java实现的NAM动画工具( Javis is a Java based version of NAM): http://www.cs.technion.ac.il/~gabik/Jist-Swans/javis/index.html , http://warriors.eecs.umich.edu/viz_tools/nam.html 2.用java语言开发的网络模拟程序jns: ftp://cs.ucl.ac.uk/nets/src/jns 3.NSG2:NS2脚本生成工具。(需要翻墙): http://sites.google.com/site/pengjungwu/nsg
6 次阅读|0 个评论
关于Windows c盘磁盘空间低
qianlivan 2011-12-15 09:31
我的Windows系统盘一般是c盘,几乎不管c盘有多大,经常系统都会提示“c盘磁盘空间低”。如果光是提示,那基本上我懒得去管,但是一到这种时候,电脑就比蜗牛还慢,什么都做不了,于是只能去磁盘清理,可是在要知道这个时候干什么和窗口有关的事都会很慢的,所以就等吧。 对于这种情况,我尝试过各种办法。我首先做的是把所有软件装到另外的盘。好了一段时间,但是15G的c盘在某一天还是不可避免地满了。我研究了一段时间,发现outlook express在搞鬼,我把收件箱挪到了另外的盘。但是……c盘还是不可避免的满了。这次得认真对待了。 上网搜了一些,多数说法是临时文件太多。关于解决方法,有人说用磁盘清理(这显然是不行的,要不我也不会来研究这个了);有人说手动去删除(这显然也是不行的,电脑像蜗牛的时候最好不要用窗口);有人说,直接命令行暴力删除。借鉴在Linux下的经验,我觉得最后一种靠谱,当然也有相当的危险——在Linux下我曾经差点删除了自己的主目录。 网上就有现成的这种暴力删除脚本,当然在搞明白之前不敢乱用,主要是要明白脚本里删除的文件都是什么含义。脚本里第一行删除的是.tmp结尾的临时文件。 del /f /s /q %systemdrive%\*.tmp 其中/f表示强制删除只读文件,/s表示从子目录中删除(相当于Linux的“-r”:recursive ),/q表示安静模式(删除全局通配符不需确认)。我在命令行里直接试了一下,这一个命令就可以释放1G的空间。但是回想一下这个做法是很危险的,因为在我的键盘上“\”键和回车键在一块儿,所以敲完%systemdrive%的时候我很有可能敲了一下回车,然后可能就比较悲剧了。所以还是把这些命令写到一个.bat文件里比较安全,确认命令正确以后再执行批处理(注:脚本的注释用rem,这个和Linux的概念差很多)。 暴力删除脚本的其它行删除了._mp结尾的临时文件、.log结尾的日志文件、.gid结尾的临时帮助文件、.chk结尾的磁盘检查文件、.old结尾的临时备份文件以及其它一些文件。但是我想到此为止已经可以满足我的需要了。下次再“c盘磁盘空间低”再想办法。于是我的release.bat的内容是 rem anti c space is low echo start cleaning del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._mp del /f /s /q %systemdrive%\*.gid del /f /s /q %systemdrive%\*.old del /f /s /q %systemdrive%\recycled\*.* del /f /s /q %windir%\prefetch\*.* echo done 执行的时候打开cmd命令行窗口,敲 release 就可以了。 20140110 从老岳那里学到一招,用CCleaner。 http://www.piriform.com/ccleaner/download/portable
个人分类: 知识|3991 次阅读|0 个评论
电脑里windows计算器的使用
kim.possible 2011-12-12 17:22
标准型的运算法则是按输入的先后顺序而计算的,而科学型的运算法则是按数学中的运算法则来进行的,即先乘除后加减,用科学计算器还可以计算各种常用函数、双曲函数和反函数等。 一、标准型 (1)Backspace:退格,删除当前输入数字中的最后一位 (2)CE:清除,清除显示的数字。 (3)C:归零,清除当前的计算。 (4)MC:清除存储器中的数值。 (5)MR:将存于存储器中的数显示在计算器的显示框上。 (6)MS:将显示框的数值存于存储器中。如果存储器中有数值将会显示M标志。 (7)M+:将显示框的数与存储器中的数相加并进行存储。 (8)Sqrt:计算显示数字的平方根。 (9)%:①表示某个数的百分比。输入一个数a和*,再输入第二个数b和%,结果等同a*b/100。例如,输入50*25%将显示为12.5。②执行带百分数的运算。输入一个数a,然后输入运算符+或-或*或/,再输入第二个数和%,最后再输入=(注意第一种情况最后没有输入=),结果等同a+或-或*或/(a*b/100)例如,输入50*25%=,结果为625。 1/x:计算显示数字的倒数。 +/-:改变当前显示数的符号。 二、科学型 单击各进制可以把显示的数字转换为相应的进制。对于十六进制、八进制及二进制来说,有四种可用的显示类型:四字(64位表示法)、双字(32位表示法)、单字(16位表示法)和字节(8位表示法),它们的作用是定义数的长度。对于十进制来说,有三种可用的显示类型:角度、弧度和梯度。在十进制模式下将三角函数输入设置为角度、弧度和梯度 (1)Inv:设置sin、cos、tan、PI、x^y、x^2、x^3、ln、log、Ave、Sum和s的反函数。完成一次计算后自动关闭反函数功能。 (2)Hyp:设置sin、cos和tan的双曲函数。完成一次计算后自动关闭双曲函数功能。 (3)Sta:显示统计框,并激活Ave、Sum、S和Data-按钮。统计框如下图所示。 返回:激活计算器窗口为活动窗口。 加载:把选中的数值加载到计算器的显示框。 清零:删除统计框中选中的数值。 全清:删除统计框中所有的数值。 (4)Ave:计算统计框中各数的平均值。若要计算平均方值,请使用Inv+Ave。 (5)Sum:计算统计框中各数的和。若要计算平方和,请使用Inv+Sum。 (6)S:计算n-1个样本参数的标准偏差。若要计算n个样本参数为的标准偏差,请使用Inv+s。 (7)Dat:将显示框中的数值装载到统计框中。 (8)F-E:打开或关闭科学计数法。大于10^32的数总是以指数形式表示。F-E只能用于十进制数字系统。 (9)Dms:将显示数字转换为度-分-秒格式(假设显示数字是用度数表示的)。若要将显示数字转换为用度数表示的格式(假设显示数字是用度-分-秒格式表示的),请使用Inv+dms。dms只能用于十进制数字系统。 (10)Sin:计算显示数字的正弦。若要计算反正弦,请使用Inv+sin。若要计算双曲正弦,请使用Hyp+sin。若要计算反双曲正弦,请使用Inv+Hyp+sin。sin只能用于十进制数字系统。 (11)Cos:cos计算显示数字的余弦。若要计算反余弦,请使用Inv+cos。若要计算双曲余弦,请使用Hyp+cos。若要计算反双曲余弦,请使用Inv+Hyp+cos。cos只能用于十进制数字系统。 (12)Tan:计算显示数字的正切。若要计算反正切,请使用Inv+tan。若要计算双曲正切,请使用Hyp+tan。若要计算反双曲正切,请使用Inv+Hyp+tan。tan只能用于十进制数字系统。 (13)Exp:允许输入用科学计数法表示的数字。指数限制为四位数。指数中只能使用十进制数(键0-9)。Exp只能用于十进制数字系统。 (14)x^y:计算x的y次方。此按钮为二进制运算符。例如,若要计算2的4次方,请单击2x^y4=,结果为16。若要计算x的y次方根,请使用Inv+x^y。 (15)x^3:计算显示数字的立方。若要计算立方根,请使用Inv+x^3。 (16)x^2:计算显示数字的平方。若要计算平方根,请使用Inv+x^2。 (17)ln:计算自然对数(以e为底)。若要计算e的x次方(其中x是当前数字),请使用Inv+ln。 (18)log:计算常用对数(以10为底)。若要计算10的x次方,请使用Inv+log。 (19)n!:计算显示数字的阶乘。 (20)Pi:显示π的值(3.1415...)。若要显示2*pi(6.28...),请使用Inv+pi。pi只能用于十进制数字系统。 (21)Mod:显示x/y的模数或余数。 (22)And:计算按位AND。逻辑运算符在执行任何按位运算时将截断数字的小数部分。 (23)Or:计算按位OR。逻辑运算符在执行任何按位运算时将截断数字的小数部分。 (24)Xor:计算按位异OR。逻辑运算符在执行任何按位运算时将截断数字的小数部分。 (25)Lsh:左移。若要右移,请使用Inv+Lsh。在单击该按钮后,必须指定(以二进制形式)要将显示区中的数字左移或右移多少位,然后单击=。逻辑运算符在执行任何按位运算时将截断数字的小数部分。 (26)Not:计算按位取反。逻辑运算符在执行任何按位运算时将截断数字的小数部分。 (27)Int:显示十进制数值的整数部分。若要显示十进制数值的小数部分,请使用Inv+Int。 (28)ABCDEF:在数值中输入选中字母(只有在十六进制模式为开启状态时该按钮才可用)。 举例 1.存储器的使用 例:计算6+12/4+1=? (1)输入6,单击MS。 (2)输入12/4=,将显示3,单击M+。 (3)输入1,单击M+ (4)单击MR,将显示它们的和6+3+1=9。 2.统计框的使用 (1)单击sta按钮,弹出统计框。 (2)切换到计算器窗口,分别输入数字1和Dat、2和Dat 、4和Dat、7和Dat,则1、2、4、7被加载到统计框。 (3)单击Ave,则计算它们的平均值,即(1+2+4+7)/4=3.5,选中Inv再单击Ave,则计算它们平方和后的平均值,即(12+22+42+72)/4=17.5 (4)单击Sum,则计算它们的和,即1+2+4+7=14,选中Inv再单击Sum,则计算它们平方和,即12+22+42+72=70 3.对数的计算 例:计算log以10为底100的对数和log以2为底8的对数 (1)输入10,单击log即可。 (2)输入8,单击log,输入/,输入2,单击log,最后单击=,即log8/log2= 4.开方计算 例:计算根号9的值,5次根号32的值 (1)在标准型下,输入9后,单击sqrt即可。在科学型下,输入9,选中Inv,单击x^y,输入2,最后输入=。或者是输入9,单击x^y,输入2,单击1/x,单击=,因为根号9等于9的2分之1次方。 (2)在科学型下,输入32,选中Inv,单击x^y,输入5,最后输入=。或者是输入32,单击x^y,输入5,单击1/x,单击=,因为5次根号32等于32的5分之1次方。
19983 次阅读|0 个评论
Postgres分析文档
pgwater 2011-12-12 15:35
Postgres分析时候的一些文档,希望对大家有帮助吧, 由于文件是在linux中做的文本,由于纯文本在windows中读不方便,尤其是文中的tab符号,不是很对齐,所以就打印 成为了pdf。 PG_Ana_Doc.rar pg_analysis.rar (纯文本,配合vim的集成环境,非常好用)
个人分类: postgres|3752 次阅读|0 个评论
[转载]配置 Windows Server 2003-IIS 6
willzhang198 2011-12-11 13:04
【IT168 服务器 学院 】 这篇文章中的信息适用于:   Microsoft Windows Server 2003, Datacenter Edition   Microsoft Windows Server 2003, Enterprise Edition   Microsoft Windows Server 2003, Standard Edition   Microsoft Windows Server 2003, Web Edition   Microsoft Windows Server 2003, 64-Bit Datacenter Edition   Microsoft Windows Server 2003, 64-Bit Enterprise Edition   Microsoft Internet Information Services version 6.0   本分步指南介绍了如何在 Windows Server 2003 环境中设置一个用于匿名访问的 WWW 服务器 。    安装 Internet 信息服务   Microsoft Internet 信息服务 (IIS) 是与 Windows Server 2003 集成的 Web 服务。   要安装 IIS、添加可选组件或删除可选组件,请按以下步骤操作:   1. 单击开始,指向控制面板,然后单击“添加或删除程序”。   “添加或删除程序”工具就会启动。   2. 单击添加/删除 Windows 组件。   显示“Windows 组件向导”。   3. 在Windows 组件 列表中,单击Web 应用程序服务器。   4. 单击详细信息,然后单击Internet 信息服务 (IIS)。   5. 单击详细信息 ,以查看 IIS 可选组件列表。   6. 选择您要安装的可选组件。默认情况下,下列组件是选中的:   --- 公用文件   --- FrontPage 2002 Server Extentions   --- Internet 信息服务管理单元   --- Internet 信息服务管理器   --- NNTP 服务   --- SMTP 服务   --- World Wide Web 服务   7. 单击“World Wide Web 服务”,然后单击详细信息 ,以查看 IIS 可选子组件(如 Active Server Pages 组件和“远程管理 (HTML) 工具”)的列表。选择您要安装的可选子组件。默认情况下,下列组件是选中的:   --- World Wide Web 服务   8. 单击确定 ,直到返回“Windows 组件向导”。   9. 单击下一步,然后完成“Windows 组件向导”。    配置匿名身份验证   要配置匿名身份验证,请按以下步骤操作:   1. 单击开始,指向管理工具,然后单击Internet 信息服务 (IIS)。   2. 展开“* 服务器名称”(其中服务器名称 为该服务器的名称),右键单击Web 站点,然后单击属性。   3. 在Web 站点属性 对话框中,单击目录 安全 性 选项卡。   4. 在“身份验证和访问控制”下,单击编辑。   5. 单击“启用匿名访问”复选框,将其选中。   备注:“用户名”框中的用户帐户只用于通过 Windows guest 帐户进行匿名访问。   默认情况下,服务器会创建并使用帐户 IUSR_computername。匿名用户帐户密码仅在 Windows 中使用;匿名用户不使用用户名和密码登录。   6. 在“已验证身份的访问”下,单击“集成的 Windows 身份验证”复选框,将其选中。   7. 单击确定 两次。    基本 Web 站点配置   1. 单击开始,指向管理工具,然后单击Internet 信息服务 (IIS)。   2. 展开“* 服务器名称”(其中服务器名称 为该服务器的名称),然后展开Web 站点。   3. 右键单击默认 Web 站点,然后单击属性。   4. 单击Web 站点 选项卡。如果您已为计算机分配了多个 IP 地址,则请在IP 地址 框中单击您要指定给此 Web 站点的 IP 地址。   5. 单击性能 选项卡。使用Web 站点属性 - 性能 对话框可设置影响 内存 、带宽使用和 Web 连接数量的属性。   通过配置某个特定站点上的 网络 带宽,您可以更好地控制该站点的 通信 量。例如,通过在低优先级的 Web 站点上限制带宽,您可以放宽对他站点的访问量的限制。同样,当您指定到某个 Web 站点的连接数量时,您就可以为其他站点释放资源。设置是站点专用的,应根据网络通信量和使用变化情况进行调整。   --- 单击“限制可用于此 Web 站点的带宽”复选框,将其选中,可配置 IIS 将网络带宽调节到选定的最大带宽量,以千字节每秒 (KB/S) 为单位。   --- 单击Web 服务连接 复选框,将其选中,可选择特定数目或者不限定数目的 Web 服务连接。限制连接可使计算机资源能够用于其他进程。   备注:每个浏览 Web 站点的客户机通常都使用大约三个连接。   6. 单击主目录 选项卡。   --- 如果您想使用 存储 在本地计算机上的 Web 内容,则单击“此计算机上的目录”然后在本地路径 框中键入您想要的路径。例如,默认路径为 C:\Inetpub\wwwroot。   备注:为了增加安全性,请不要在根目录下创建 Web 内容文件夹。   --- 如果要使用存储在另一台计算机上的 Web 内容,则单击“另一计算机上的共享位置”,然后在显示的网络目录 框中键入所需位置。   --- 如果您要使用存储在另一个 Web 地址的 Web 内容,则单击“重定向到 URL”,然后在“重定向到”框中键入所需位置。在“客户会送到”下,单击相应的复选框,将其选中。   7. 单击文档 选项卡。请注意可由 IIS 用作默认启动文档的文档列表。如果您要使用 Index.html 作为启动文档,就必须添加它。添加方法是:   a. 单击添加。   b. 在添加默认文档 对话框中,键入 Index.html,然后单击确定。   c. 单击向上箭头 按钮,直到 Index.html 显示在列表的顶部。   8. 单击确定 ,关闭默认 Web 站点属性 对话框。   9. 右键单击默认 Web 站点,然后单击权限。   10. 请注意在此 Web 站点上具有操作权限的用户帐户。单击添加 添加其他可操作此 Web 站点的用户帐户。   11. 单击确定 ,返回到“Internet 信息服务”窗口。   12. 右键单击默认 Web 站点,然后单击停止。   13. 右键单击默认 Web 站点,然后单击开始。   现在,该服务器已配置为接受传入的访问默认 Web 站点的 Web 请求。您可以将默认 Web 站点的内容替换为您想要的 Web 内容,或者创建新 Web 站点。
1753 次阅读|0 个评论
[转载]SIMULINK s-function的设计2
willzhang198 2011-12-7 17:25
s函数是system Function的简称,用它来写自己的simulink模块。(够简单吧,^_^,详细的概念介绍大伙看帮助吧)可以用matlab、C、C++、Fortran、Ada等语言来写,这儿我只介绍怎样用matlab语言来写吧(主要是它比较简单) 先讲讲为什么要用s函数,我觉得用s函数可以利用matlab的丰富资源,而不仅仅局限于simulink提供的模块,而用c或c++等语言写的s函数还可以实现对硬件端口的操作,还可以操作windows API等的 先介绍一下simulink的仿真过程(以便理解s函数),simulink的仿真有两个阶段:一个为初始化,这个阶段主要是设置一些参数,像系统的输入输出个数、状态初值、采样时间等;第二个阶段就是运行阶段,这个阶段里要进行计算输出、更新离散状态、计算连续状态等等,这个阶段需要反复运行,直至结束。 在matlab的workspace里打edit sfuntmpl(这是matlab自己提供的s函数模板),我们看它来具体分析s函数的结构。 它的第一行是这样的:function =sfuntmpl(t,x,u,flag) 先讲输入与输出变量的含义:t是采样时间,x是状态变量,u是输入(是做成simulink模块的输入),flag是仿真过程中的状态标志(以它来判断当前是初始化还是运行等);sys输出根据flag的不同而不同(下面将结合flag来讲sys的含义),x0是状态变量的初始值,str是保留参数(mathworks公司还没想好该怎么用它,嘻嘻,一般在初始化中将它置空就可以了,str= =mdlInitializeSizes; flag=0表示处于初始化状态,此时用函数mdlInitializeSizes进行初始化,此函数在 sfuntmpl.m的149行 我们找到他,在初始化状态下,sys是一个结构体,用它来设置模块的一些参数,各个参数详细说明如下 size = simsizes;%用于设置模块参数的结构体用simsizes来生成 sizes.NumContStates = 0;%模块连续状态变量的个数 sizes.NumDiscStates = 0;%模块离散状态变量的个数 sizes.NumOutputs = 0;%模块输出变量的个数 sizes.NumInputs = 0;%模块输入变量的个数 sizes.DirFeedthrough = 1;%模块是否存在直接贯通(直接贯通我的理解是输入能 %直接控制输出) sizes.NumSampleTimes = 1;%模块的采样时间个数,至少是一个 sys = simsizes(sizes); %设置完后赋给sys输出 举个例子,考虑如下模型: dx/dt=fc(t,x,u) 也可以用连续状态方程描述:dx/dt=A*x+B*u x(k+1)=fd(t,x,u) 也可以用离散状态方程描述:x(k+1)=H*x(k)+G*u(k) y=fo(t,x,u) 也可以用输出状态方程描述:y=C*x+D*u 设上述模型连续状态变量、离散状态变量、输入变量、输出变量均为1个,我们就只需改上面那一段代码为: (一般连续状态与离散状态不会一块用,我这儿是为了方便说明) sizes.NumContStates=1;sizes.NumDiscStates=1;sizes.NumOutputs=1;sizes.NumInpu ts=1; 其他的可以不变。继续在mdlInitializeSizes函数中往下看: x0 = (离散和连续的状态变量我们都设它初值为0) str = 就可以了,反正没什么用,可 %能7.0会给它一些意义 ts = ; %采样周期设为0表示是连续系统,如果是离散系统在下面的mdlGet %TimeOfNextVarHit函数中具体介绍 嘻嘻,总算讲完了初始化,后面的应该快了 在sfuntmpl的106行继续往下看: case 1, sys=mdlDerivatives(t,x,u); flag=1表示此时要计算连续状态的微分,即上面提到的dx/dt=fc(t,x,u)中的dx/dt,找到 mdlDerivatives函数(在193行)如果设置连续状态变量个数为0,此处只需sys= ;表示没有离散状态,我们这而可以改成 sys=fd(t,x(2),u)或sys=H*x(2)+G*u;%sys即为x(k+1) 看来后面几个一两句话就可了,呵呵,在sfuntmpl的118行 case 3, sys=mdlOutputs(t,x,u); flag=3表示此时要计算输出,即y=fo(t,x,u),找到mdlOutputs函数(在218行),如上,如果sys= ;这个函数主要用于变步长的设置,具体实现大家可以用edit vsfunc看vsfunc.m这个例子 最后一个,在sfuntmpl的130行 case 9, sys=mdlTerminate(t,x,u); flag=9表示此时系统要结束,一般来说写上在mdlTerminate函数中写上sys= = sfungain(t,x,u,flag,gain) switch flag, case 0, sizes = simsizes; sizes.NumContStates = 0; sizes.NumDiscStates = 0; sizes.NumOutputs = 1; sizes.NumInputs = 1; sizes.DirFeedthrough = 1; sizes.NumSampleTimes = 1; sys = simsizes(sizes); x0= ; ts= ; case 3, sys=gain*u; case {1,2,4,9}, sys = []; end 做好了s函数后,simulink--user-defined function下拖一个S-Function到你的模型,就可以用了 在simulink----user-defined function还有个s-Function Builder,他可以生成用c语 言写的s函数 在matlab的workspace下打sfundemos,可以看到很多演示s函数的程序
2550 次阅读|0 个评论
qtiplot 0.9.8.9在windows xp 下的编译
热度 1 yuzhan 2011-11-17 10:49
qtiplot 0.9.8.9在windows xp 下的编译
多半年没有继续编译qtiplot了,前几天看到有人公布了自己编译的qtiplot0.9.8.9,于是乎心血来潮又试了一次。总体感觉和之前的版本变化不大,具体内容见下。 qtiplot源程序下载自官网,qt sdk还是2010.04,qt sdk自带mingw 4.40。 三方库基本上没什么变化,变化较大的是gsl,之前从gnuwin32下载的是1.8,现在已经过时了,我使用次新的1.13,可从 这里 下载。 tamu_anova 我没搞懂,这个需要gsl库,但是在1.8下编译通过,1.13下出现问题,实在不愿意再花费时间找到一个既适宜tamu_anova还适宜qtiplot的gsl版本,这次这个被注释掉了。 ApplicationWindow.cpp与ApplicationWindow.h中showDemoVersionMessage和showProVersionMessage的函数需要仔细对待,否则会出现无法画图与无法导入无法保存等问题,我的方法是全部删掉。 一些小的微调内容这里就不说了,总体不难。之前有人提到编译emfengine时找不到gdiplus的库,这次附上( gdiplus.rar ),解压后放在mingw的相对应文件夹中即可。 图片见下: 运行状态
个人分类: 编程|5731 次阅读|1 个评论
[转载]Windows之外的天空也精彩 非主流操作系统Top10
wensz902 2011-11-16 20:51
提起桌面操作系统,可能大多数人想到的名字只有Windows、Linux、Mac OS X这几款,少部分人或许能够想起BSD、Solaris的存在。而实际上,大千世界中能够供我们选择的操作系统绝不止这几种。以下就是针对个人用户的10款非主流桌面操作系统,实际上还远远不止这些,谁说它们当中就不会出现未来的微软呢? AmigaOS 4.1 AmigaOS本月刚刚发布了4.1版本,实际上它是一款相当老牌的操作系统。该系统仅能运行在PowerPC平台上,ACube公司一直在市场上销售捆绑该操作系统的主板产品。 类型:商业软件 平台:PowerPC 网站:http://www.amiga.com/ Haiku Haiku是一款开源操作系统,它是为了延续BeOS的生命而出现的。当年的BeOS再被Palm公司收购后停止了开发。随后有了兼容BeOS的OpenBeOS,2004年改名为Haiku。 类型:开源免费软件 平台:x86和PowerPC 下载:http://www.haiku-os.org/ ReactOS ReactOS的名气比较大,经常被称作开源版Windows。该计划开始于1998年,目标就是实现兼容Windows软件,目前已经有不少Windows软件能够在ReactOS中流畅运行。 类型:开源免费软件 平台:x86 下载:http://www.reactos.org/ Syllable Desktop Syllable的前身是AtheOS,另一款类似于AmigaOS的操作系统。2002年Syllable从AtheOS中独立出来,主要特点是轻量化和高速度,针对家庭和中小企业用户。 类型:开源免费软件 平台:x86 下载:http://www.syllable.org/ SkyOS 由Robert Szeleney和一批志愿者发起的商业化操作系统,起源是一次操作系统设计实验。其特点是简单易用,诸如Firefox等常用软件也已经被移植到了SkyOS中。其最新版本界面惟妙惟肖的模仿了PS3的操作系统。目前SkyOS尚处Beta版本,但已经要价30欧元。 类型:商业软件 平台:x86 网站:http://www.skyos.org/ MorphOS 专门针对多媒体应用的轻量级操作系统,源自AmigaOS,也能够通过模拟运行Amiga程序。 类型:商业软件 平台:Pegasos,Amiga,EFIKA 网站:http://www.morphos-team.net/ AROS Research Operating System 兼容AmigaOS 3.1的轻量级操作系统,始于1995年,但目前已经可以运行在x86平台上。内置模拟器可以运行旧版Amiga应用程序。 类型:开源软件 平台:x86和PowerPC 下载:http://aros.sourceforge.net/ MenuetOS 又称MeOS,全部用汇编语言编写的高速操作系统。拥有图形界面,网络和其它多种功能,但总容量尚不足一张1.44MB软盘。 类型:32bit版为开源软件,64bit版为免费软件 平台:x86 下载:http://www.menuetos.net/ DexOS 类似游戏主机的超微型操作系统,体积小巧并能在多种设备上启动,快速也是它的优势所在。 类型:开源免费软件 平台:x86 下载:http://www.dex4u.com/ Visopsys 由一位名叫Andy McLaughlin的程序员业余编写的操作系统,始于1997年。 类型:开源免费软件 平台:x86 下载:http://www.visopsys.org/ 不知道为啥只能用纯文本格式。具体转载地址为:http://blog.chinaunix.net/space.php?uid=12052021do=blogid=1643445 有图片。
个人分类: forward|4478 次阅读|0 个评论
[转载]右键菜单修改
ywmucn 2011-11-13 13:49
右键新建 方法一:选择“开始”*“运行”,输入“regedit”,打开注册表编辑器,展开HKEY_CLASSES_ROOT主键,该主键下列出了Windows中所有文件类型的扩展名称。我们可 以找到要添加到“新建”菜单中的文件类型,然后进行修改。下面就以添加关联OutlookExpress程序的“.eml”文件为例来说明。 1. 首先需要建立一个示例文件。打开OutlookExpress,点击“文件→新建邮件”命令,新建一个邮件文件。然后点击“文件→另存为”命令,在“另 存为”对话框中,选择保存路径为“C:\Windows”,为该文件命名为“sample.eml”(保存路径和文件名可随意设置)。 2.首先在HKEY_CLASSES_ROOT主键下面找到“.eml”文件夹,在它上面单击鼠标右键,在弹出的快捷菜单中选择“新建→主键”命令,将新建的主键命名为“ShellNew”。 3. 选中“ShellNew”主键,在右边的窗口单击鼠标右键,选择“新建→字符串值”,命名为“FileName”。双击“FileName”字符串,在“ 编辑字符串”对话框的“键值”文本框中输入C:\Windows\sample.eml,按下“确定”按钮,退出注册表编辑器。 4. 在桌面上单击鼠标右键,选择“新建”菜单,看看是不是多了一项“OutlookExpressMailMessage”,单击该项即可新建一个邮件 文件。双击该邮件文件就可以打开OutlookExpress的“新邮件”窗口,撰写完邮件后,单击“发送”按钮即可将邮件发送出去。 按 照上述步骤,可添加其他类型的文件,但需要注意的是在第2步中,并不是所有的文件类型都要建立“FileName”字符串。如果你要添加的文件类型的关联 程序在启动时会自动新建空白文件(如Word、Excel),则将新字符串名称设定为“NullFile”。如果关联程序在启动时不新建空白文件(如 Outlook、Foxmail),则将新字符串名称设定为“FileName”。 要删除“新建”菜单中添加的新的文件类型,只要在注册表中找到相应的“ShellNew”主键,然后删除即可。 方法二:也可以用优化大师直观地添加 系统个性设置——找到鼠标右键设置——自定义鼠标右键——新建名称为记事本的项 路径指向系统目录下的NOPADE.EXE 右键菜单修改 修改右键菜单应该在注册表中,具体的说,是在HKEY_CLASSES_ROOT根键下(这里可是右键菜单中所有命令的根源哦!)。展开该根键,其下的子键主要有两种:扩展名键(.+扩展名)和类定义键(如图1)。一般地说,只要是在windows系统中已注册过的扩展名,在HKEY_CLASSES_ROOT下均有“·该扩展名”子键 ,记录该扩展名的一些信息,对某种特定类型的文件的右键菜单的修改,便是在该键或“扩展名file”键下的操作。 1、在所有的文件右键菜单中加入命令 如果你的系统上安装有Winzip、UltraEdit等,当你对任一文件点右键时,都会有“Add to zip”、“UltraEdit-32”等命令(当然,Winzip稍有不同,我将在后面讲到)。它的添加方法是: (1).打开“HKEY_CLASSES_ROOT\*”; (2).在其下shell下新建(项)命令\(项)command”分支,再将command的键值(默认数据)设为执行该命令时所用的可执行程序的绝对路径,并在其后加“%1”即可。 例:在“HKEY_CLASSES_R OOT\*”下新建“shell\用写字板打开\command”子键,将command的键值设为“c:\windows\notepad.exe %1”,就会在右键菜单中出现“用写字板打开”的命令了 说明: 1)要删除该类命令,只需将“命令”子键删除即可; 2) 有的人或许会问他按我写的去做,但是得到的为何与我的有一些不同,这就是我的命令里有快捷键(N),只要在“用写字板打开”后加入“(&N)”即可。 2、在特定文件类型的右键菜单中加入命令 刚才说到了Winzip这个软件,对普通的文件类型,它的右键菜单中有“Add to zip”,但是对它所支持的压缩文件类型,如*.zip、*.cab、*.rar在其右键菜单中有“Open with Winzip”、“Extract to”、“Extract to folder”、“Create Self-Extractor(.EXE)” 等命令,对于自解压性安装文件(如OICQ99b),其右键菜单中有“Run with Winzip”命令。下面是特定文件类型的右键菜单的命令添加方法(以在mp3文件的右键菜单中加入Play with winamp为例): (1).打开“HKEY_CLASSES_ROOT\mp3_auto_file”主键; (2).在其下新建“shell\Play with Winamp(&P)\command”,将command的键值设为“C:\Program files\winamp\winamp.exe %1” 。 说明:当有多个软件可以播放mp3文件时,我们可以在右键菜单中添加多条命令,如加入“Play with Unreal”等命令,但是我们如何将某一条命令定义为默认操作(即右键菜单中的黑体命令)呢? 你一定会说,很简单的事情吗!将mouse移向一mp3文件,在按右键的同时按shift,在右键菜单中选“打开方式“便可更改,但是这是错误的,不信你试试看,这样只有在右键菜单中选“打开”时才会用你所选择的程序来打开它,否则,它仍旧一如继往。因为它的默认操作不是“打开“这条命令。真正的方法是将shell的默认键值改为你所想执行的命令,例如将shell的键值改为“Winamp”,效果如图3所示。 还有,不知道你发现了没有,我在前面的例子中用的是“Play with Winamp”命令,而在这里用的是“Winamp”,是不是有点不对应呢?说到这里,真是让我心酸,本来我在txt文档中用shell进行默认操作的转换时(转换open与print)挺成功的,但是一转换“Play with Winamp”与“Play with Unreal”便失败,总是转换不过来,最后才明白这可能是“瘟酒吧”的一个bug,它要求转换时主键的键名为单个字符串时才有效。对汉字与英文的组合也有效,不过中间可不能有空格(不知道这是否与我的Win98是D版有关?)。 如果你认为上面的方法不太方便且过于复杂,其实在Windows中还提供了不用操作注册表的更为方便安全的方法:打开一个文件夹,选“查看/ 文件夹选项/文件类型”,在这里你将会找到所有已经注册的文件类型,选择“mp3文件/编辑”,看到操作下面的“新建”、“编辑”、“删除”、“设为默认值”这四个按钮没有?不用我再教你了吧!嘿嘿。 3、在所有的文件夹右键菜单中加入命令 如果你用过Acdsee这个软件,就会发现在文件夹的右键菜单中总有“Browse with acdsee”这一命令,同类的还有Pc-cillin中的Trend Pc-cillin 98命令,下面再该类命令的添加方法: (1).打开“HKEY_CLASSES_ROOT\diretory\shell”主键; (2).在其下新建“命令\command”……下面不用再说了吧! 说明:1.如果你细心一下的话,你将会发现其实在驱动器的右键菜单中,也有“Browse with acdsee” “Trend Pc-cillin98”等命令,驱动器也是特殊的文件夹,但是通过上面的方法是无法在驱动器的右键菜单中加入命令的。如果要在其中加入命令,须对“HKEY_CLASSES_ROOT\drive\shell”主键进行操作; (3).在“HKEY_CLASSES_ROOT”主键下还有一个folder子键,顾名思义,对它的操作将影响所有的文件夹,包括回收站,切记切记!(图4是在回收站中添加了“Browse with acdsee”命令) 4、在所有的文件与文件夹的右键菜单中加入命令 如果你自己开发了一个程序,它的操作对象是文件和文件夹,因此你想在所有的文件和文件夹的右键菜单中加入特定的命令进行操作,这就得看下面的了。 打开“HKEY_CLASSES_ROOT\AllFilesystemObjects”主键,在其下新建“shell\命令\command”,以下操作同前。 需要指出的是这只是一种解决方法,如果大家看我所抓下的图,会发现总有一个“IconView”命令,出现在所有的文件和文件夹的右键菜单中,但是这可不是用这种方法形成的,不妨作一下对比(如图5),这条命令是通过该软件中的应用程序扩展库iv_shext.dll扩展而来,因此它出现在右键菜单的中部。而不是在顶部 。(什么?让我讲一下这种方法?)由于这种方法涉及到编程方面的内容,限于篇幅和主题,我就不讲这种方法了(嘘!小声点,其实我也是不会。) 5、一些特殊命令的添加与删除 (1).资源管理器 在Windows系统中,普通文件夹、驱动器、回收站等的右键菜单中都有“资源管理器“命令,如果你只想在驱动器中保留该命令,可以先在“HKEY_CLASSES_ROOT\folder\shell”主键中删除 explore子键,然后在“HKEY_CLASSES_ROOT\drive\shell”主键中新建“explore\command”子键,令 commmand的键值为“C:\WINDOWS\Explorer.exe/e,/idlist,%I,%L”怎么样,成功了吧! (2).清空回收站 在Windows系统中,只有在回收站的右键菜单中才有“清空回收站”的命令,是不是太不方便了呢,好,我们可以经过一番改造,让所有的文件菜单中都有“清空回收站”的命令,follow me! 我们的思路是先找出“清空回收站”这个命令的来源,然后将其照搬到“HKEY_CLASSES_ROOT\*”下即可。好,还是先来找吧,我找呀找,终于找到了!(图6)——再教你一招,就是一些特殊的命令(特别是第三方提供的软件),都是由应用程序扩展库(.DLL)扩展而来,在注册表的 “shellex\ContextMenuHandlers”中便能找到它的痕迹。我们打开“HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E} \shellex\ContextMenuHandlers”,可以发现其下有一名为“{645FF040-5081-101B-9F08- 00AA002F954E}”的子键,这就是“清空回收站”命令的根源了。 找到了根源,就容易多了,在“HKEY_CLASSES\ROOT\*\shellex\ContextMenuHandlers”下新建一键名为“{645FF040-5081-101B-9F08-00AA002F954E}”的子键,怎么样,够酷吧! (3).新建命令的子命令的添加与删除 不知道有没有遇到这种情况:你经常自己手工编写网页,在单位的机器上的新建命令中有“新建html文档”的命令,但是你的机器上却没有,还有,随着各种软件的不断增加,你的新建命令弹出子命令的时间越来越长,够呛的吧! 不要紧,不用急,让我来帮你把该出来的叫出来,不该来的让它回去! 打开“HKEY_CLASSES\ROOT\.htm”,添加一主键shellnew,然后新建字符串值NullFile ,键值为空,你现在再对桌面点右键,看看新建,是不是多了一点什么? 至于删除,想各位不致让我多说了吧! (4).剪切、复制、粘贴等命令的添加 注意,我只是谈剪切、复制、粘贴等命令的添加,也就是说对右键菜单中没有这些命令的某些对象,可以添加,而对那些本来有就这些命令的对象,就连删除它们,我都无能为力。 好,我现在以回收站为例,来进行剪切、复制、粘贴等命令的添加,具体地说,有“打开、剪切、复制、粘贴、重命名、删除、属性”等命令的添加。先打开“HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}”主键,你会发现有“shellfolder”子键,在该子键下新建二进制值attributes,它的键值就决定了这些命令在右键菜单中的显示与隐藏。具体如下: 命令 键值 打开 00 00 00 20 剪切 02 00 00 00 复制 01 00 00 00 粘贴 00 01 00 00 删除 20 00 00 00 重命名 10 00 00 00 属性 40 00 00 00 如果你要显示某些命令,只需将该命令所对应的键值相加,结果作为attributes的键值即可。例如:当attributes值为00 00 00 00(默认)时,将不显示以上命令,当为73 01 00 20时,将显示所有的命令(如图7)。现在好了,可以将“回收站“改为你所想改的名称了,还可以将“废物”粘贴到回收站了(不过我看这倒没有多大的作用,是吗?) (5).“发送到”及其菜单 有的文件夹(如我的文档)的右键菜单中没有“发送到”这条命令,我们可以给它添加上去,方法可以参考“清空回收站”命令的添加方法。就是打开“ HKEY_CLASSES_ROOT\CLSID\{450D8FBA-AD25-11D0-98A8-0800361B1103}\shellex\ ContextMenuHandlers”,在其下新建“{7BA4C740-9E81-11CF-99D3-00AA004AE837}”子键,就可以了。 至于“发送到“的菜单,是不需要在注册表中对其进行操作的,它的根源是“C:\windows\SendTo”这个文件夹,你只需在这个文件夹内新建一个快捷方式,让它指向你所想要发送到的文件夹,就OK了(如图8,其中backup,software为新建的指向文件夹的快捷方式)。 (6).查找 在Windows系统中,普通文件夹及驱动器的右键菜单中有“查找……”这条命令,如果我们要在回收站中寻找误删除的文件,而此时回收站中的文件又多的话,我们就可以在回收站的右键菜单中加入“查找……”这条命令。具体方法可以参考2,5。只是需要新建的子键为“{61E218E0-65D3-101B-9F08-061CEAC3D50D}”。只不过命令变成了“文件或文件夹……”(如图9) 讲了这么多,你现在应该懂如何修改右键菜单了吧?以上所讲均在Windows98中文版下通过。最后祝大家都能把自己的右键菜单改得别具一格,得心应手!! 二、轻松修改鼠标右键菜单 操作过Windows 95/98的朋友们一定知道,通过使用鼠标右键的弹出菜单能简化许多操作,如用WINZIP来压缩文件。因此它也逐渐“发福”起来,先是WINZIP,后是ACDSee,再是Norton AntiVirus……你是否也想对这个弹出菜单进行修改呢?希望本文能给你一些启发。 修改文件的鼠标右键弹出菜单(以下简称弹出菜单) 运行注册表编辑器(regedit.exe),打开“我的电脑\HKEY_CLASSES_ROOT\*\shellex\ ContextMenuHandler”分支。该分支下有两个主键HexWorkshopContextMenu和Winzip(笔者的电脑中装有 Winzip和HexWorkshop),删去后即可发现原来文件的弹出菜单上的Hex edit 和Add to Zip两项不见了。当要在弹出菜单中添加一些可执行文件时(以notepad为例),可进行如下操作: 1.在“我的电脑\HKEY_CLASSES_ROOT\*”下新建一个名为shell的主键。 2.在“shell”下新建名为aaa(aaa即是显示于弹出菜单中的文字,这里假设用“用笔记本打开”代替)的主键。 3.在aaa下新建名为command的主键,修改其右默认的键值为“c:\windows\notepad.exe %1”(%1表示该文件不带参数,而只运行笔记本程序)即可。 4.需再添加新的菜单项重复步骤2、3即可。 这样,在弹出菜单上就出现了“用笔记本打开”这一选项,在打开未与笔记本建立关联的文件时避免了从许多打开方式中去重复选择笔记本的麻烦,而且可以用多种方式打开同一文件而不改变该文件原来的关联(如同时用photoshop和ACDSee打开一图片),增加了文件打开方式的灵活程度。 修改驱动器和文件夹的弹出菜单 1.驱动器弹出菜单的修改 (1)修改方法同上面文件的弹出菜单的修改基本一样,运行注册表编辑器,打开“我的电脑\HKEY_CLASSES_ROOT\DRIVE”,其下有三个主键DefaultIcon、shell和shellex。 (2)打开shell可以看见find和Browse with ACDSee(机器上需装有ACDSee),这也是显示在弹出菜单上的文字,如将Browse with ACDSee改为别的名字,如“用ACDSee浏览”时,则英文变成汉语“用ACDSee浏览”。添加菜单项同样需要在shell下添加新主键,删除菜单项则只要删除对应的主键,如删HexWorkshop,则删去shellex下的ContextMenuHandlers主键下的 HexWorkshopContextMenu主键即可。 2.文件夹弹出菜单的修改 文件夹弹出菜单的修改比较复杂,涉及两个主键Directory和Folder(同样位于“我的电脑\HKEY_ CLASSES_ROOT\”下)的修改。其中修改Folder主键后对驱动器弹出菜单也有影响(修改Drive主键不会影响其他),如在Folder\ Shell主键下添加新主键(设名为aaaa),则同时会在驱动器和文件夹弹出菜单中出现aaaa这一项,删除也同样会对两者产生影响,如删除 Folder\Shell下的explore和open主键,两者弹出菜单的资源管理器和打开两项就会消失。要删除驱动器弹出菜单的winzip项,则删去Folder\Shellex\Context MenuHandlers下的winzip主键即可。而删除文件夹弹出菜单的winzip项,还要删去Directory\Shellex\ ContextMenuHandlers下的winzip主键。只对文件夹弹出菜单进行增删,需对Directory操作就行了(操作主键 Directory不会影响驱动器的弹出菜单)。如删去查找菜单项,只需去掉Directory\Shell下的find主键,添加则在Shell下添新主键。 3.从“文件夹选项”中修改 这种方法比较简单,类似对文件建立关联,方法如下: (1)双击“我的电脑”,打开“查看/文件夹选项”(对于Windows98,还可以单击“开始/设置/文件夹选项”)。 (2)单击“文件类型”标签,从中选中“驱动器”,然后按“编辑”按钮。 (3)在随后的编辑文件类型对话框中,按“新建”按钮,在弹出的新操作对话框中输入一个名字(即弹出菜单上的文字),在用于操作的应用程序文本框中输入应用程序名(也可用浏览来寻找),完成后按“确定”即可。 修改文件夹的步骤相同,只要选中文件夹就可以了。 通过这些方法,你可以将自己制作的软件加入弹出菜单,能和正版软件同占一席之地是不是很有成就感。 三、巧妙用好右键菜单 移动和复制文件是Windows最常用的文件操作,一般都是先选中文件,然后通过鼠标右键,选择“复制”或“剪切”命令,然后打开目标文件夹,再进行“粘贴”;再者,打开并平铺两个资源管理器窗口,然后进行拖放操作,也能达到操作目的。(其实 Windows的“发送到”命令,是一个非常灵活的复制命令,我们可以手动添加“发送到”对象,就可以方便的复制文件了。但是这些方法都不够灵活,或许微软意识到了这一点,在Windows Me/XP中增加了“复制到文件夹”和“移动到文件夹”命令。它就在资源管理器的“编辑”菜单中,不信你自己打开瞧瞧!可惜在实际应用中仍稍嫌不便。这不,笔者介绍的以下的操作方法让你把“复制到文件夹”和“移动到文件夹”命令加到右键菜单中,从而可大大方便操作。 1、运行“注册表编辑器”(RegEdit)。 2、在“注册表编辑器”窗口的左窗格中,依次展开“HKEY_CLASSES_ROOT\AllFilesystem Objects\shellex\ContextMenuHandlers”分支。 3、右键单击“ContextMenuHandlers”,选择“新建→主键”,将新主键命名为“Copy To”。 4、选中“Copy To”主键,在右窗格中,双击“默认”,此时弹出对话框的“数值数据”框中键入“{C2FBB630-2971-11D1-A18C-00C04FD75D13}”。单击“确定”按钮。 5、单击“文件”菜单中的“退出”命令,关闭“注册表编辑器”窗口。 增加“移动到文件夹”命令,方法步骤同上,只是在“ContextMenuHandlers”下,新建一个“Move To”主键,将其值设置为“{C2FBB631- 2971-11D1-A18C-00C04FD75D13}”即可。 现在,右键单击某一文件(夹),在系统弹出的快捷菜单中,出现“复制到文件夹”和“移动到文件夹”两个选项,点击进去试试,此时将弹出一个浏览文件夹的窗口,选择目标文件夹后,点击确定即可实现复制或移动文件的目的。 将注册表展开到HKEY_CURRENT_ USER\Software\Microsoft\Internet Explorer\MenuExt,在IE中显示的附加右键菜单都在这里设置,常见的“网络蚂蚁”和“网际快车”点击右键下载的信息也存放在这里,只需找到显示广告的主键条目删除即可 2008年02月18日 星期一 上午 09:06 注册表的文件关联及应用 喜欢使用Windows右键快捷菜单的朋友可能知道,当你选择了一个文件(或者是文件夹或是系统图标)再单击鼠标右键,系统就会弹出一个菜单,菜单上面的各种“功能”(或称“操作”)任你选择,但是你是否注意到,当你安装一些应用软件之后,你的右键菜单是不是膨胀,以winzip为例,安装winzip之后,文件或文件夹的右键菜单当中就增加了功能选择项"Add to Zip"和"Add to xxx.zip",如图一,看到这个变化,我们不禁要问,这些选择项是怎么加入的,可不可以自己来添加。带着这些问题,我们再来看Windows的文件关联。   什么是文件关联呢?通俗地说,就是选择不同类型的文件时,在其右键菜单上显示的各功能项。每个功能项即对应一个关联。选择了某一功能(操作),系统就去执行相应的处理程序。至于对什么文件的什么操作对应什么样的处理程序,那都记录在系统注册表中。因此,要真正弄清文件关联,必须深入研究注册表。这个问题解决了,我们就可以利用注册表随心所欲地为文件建立,修改,删除关联。   既然关联信息都写在注册表中,那么它在注册表中又是怎样构成的呢?我们不妨打开注册表,观察根键HKEY_CLASSES_ROOT之下的各个主键。(这样或许更易说明这一点)你是不是看到了很多前面有一个点(.),后面好象是文件扩展名的主键,如图二所示   DefaultIcon主键,它的功能是定义该类文件的默认图标。 Shell主键,它的功能是本文讨论的中心——文件关联之“命根”所在。文件的各种关联都寄生在此“根”之下,正是它定义了该类文件与多个程序相关联。它的默认值也很有用,你是否还记得双击文件可以将文件打开(对于已注册的文件),这种打开就是利用了系统注册表所设定的默认打开方式,即由shell主键的默认键值来控制。它之下的每个主键,都可称作是“关联主键”(如图四)。“关联主键”的键名是任意的(建议用英文),它的默认键值也是我们感兴趣的。因为这一默认键值会直接显示在右键菜单中,并且每个“关联主键”之下都有一个command主键,这个主键定义的就是“该关联对应的执行程序”。如图五所示,到此文件关联已昭然若揭。   下面我们就以.reg文件(注册表的脚本文件)为例来说明其关联过程。   首先.reg文件在HKEY_CLASSES_ROOT根键之下有一个“扩展名主键”。.reg其默认值为regfile,说明reg类型文件关联的主键是regfile。再在该根键之下找“标识主键”regfile,regfile主键之下有一个DfaultIcon主键,作用是定义reg文件的默认图标。其默认键就是图标的全路径文件名。如: C:\windows\regedit.exe,1(表示的是regedit.exe中的第2个图标)。regfile主键之下还有一个上文称之为“命根”的主键shell,reg文件的 关联就记录在shell之中。下面我们就为regt建立一个关联。步骤为:在shell主键之下,新建主键xxf(名任意),置其默认值为:“徐喜峰的文 本编辑器”,再在xxf主键之下新建主键command,置其默认值为C:\Windows\Notepad.exe %1,该默认值的意义为:用记事本来打开当前reg文件。若没有%1参数,则只运行记事本程序,而不打开当前文件。设置完毕,你再看看reg文件的“右键菜单”,是不是多了一个“徐喜峰的文本编辑器”选项(如图六),爽吧!~   以上所说的只是作用于普通文件的关联,然而在Windows中,除了文件,还有文件夹及特殊的文档(如我的电脑,驱动器,回收站等)。那么这些又该如何设置关联呢?那就请大家记住在HKEY_CLASSES_ROOT根键之下还有以下几个重要的系统关联主键:   *:作用于所有文件,它与“标识主键”的关联方法一样。   Directory:作用于一般文件夹。   Folder:作用于所有文件夹,包括特殊文件,如:控制面板,回收站等。   Drive:作用于驱动器,如A驱,B驱,C驱。   Unknow:作用于系统不能识别的文件类型,即没有注册的文件类型。   最基本的文件关联就谈到此处,下面来看看文件关联的应用。   应用之一:让MS-DOS方式无处不在。   经常用到DOS方式的朋友可能有些厌烦,因为每次进入DOS方式,都要选择“开始\程序\MS-DOS方式”。利用文件关联,我们可以将MS-DOS方式添加到任何文件的“右键菜单”中,这样就省事多了,方法为: 将注册表展开到HKEY_CLASSES_ROOT\*\shell分支。(在所有文件的“右键菜单”中添加MS-DOS方式)新建主键“MS-DOS",置其默认值为“进入MS-DOS方式”,在MS-DOS主键之下新建command主键,置其默认值为:“C:\Windows\command.com”。 另注册表展开到HKEY_CLASSES_ROOT\Folder\shell分支,(在所有文件夹的“右键菜单”中添加MS-DOS方式)设置同上。   应用之二:隐去快捷方式图标中的小箭头。   如果你觉得快捷方式图标中的小箭头有点障眼,那么利用关联,可以将之去掉,将注册表展开到HKEY_CLASSES_ROOT\lnkfile 分支,将lnkfile主键之下的键值Isshortcut删除,再将注册表展开到HKEY_CLASSES_ROOT\piffile分支,将 piffile主键之下的键值Isshortcut删除,即大功告成。   应用之三:用记事本来编辑bat文件。   有时想编辑bat文件,而习惯性地双击它,这一双击,并没有将它打开编辑,而是将它执行,让人甚为恼火。利用注册表的文件关联,可以将之改变。将注册表展开到HKEY_CLASSES_ROOT\batfile\shell分支,将shell主键的默认值由open改为edit即可。   应用之四:更改某类文件的默认图标。   以txt文件为例,将txt文件的图标改为“我的电脑”的图标。将注册表展开到HKEY_CLASSES_ROOT\txtfile\DefaultIcon分支,将主键DefautIcon的默认键值改为:"C:\Windows\explorer.exe,0" 即可。   应用之五:为所有文件增加“打开方式”。   将注册表展开到HKEY_CLASSES_ROOT\*\shell分支,新建主键open_as,置其默认值为“选择打开方式”,在 Open_As主键之下新建主键command,置其默认值为:"C:Windows\rundll32.exe shell32.dll , openAs_RunDll %1 "   应用之六:将“关机”加入到右键菜单。   将注册表展开到HEKY_CLASSES_ROOT\Directory\shell分支,新建主键close,置其默认值为“关闭系统”,再 在close主键之下,新建主键command,置其默认值为:"C:\Windows\rundll32.exe user.exe, exitwindows"   以上六例应用,总体上能够概述文件关联的基本结构和基本框架,弄清了文件关联的结构与框架,自己再增加关联就是小菜一碟了。只要你有兴趣,你可以将你的右键菜单加得满满的。如果你想了解更深一层次的文件关联,那就请你参阅有关windows注册表方面的书籍与资料,或与我联系,我的Email是soolf@163.com。 在文章结束之前,还告诉大家一点小小的诀窍:那就是注册表在作过修改之后,很多场合需要重新启动才能生效。这里我告诉大家一个不需要重启但又能快速更改注 册表的方法:选择“开始\关闭系统”,在弹出“关闭系统”框之后,按Ctrl+Alt+Del 组合键,出现“结束任务”框,选择其中的“Explorer”,再单击“结束任务”,等待一会儿(10秒左右),就会出现一个“结束任务”确认框,点击“ 结束任务”按钮即可 详解右键关联菜单 注册表中这个键位,它是关联着系统所有文件的 这个键则是对应它的关联右键菜单,在这个键下面添加项目及操作,就是给所有文件添加菜单。在这个键的下面默认有个 键,这是关联菜单中的“打开方式”;一般安装了常用软件Winrar,那么就会多出一个 的键来。 这个键也是关联所有文件的 这个键下面默认有个 键,它就是菜单项目“发送到”。 这个键位,它的默认值数据为‘文件夹’,这样说明,它是关联着系统的所有文件夹,而且在‘文件夹选项’的‘文件类型’中,也可以看到它以及编辑关联菜单等。 这个键,是对应每个文件夹的背景右键菜单,所以在这个键下面添加项目及操作,就等于给‘桌面’和‘文件夹空白处’增加了菜单。它不可以在‘文件类型’中编辑和修改,甚至优化大师等优化软件也不能编辑它。 这个键,是对应右键单击每个文件夹上的菜单,如果在这个键下面添加项目和修改,就修改了文件夹的右键菜单了。‘文件类型’和大多优化软件可以编辑和修改到它。 这个键,也是对应右键单击每个文件夹上的菜单,如果在这个键下面添加项目和修改,就修改了文件夹的右键菜单了。大多优化软件可以编辑和修改到它,但‘文件类型’中无法编辑它。 这个键位,它的默认值数据为‘驱动器’,这样说明,它是关联着系统的所有硬盘分区的,而且在‘文件夹选项’的‘文件类型’中,也可以看到它以及编辑关联菜单等。 这个键,是对应右键单击每个分区上的菜单,如果在这个键下面添加项目和修改,就修改了分区的右键菜单了。‘文件类型’和大多优化软件可以编辑和修改到它。不过默认只有一项“搜索”的菜单,还有就是XP系统在文件夹选项改动这一项时,会导致“搜索”被变为默认菜单,而“打开”却变为次菜单。 这个键,也是对应右键单击每个分区上的菜单,如果在这个键下面添加项目和修改,就修改了分区的右键菜单了。大多优化软件可以编辑和修改到它,但‘文件类型’中无法编辑它。 如果想要删除某一文件类型打开方式列表中的某一条目,在这个键下找对应的.扩展名\OpenWithList把不需要的项目删除, 示例: 如果想删除文本文档(*.txt)的Windows记事本(notepad.exe)打开方式,应该删除下列键 值:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer \FileExts\.txt\OpenWithList中值为notepad.exe的字符串值。
个人分类: 脚本|3336 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-1 19:50

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部