文档库 最新最全的文档下载
当前位置:文档库 › C#仿CE注入实例

C#仿CE注入实例

C#仿CE注入实例
C#仿CE注入实例

C#仿CE注入实例

CE第7关作业

在其它程序注入汇编代码

用到分配打开进程空间,读写内存等windows API函数

Tutorial-i386.exe第7关作业,我这里把减1变成加11

//API调用需要的类

public class Win32

{

public struct MEMORY_BASIC_INFORMATION

{

public int BaseAddress;

public int AllocationBase;

public int AllocationProtect;

public int RegionSize;

public int State;

public int Protect;

public int lType;

}

public const int MEM_COMMIT = 0x1000; //已物理分配

public const int MEM_PRIVATE = 0x20000;

public const int PAGE_READWRITE = 0x04; //可读写内存

[DllImport("kernel32.dll")] //声明API函数

public static extern int VirtualAllocEx(IntPtr hwnd, int lpaddress, int size, int type, int tect);

[DllImport("kernel32.dll")] //查询内存块信息

public static extern int VirtualQueryEx(

IntPtr hProcess, IntPtr lpAddress, out MEMORY_BASIC_INFORMATION lpBuffer, int dwLength);

[DllImport("kernel32.dll")]

public static extern bool ReadProcessMemory(

IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, int size, out int numBytesRead);

[DllImport("kernel32.dll")]

public static extern bool WriteProcessMemory(

IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, int size, out int numBytesWrite);

[DllImport("kernel32.dll")]

public static extern bool WriteProcessMemory(

IntPtr hProcess, IntPtr lpBaseAddress, int[] lpBuffer, int size, out int numBytesWrite);

//以下是注册全局热键要用到Windows的API方法RegisterHotKey和

UnregisterHotKey。

[DllImport("user32.dll")]

private static extern int RegisterHotKey(IntPtr hwnd, int id, int fsModifiers, int vk);

[DllImport("user32.dll")]

private static extern int UnregisterHotKey(IntPtr hwnd, int id);

///

/// 注册热键

///

/// 窗口句柄

/// 热键ID

/// 组合键

/// 热键

public static void RegKey(IntPtr hwnd, int hotKey_id, int fsModifiers, int vk)

{

bool result;

if (RegisterHotKey(hwnd, hotKey_id, fsModifiers, vk) == 0)

{

result = false;

}

else

{

result = true;

}

if (!result)

{

MessageBox.Show("注册热键失败!");

}

}

///

/// 注销热键

///

/// 窗口句柄

/// 热键ID

public static void UnRegKey(IntPtr hwnd, int hotKey_id)

{

UnregisterHotKey(hwnd, hotKey_id);

}

//数值存入字节中

public static void LongToArray(long numWrite, ref byte[] byWrite, int

bytesSize)

{

byWrite = new byte[bytesSize];

//将数据写入byte数组中

for (int i = 0; i < bytesSize; i++)

{

byWrite[i] = (byte)((numWrite & (0x00000000000000FF << i * 8)) >> i * 8);

}

}

//字节数组转换为长整型

public static long ArrayToLong(byte[] byData, int nReadSize)

{

long numAddr;

numAddr = byData[nReadSize - 1];

for (int j = nReadSize, k = 2; j > 1; j--, k++)

{

numAddr = numAddr << 8;

numAddr = numAddr | byData[nReadSize - k];

}

return numAddr;

}

}

//用到的类库

using System.Diagnostics;

using System.Threading;

using System.Runtime.InteropServices;

//根据进程名获得进程,一般是程序文件名

public Process Getprocess(string p_name)

{

string proc_name;

proc_name = p_name.ToLower(); //进程名

Process[] ps = Process.GetProcesses();

foreach (System.Diagnostics.Process p in ps)

{

//Console.WriteLine(p.ProcessName);

IntPtr hwnd = (IntPtr)p.MainWindowHandle.ToInt32(); //进程句柄

//如果进程为taskmgr,则关闭进程

if (p.ProcessName.ToLower() == proc_name)

{

return p;

}

}

return null;

}

//调用实例:

private void button2_Click(object sender, EventArgs e)

{

Process ps1 = Getprocess("Tutorial-i386");

int baseaddress = Win32.VirtualAllocEx(ps1.Handle, 0, 0x100, 4096, 4); //分配虚拟空间

int numWriteSize = 0;

int t_Addr = 0x426E99; //更改汇编起始位置

int jmpadd = baseaddress - t_Addr - 5; //目标地址-来源地址-5 从来源地址(jmp跳转命令处)跳到目标地址(要跳转到的地址)

long h_Addr = 0x426E9F;//返回地址

byte BYTE_e9 = 0xE9; //jmp

byte BYTE_nop = 0x90; //nop

byte[] byData = new byte[1];

byData[0] = BYTE_e9; //jmp

Win32.WriteProcessMemory(ps1.Handle, (IntPtr)t_Addr, byData, 1, out numWriteSize);

byData = new byte[4]; //跳转到空间

Win32.LongToArray(jmpadd, ref byData, 4);

Win32.WriteProcessMemory(ps1.Handle, (IntPtr)(t_Addr+1), byData, 4, out numWriteSize);

byData[0] = BYTE_nop; //空指令

Win32.WriteProcessMemory(ps1.Handle, (IntPtr)(t_Addr+5), byData, 1, out numWriteSize);

byData[0] = 0xff; //inc

Win32.WriteProcessMemory(ps1.Handle, (IntPtr)baseaddress, byData, 1, out numWriteSize);

byData[0] = 0x83; //ebx

Win32.WriteProcessMemory(ps1.Handle, (IntPtr)(baseaddress + 1), byData, 1, out numWriteSize);

byData = new byte[4];

byData[0] = 0x7c;

byData[1] = 0x04;

byData[2] = 0;

byData[3] = 0;

Win32.WriteProcessMemory(ps1.Handle, (IntPtr)(baseaddress + 2), byData, 4, out numWriteSize);

byData[0] = BYTE_e9; //jmp

Win32.WriteProcessMemory(ps1.Handle, (IntPtr)(baseaddress + 6), byData, 1, out numWriteSize);

h_Addr = h_Addr - 5 - (baseaddress + 7); //目标地址-来源地址-5 byData = new byte[4];

Win32.LongToArray(h_Addr,ref byData,4);

Win32.WriteProcessMemory(ps1.Handle, (IntPtr)(baseaddress + 7), byData, 4, out numWriteSize);

}

word操作实例

教育部教育管理信息中心 全国“信息技术及应用培训”教育工程试题 《 办公自动化 》类试卷(B )卷 考试时间:180分钟 类(课程)名称:word excel PowerPoint internet 基地名称: 江苏省泰州市海陵区时代电脑培训中心 理论题部分( 40 分) 一、选择题(每题2分,共30分) 1. Word 具有的功能是( )。 A. 表格处理 B. 绘制图形 C. 自动更正 D. 以上三项都是 2. 下列选项不属于Word 窗口组成部分的是( )。 A. 标题栏 B. 对话框 C. 菜单栏 D. 状态栏 3. 在Word 编辑状态下,若要在当前窗口中打开(关闭)绘图工具栏,则可选择的操作是( )。 A .单击“工具”一“绘图” B .单击“视图”一“绘图” C .单击“编辑”一“工具栏” 一“绘图” D .单击“视图”一“工具栏” 一“绘图” 4. 在Word 编辑状态下,若要进行字体效果的设置(如上、下标等),首先应打开( )。 A.“编辑”下拉菜单 B.“视图”下拉菜单 C.“格式”下拉菜单 D.“工具”下拉菜单 5. 在Word 编辑状态下,若光标位于表格外右侧的行尾处,按Enter(回车)键,结果( )。 A .光标移到下一列 B. 光标移到下一行,表格行数不变。 C .插入一行,表格行数改变。 D. 在本单元格内换行,表格行数不变。 6.在Word 编辑状态下,对于选定的文字( )。 A .可以设置颜色,不可以设置动态效果。 B .可以设置动态效果,不可以设置颜色。 准考证号: 身份证号: 姓名:

C.既可以设置颜色,也可以设置动态效果。 D.不可以设置颜色,也不可以设置动态效果。 7. 图文混排是Word的特色功能之一,以下叙述中错误的是( )。 A.可以在文档中插入剪贴画 B. 可以在文档中插入图形 C.可以在文档中使用文本框 D. 可以在文档中使用配色方案 8. 在Word 中,新建一个Word文档,默认的文件名是“文档1”,文档内容的第一行标题是“说明书”,对该文件保存时没有重新命名,则该Word文档的文件名是( )。 A.文档1.doc B. doc1.doc C.说明书.doc D. 没有文件名 9. 在Word编辑状态下,若想将表格中连续三列的列宽调整为1厘米,应该先选中这三列,然后单击( )。 A.“表格”→“平均分布各列” B.“表格”→ “表格属性” C.“表格”→“表格自动套用格式” D.“表格”→“平均分布各行” 10. 在Word 中,下述关于分栏操作的说法,正确的是( )。 A. 可以将指定的段落分成指定宽度的两栏 B. 任何视图下均可看到分栏效果 C. 设置的各栏宽度和间距与页面宽度无关 D. 栏与栏之间不可以设置分隔线 11. 在Excel工作簿中,有关移动和复制工作表的说法正确的是( )。 A.工作表只能在所在工作簿内移动不能复制 B.工作表只能在所在工作簿内复制不能移动 C.工作表可以移动到其它工作簿内,不能复制到其它工作簿内。 D.工作表可以移动到其它工作簿内,也可复制到其它工作簿内。 12. 在Excel工作表的某单元格内,输入数字字符串“456”,正确的输入方式是()。A.456 B. '456 C. =456 D. "456" 13.在Excel中,关于工作表及为其建立的嵌入式图表的说法,正确的是()。 A.删除工作表中的数据,图表中的数据系列不会删除。 B.增加工作表中的数据,图表中的数据系列不会增加。 C.修改工作表中的数据,图表中的数据系列不会修改。 D.以上三项均不正确 14.在打印工作表前,就能看到实际打印效果的操作是()。 A.仔细观察打印表 B. 打印预览C.按F8键 D. 分页预览 15.在Excel工作表中,选定某单元格,单击“编辑”菜单下的“删除”选项,不可能完成的操作是( )。 A. 删除该行 B. 右侧单元格左移 C. 删除该列 D. 左侧单元格右移

基于VBA的AutoCAD二次开发及应用实例

基于VBA的AutoCAD二次开发及应用实例 时间:2011-10-03 18:25:09 来源:作者: 1引言 AutOCAD2005是AutOdesk公司的系列产品,该软件从其使用和设计思路上都秉承了工程制图人员的绘图习惯,能够非常轻松地绘制出带有平面视图和三维渲染效果的工程图纸,是绘图人员的一个理想工具。随着CAD基础理论和应用技术的不断发展,对CAD系统的功能要求也越来越高。因而AutoCAD 不可能完全满足每个用户的具体而特定的要求。设计人员希望它能从本质上减轻大量简单烦琐的工作量,使他们能集中精力于那些富有创造性的高层次思维活动中。 AutoCAD提供的开放式体系结构允许用户和开发者采用高级编程语言对其进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求,更方便、更规范、更专业的实现设计和绘图中的应用。VBA最早是建立在0ffice97中的标准宏语言,由于它在开发方面的易用性及具有的强大功能,许多软件开发商都将其嵌入自己的应用程序中,作为一种开发工具提供给用户使用。AutOdeSk公司自从Aut0CADRl4.0l版开始,内置了VBA开发工具。 新一代程序开发工具ViSual BaSic,不仅继承了面向对象方法的特性,同时具备可视化程序语言及程序产生器的概念。 VBA(visual Basic For Apphcation)是AutoCAD R12以后推出的一种新的编程环境,提供了以Visual Basic为基础的面向对象的开发特征及程序接口,能真正快速地访问AutOCAD图形数据库,能明显提高软件开发和维护的效率。 2 VBA的技术特性 2.1 VBA开发AUTOCAD的技术特点 VBA是微软开发出来的应用程序共享一种通用的自动化语言,它可以使常用的程序自动化,并可以创建自定义的解决方案。 VBA被集成到AutoCAD中,VBA和AutoCAD中强大的Activex自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式构架。通过VBA,我们可以操作AutoCAD2004,控制ActiveX和其它一些应用程序,使之相互之间发生互易活动下面就是VBA的主要功能: (1)VBA提供强大的窗体创建功能,为应用程序建立对话框及其他屏幕界面。 (2)可以创建自己的工具条。 (3)可以创建功能强大的模块级宏指令,宏名实质上就是模块的过程名。 (4)提供建立类模块的功能,这对开发大型工程非常有用,因此类可以提供重用组。 (5)具备完善的数据访问和管理能力,通过ADO(ActivexData Objects),可以对Access数据库或其他外部数据库(像dBase,FoxPro等)实现访问和管理。此功能比直接使用AutoCAD的数据库管理系统要方便,且功能强大。 2.2 VBA AutoCAD ActiveX Automation对象模型 VBA是通过AutoCAD ActiveX Automation接口来建立和AutoCAD对象问的联系。ActiveX是建立在COM对象模型之上的一个标准通信协议,它允许对象之间通过一定的接口相互通信。

a于ANSYS二次开发的管系结构应力分析系统

万方数据

第3期张庆峰等:基于ANSYS二次开发的管系结构应力分析系统—-79—.大,计算结果可靠。但它要求使用者具有一定的有限元知识背简单。 景,并同时具有较强专业知识水平、较强的结构分析能力和扎实 的英语基础。鉴于上述特点,使其对压力管系的有限元分析不 具有针对性。复杂的英文界面和繁琐的分析步骤都给从事压力 管系有限元分析的技术人员造成了很大的障碍。因此,基于这 些不便因素,为适用不同层次的用户使用,利用ANSYS内部提 供的二次开发工具。把ANSYS作为结构分析工具,建立了特别 适用于结构应力分析的中文界面环境、菜单和工具杆的管系结 构分析系统模块。此模块以向导的方式来进行每一步骤,各步 骤附有帮助文件,充分体现了专业化、用户化、便捷化的特点。 如图1所示。 图3管系图 图1绘制管系图 4应用实例 利用在役压力管道系统的应力分析模块对某厂核反应器再循环装置管线进行应力分析,如图2所示。 图2核反应器再循环装置回路管线图 4.1核反应器再循环装置回路管线概况 下面是一个应用该软件对在役核压力回路管线进行应力结构分析的简例。如图3所示,假定核反应器再循环装置的回路管线中发现了二处裂纹。这些裂纹可能是由于在生产或制造过程没有操作经验或某种晶间应力腐蚀所引起的。这两个裂纹,①和②,存在于旁路与核反应再循环装置回路管线主管路相连的焊接部位,它们可认为是复合缺陷。旁路管线的内径是282mm,主管路的内径是450ram,厚度是31.76mm。这些管路和弯管是SA333GR6型材料,弹性模量是188GPa。 4.2管系的结构分析 借助ANSYS的二次开发功能,在开发“含缺陷压力管系风险分析系统”时。在结构应力分析模块中,选择了国际著名的ANSYS有限元分析软件作为结构应力分析工具,并为适用不同层次的用户的需要,针对ANSYS的管路系统模块的特征,对ANSYS进行了二次开发,建立了专用程序的同时建立起对应的图形驱动界面,使得前处理建模、计算和后处理操作等变得十分 图4管系应力分布云图 5结论 通过开发以ANSYS为平台的管系应力分析系统,证实了运用ANSYS内部提供的APDL语言和UIDL语言进行开发专业模块的可行性,并且达到了界面简洁、易操作的预期功能。 利用建立在ANSYS二次开发基础上强大的管道结构应力分析模块,可以在制定管道的检修计划时,方便地确定出管道高度应集中部位,有针对性地选择焊缝并进行射线探伤,使管线的安全状况分析更加准确。有针对性地选择焊缝并进行射线探伤,使得管道的安全状况分析更为准确。同时,也可以利用该系统为分析工具,制定出旨在降低失效风险的管道结构改进措施,优化管道结构。以较低的成本提高管道的完整性水平。 因此,该系统的推广应用,对提高企业的压力管道管理水平,保障安全生产和技术进步具有重要意义。 参考文献 1ANSYSAPDLProgrammer’sGuideRelease5.5.ANSYS。Ine. 2TheUIDLProgrammer’sGuideRelease5.5.ANSYS.Ine. 3谢禹钧,蔺永诚,等.含缺陷压力关系失效风险分析系统(I)【J】.石油化工设备,2002,31(4):4—6. 4谢禹钧,蔺永诚等.含缺陷压力关系失效风险分析系统(n)【J】.石油化工设备,2002,31(5):4~6. 5程进,江见鲸等.基于ANSYS的程序界面设计及应用。四川建筑科学研究。2002,28. 6沈士明,在役压力管道安全评定研究的现状与发展。中国机械工程。 1997.8. 7APDL参数化有限元分析技术及其应用实例,中国水利水电出版社, 2003. 万方数据

ADAMS二次开发及实例

第11章ADAMS二次开发及实例 ADAMS具有很强的二次开发功能,包括ADAMS/View界面的用户化设计,利用cmd语言实现自动建模和仿真控制,通过编制用户子程序满足用户的某些特定需求,甚至可以拓展ADAMS的功能。 本章主要介绍如何定制用户化界面、宏命令的用法和条件循环命令的用法,以及综合以上功能的应用实例。由于用户子程序的主要内容已在第9章进行了详细介绍,因此本章只对所涉及到的用户子程序编译联接操作过程进行简单介绍。 11.1 定制用户界面 ADAMS/View的界面对象都是以层次结构存储在模型数据库中,类似于零件模型的层次结构。所有定制的界面对象都存储在名为GUI的数据库中,该数据库可以很方便地管理所有的标准界面对象。如图11-1所示。

图11-1 界面对象的层次结构 最上层的界面对象是窗口和对话框。如果主要建模窗口起名为main的话,其数据库全名应为.gui.main。 尽管窗口和对话框看起来很相似,但它们却是很不相同的。窗口通常是在用户工作的时候在屏幕上停留一段时间,而对话框通常是在用户输入数据或是进行访问控制时才会出现。窗口有工具条和菜单栏,窗口和对话框也包含其他的界面对象如按钮,标签等等。 大多数用户化操作涉及到创建对话框或者修改标准对话框。但若不用创建一个完整的用户化界面时,则通常只用修改菜单条和工具栏。

ADAMS所包含界面对象属性如表11-1所示。

在大多数情况下,用户定制界面是指制作用户自己的菜单和对话框。

通常可使用菜单编辑器和对话框编辑器来定制界面,通过它们可以很快地访问并改变大多数界面对象和功能。下面就这两方面的内容作简单介绍。11.1.1 定制菜单 1。菜单编辑器 通过以下菜单路径可以调出菜单编辑器窗口: Main menu==》Tools==》Menu==》Modify…… 菜单编辑器窗口如图11-2所示: 图11-2 菜单编辑窗口 在菜单编辑器窗口中显示的是ADAMS菜单文件,菜单文件是按照一定的语法书写的解释性程序文件,在默认情况下,菜单编辑器窗口里显示的是描述ADAMS标准菜单的菜单文件,通过按照一定的语法规则修改该菜

ansys二次开发及实例

ansys二次开发教程+实例 第3章ANSYS基于VC++6.0的二次开发与相互作用分析在ANSYS中的实现 3.1 概述 ANSYS是一套功能十分强大的有限元分析软件,能实现多场及多场耦合分析;是实现前后处理、求解及多场分析统一数据库的 一体化大型FEA软件;支持异种、异构平台的网络浮动,在异种、异构平台上用户界面统一、数据文件全部兼容,强大的并行计算功能 支持分布式并行及共享内存式并行。该软件具有如下特点: (1) 完备的前处理功能 ANSYS不仅提供了强大的实体建模及网格划分工具,可以方便地构造数学模型,而且还专门设有用户所熟悉的一些大型通用有 限元软件的数据接口(如MSC/NSSTRAN,ALGOR,ABAQUS等),并允许从这些程序中读取有限元模型数据,甚至材料特性和边 界条件,完成ANSYS中的初步建模工作。此外,ANSYS还具有近200种单元类型,这些丰富的单元特性能使用户方便而准确地构建出 反映实际结构的仿真计算模型。 (2) 强大的求解器 ANSYS提供了对各种物理场量的分析,是目前唯一能融结构、热、电磁、流体、声学等为一体的有限元软件。除了常规的线性、 非线性结构静力、动力分析外,还可以解决高度非线性结构的动力分析、结构非线性及非线性屈曲分析。提供的多种求解器分别适用于 不同的问题及不同的硬件配置。 (3) 方便的后处理器 ANSYS的后处理分为通用后处理模块(POST1)和时间历程后处理模块(POST26)两部分。后处理结果可能包括位移、温度、应力、应变、速度以及热流等,输出形式可以有图形显示和数据列表两种。 (4) 多种实用的二次开发工具 ANSYS除了具有较为完善的分析功能外,同时还为用户进行二次开发提供了多种实用工具。如宏(Marco)、参数设计语言(APDL)、用户界面设计语言(UIDL)及用户编程特性(UPFs),其中APDL(ANSYS Parametric Design Language)是一种非常类似于Fortran77的参数化设计解释性语言,其核心内容为宏、参数、循环命令和条件语句,可以通过建立参数化模型来自动完成一些通用性强的任务;UIDL(User Interf ace Design Language)是ANSYS为用户提供专门进行程序界面设计的语言,允许用户改变ANSYS的图形用户界面(GUI)中的一些组项,提供了一种允许用户灵活使用、按个人喜好来组织设计ANSYS图形用户界面的强有力工具;UPFs(User Programmable Features)提供了一套Fortran77函数和例程以扩展或修改程序的功能,该项技术充分显示了ANSYS的开放体系,用户 不仅可以采用它将ANSYS程序剪裁成符合自己所需的任何组织形式(如可以定义一种新的材料,一个新的单元或者给出一种新的屈服 准则),而且还可以编写自己的优化算法,通过将整个ANSYS作为一个子程序调用的方式实现。 鉴于上述特点,近几年来,ANSYS软件在国内外工程建设和科学研究中得到了广泛的应用。但这些应用大多局限于直接运用ANSYS软件进行实际工程分析,对利用ANSYS提供的二次开发工具进行有限元软件设计却很少涉及。本文首次利用ANSYS软件的二次开发功能,以VC++6.0为工具,运用APDL语言,对ANSYS进行二次开发,编制框筒结构-桩筏基础-土相互作用体系与地震反应分析程序。 3.2 程序设计目标 针对某一实际工程问题,ANSYS所提供的APDL语言可对ANSYS软件进行封装。APDL语言即ANSYS软件提供的参数化设计 语言,它的全称是ANSYS Parametric Design Language。使用APD L语言可以更加有效地进行分析计算,可以轻松地进行自动化工作(循环、分支、宏等结构),而且,它是一种高效的参数化建模手段。使用APDL语言进行封装的系统可以只要求操作人员输入前处理 参数,然后自动运行ANSYS进行求解。但完全用APDL编写的宏还存在弱点。比如用APDL语言较难控制程序的进程,虽然它提供了 循环语句和条件判断语句,但总的来说还是难以用来编写结构清晰的程序。它虽然提供了参数的界面输入,但功能还不是太强,交互性 不够流畅。针对这种情况,本文用VC++6.0开发框筒结构-桩筏基础-土相互作用有限元分析程序(简称LW S程序)。

Word控件工具箱的使用和实例

Word控件工具箱的使用和实例(多选题制作) 2010-07-27 07:41:48 来源:IT部落窝浏览:4246次 word中的控件工具箱是做什么的,如何使用? Word的控件工具箱在哪里呢?单击菜单“视图——工具栏””项中点“控件工具箱”就可以调出控件工具箱。 Word控件工具箱是做什么的呢?word控件工具箱主要在VBA中窗体内使用,每个控件都是一个工具模块,具体功能通过设置属性和写入VB代码来实现。有些控件也可以在w ord文档中使用。 word控件工具箱其实就是VBA的可视化界面,需要掌握一定的VBA知识,懂一些代码,才能更好的驾驭Word的控件工具箱。 举一个很简单的例子,打开word后,打开控件工具箱,双击命令按钮,页面上就会多出一个Commandbutton,双击“commandbutton”,在end sub上面加这样一行MsgBox 保存退出VBA编辑器,单击一下控件工具箱上第一个钮退出设计模式,现在单击一下页面上的Commandbutton按钮,就会弹出一个提示框 下面我们就利用Word的控件工具箱来制作一道多项选择题。下面是具体操作步骤: 第一步,启动Word,新建一空白文档,输入“计算机的软件系统包括( )”并根据情况设置好字体、字号和颜色。 第二步,依次单击菜单栏中的“视图→工具栏→控件工具箱”命令,在弹出的控件工具箱中选中“复选框”按钮,然后在文档拖拉出一个复选框。 第三步,在拖拉出的复选框(checkbox1)上单击鼠标右键选择属性,打开“属性”对话框,

将其中“名称”修改为“duoxt11”,“Caption”后面的字符修改为题目相应选项字符(如“系统软件”),然后再设置“font”选项设置合适的字体、字号等。其他属性可采用默认值。 第四步,将上面设置好的复选框复制三个,分别将“名称”修改为“duoxt12”、“duoxt13”、“duoxt14”,“Caption”属性分别修改为“应用软件”、“杀毒软件”和“工具软件”。 第五步,选择“控件工具箱”的“命令按钮” ,在文档中添加一个按钮,和上面3中的操作一样将其“名称”修改为“duopd11”,“caption”属性修改为“判断”(也可以修改“font”属性来设置字体、字号等)。然后双击该按钮,进入“VisualBasic编辑器”状态,将下述代码输入到Priv ate Sub Private Sub duopd11_Click()和End Sub代码中间,输入完成后,关闭窗口返回。 If duoxt11.Value = True And duoxt12.Value = True And duoxt13.Value = False And duoxt14.Value = False Then MsgBox "恭喜你,选择正确。", vbOKOnly, "结果" Else If duoxt11.Value = True And duoxt12.Value = False And duoxt13.Value = False And duoxt14.Value = False Or duoxt11.Value = False And duoxt12.Value = True And duoxt13.Value = False And duoxt14.Value = False Then MsgBox "选对了一个,还有一个,再努力一下就胜利了。", vbOKOnly, "提示" Else MsgBox "选择错误!还需要继续努力啊!", vbOKOnly, "提示" End If End If

ProE_二次开发入门实例

ProE二次开发入门实例 1. 创建项目 这个就不用多说了吧,新建-> 项目->C++->MFC DLL 2. 项目配置 这个可以参考我以前的一篇文章:P⑹ENGINEER的二次开发(5)-Vc环境配置 3. 初始化菜单文件 在这里,先创建一个菜单,作为演示,: (1)在住文件添加Pro/TOOLKIT 头文件。由于在后面的操作中,都要用到这些头文件,故将头文件放到stdafx.h 文件中。77777777777777777777777777777777777777777777777777777777777777777777777777 ⑵添加Pro/TOOLKIT 程序的初始化函数和终止函数,

return TRUE : } … 『 extern int uier_initi alii e fint j char* 』char* j char* * v char_t 电rrbnf [so ]) r eturia. L ; 】 初始化函数 t 匸L X' r?id e 终止函数 ⑶创建一个窗体:右键单击解决方案的资源文件,然后点击添加Dialog,如图: ms? 零 Accelerator S§ Bitmap Sfe Cursor S HTML FJ Icon 自 M@nu *fc Strrg Tatile 到到 Toolbar Ol \ ersion 蜀 Resource.h ? stdafx.h g zenun,h 3 TestDelg.h □ 资潺立件 3 zenun.rc 31 zeraun.rc? IS ReadMe.txt 刀解"??丨马类…国熒… 3. (4)添加一个按钮,然后双击添加类向导,创建CTestDialog 类,然后再窗体中添加一个按钮,做测试之用,如图: ar gc argw[] versi on b^ili

ANSYS模拟大体积混凝土浇筑过程的参数分析_赵英菊

1.ANSYS分析的原理和步骤 ANSYS的热分析[1]包括稳态和瞬态两种,如果系统的温度场与时间无关,则称该系统处于稳定的热状态,简称稳态;如果系统的温度场随时间发生变化,则称系统处于瞬态。显然,大体积混凝土的浇筑过程属于瞬态分析,也属于非线性分析。 我们不仅要进行混凝土温度场的模拟还要进行应力场的模拟,所以要用到ANSYS中耦合分析,ANSYS提供了两种分析耦合场的方法:直接耦合与间接耦合。 直接耦合法的耦合单元包含所有必须的自由度,仅仅通过一次求解就能得出耦合场分析结果;间接耦合法是以特定的顺序求解单个物理场的模型,通过把第一次场分析的结果作为第二次场分析的载荷来实现两种场的耦合。如我们用到的热-应力耦合分析就是将热分析得到的节点温度作为载荷施加在后序的应力分析中来实现耦合的。基本步骤如下: 第一步:进行热分析,可选择SOLID70单元; 第二步:重新进入前处理器,转换单元类型;将热单元转换为相应的结构单元,原来的SOLID70单元将自动转换为SOLID45单元,其对应的命令是ETCHG,TTS。 第三步:设置结构分析中的材料属性; 第四步:读入热分析结果并将其作为载荷;可采用命令LDREAD读入热分析的节点温度,或点击MainMenu>Solution>LoadApply>Temperature>FromThermalAnalysis。注意,结果文件的扩展名为*.rth。 第五步:指定参考温度;在参考温度处,热应力值为零。 第六步:求解及后处理。 2.温度场的求解 2.1三种基本传热方式 (1)热传导,遵循傅里叶定律(导热基本定律):q″=-λdT dx ,式中q″为热流密度(W/m2),λ为导热系数(W/m?℃),“-”表示热量流向温度降低的方向。 (2)热对流,用牛顿冷却方程来描述:q″=β(TS-TB),式中β为对流换热系数,TS为固体表面的温度,TB为周围流体的温度。 (3)热辐射,指物体发射电磁能,并被其它物体吸收转变为热的热量交换过程。 2.2边界条件 (1)第一类边界条件是指混凝土表面温度T是时间τ的已知函数,即 T(x,y,z,τ)=Tb(τ) (2)第二类边界条件是指混凝土表面的热流量是时间的已知函数,即 -λ$T $n =T′(τ) 式中λ—— —导热系数,W/m?℃或kJ/m?h?℃,W/m?℃=3.6kJ/m?h?℃; n—— —表面外法线方向,若表面是绝热的,有:$T $n =0。 (3)第三类边界条件假定经过混凝土表面的热流量与混凝土表面温度T和气温Ta之差成正比,即 -λ$T $n =β(T-Ta) 式中β—— —表面放热系数,也称对流系数,W/m2?℃。其数值与风速va(m/s)有密切的关系,固体表面在空气中的放热系数可用以下两式计算,单位是kJ/m2?h?℃。 粗糙表面:β=23.9+14.50va(1)光滑表面:β=21.8+13.53va(2)当有模板和保温层时,可按下式计算:β=1 ∑ δ i λ i +1 β q (3)式中δi—— —各种保温材料的厚度(m); λi—— —各种保温材料的导热系数(W/m?K),可按表1取值[2]; βq—— —空气的传热系数,可取23(W/m2?K)。 表1各种保温材料的导热系数λ值(W/m?K) (4)当两种条件不同的固体接触时,如接触良好,则在接触面上温度和热流量都是连续的,即T1=T2,λ1( !T 1 !n )=λ2(!T2 !n )。 混凝土与空气接触(包括有养护条件)的边界可按照第三类边界条件处理: NSEL,,,!选择与空气接触的表面节点 SF,ALL,CONV,β,Tair,!加载表面散热系数和环境温度 混凝土与地基或基岩的边界可以按照第四类边界条件处理,通过定义两种材料的导热系数和初始温度即可。 2.3热学参数取值基本参数较容易获得,也可参考下表: 表2材料的基本热学参数 2.3.1水化热的施加在ANSYS中,混凝土的水化热是通过生热率HGEN来施加的。顾名思义,生热率就是单位时间内混凝土的生热量,即所产生的热量对时间的导数,用表达式表示为: hgen=dQ dt (4)式中:Q—— —混凝土中产生的热量; hgen—— —混凝土生热率。 混凝土的水化热放热过程与混凝土的绝热温升过程具有一致性,若取指数经验式: ANSYS模拟大体积混凝土浇筑过程的参数分析 赵英菊王社良康宁娟 (西安建筑科技大学土木工程学院陕西西安710055) 摘要:建筑工程中的大体积混凝土结构越来越多,利用有限元程序ANSYS进行施工过程的模拟仿真可以形象地给出温度场和应力场的分布情况,同时能考虑各参数随时间的变化。时变参数的选取及其在程序中的实现是仿真分析中的重点和难点,特总结归纳,并给出解决的方法供参考。 关键词:ANSYS;混凝土;浇筑;时变参数 材料名称λ材料名称λ 木模0.23黏土砖0.43 钢模58油毡0.05 草袋0.14沥青矿棉0.09~0.12 木屑0.17沥青玻璃棉毡0.05 矿渣0.47泡沫塑料制品0.03~0.05 黏土1.38~1.47泡沫混凝土0.10 干砂0.33水0.58 湿砂1.31空气0.03 名称数值单位名称数值单位 混凝土的密度2400kg/m3混凝土的导热系数2.710W/m?℃ 土壤的密度1750kg/m3土壤的导热系数0.586W/m?℃ 混凝土的比热0.963kJ/kg?℃混凝土的线膨胀系数10×10-6℃ 土壤的比热1.005kJ/kg?℃混凝土的导温系数0.0042m2/h96

非常好用的word实例

綜合練習 1、輸入下麵の文字並按樣文排版,要求如下: (1)標題文字:隸書,一號,桔黃,加空心效果,居中; (2)正文文字:正文所有段落,楷體,四號,加陰影效果。 正文第一段,粉紅,左對齊; 正文第二段中,高明同學為淺黃色,日期、大禮堂為藍色,左對齊; 正文最後兩段,右對齊; (3)段落:正文第二段,首行縮進2個字元。 (4)間距:正文第一段,段前間距1行。 (5)行距:各段行距均為1.5倍行距。 (6)邊框:為標題加段落邊框,上下邊框線為雙線型,桔黃色,0.5磅;左右邊框線為虛線型,1.5磅,桔黃色。(6)底紋:為所有文字加底紋,淺綠色。 (7)橫線:為正文上下加橫線效果,如樣文所示。2、輸入“(Internet)連接了全球不計其數の網路與電腦”,利用“格式刷”功能把它の格式設置為與“大禮堂”相同の格式。 3、輸入幾段落為其加編號。起始編號為3,編號樣式為: 4、排版如下內容: (1)X2+Y2=Z2 (2)中 zhōng 南 nán 海 hǎi 綜合練習:輸入如下文字,按要求進行排版。 樣文如下: 1、要求如下: 1)標題為藝術字,藝術字式樣為“第二行第三列”の式樣,藝術字形狀為“兩端遠”。 2)正文第一段:華文行楷,三號,綠色,首行縮進2個字元。 3)正文第二段:隸書,三號,金色,首行縮進2個字元。

4)在第一段中加入豎排文本框,雙線型,4.5磅,桔黃色,文本框內文字為華文行楷,三號,紅色; 5)文本框環繞方式:四周環繞。 6)分欄:正文第二段分兩欄,加分隔線。 7)在文檔中插入一幅圖片,顏色為沖蝕,環繞方式為襯於文字下方,並為該圖片加邊框,線型為雙線型,6磅, 紅色。 綜合練習: 1、繪製如下表格 2、插入如下表格(表格在下一頁),要求如下: 1)表格第一行行高為2.5釐米,其他行行高為1.5釐米,表格中每一列列寬為3釐米。 2)表格內第一行文字,華文隸書,三號,中部居中; 3)表格最後一行文字,黑體,加粗,四號,靠下居中; 4)表格中其他文字,華文隸書,小四號,中部居中; 5)表格線,外邊框線為“雙線型”,3磅,綠色;內邊框線為“虛線型”,1.5彩磅,綠色; 6)底紋,為表格加如圖所示底紋。 3、繪製如下表格:

泛微OA-ecology-二次开发实例-开发完整说明

二次开发培训文档 一、ECOLOGY系统框架结构 1、主要的程序结构 Ecology Classbean 存放编译后的CLASS文件 js 系统中使用的JA VASCRIPT和VBSCRIPT脚本 Css 系统中JSP页面使用的样式 Images Images_face Images_frame 系统中使用的图片的存放目录 Crm Workflow 该功能分文件夹存放每个功能的文件 WEB-INF Prop 系统配置文件存放 Service 系统的接口配置文件的存放 二、说明一个JSP页面,一个JA VA程序的基本组成,如何阅读JSP页面 1、一个jsp页面通常需要包含什么内容 2、如何阅读一个JSP页面 由于ECOLOGY系统支持多语言,因此在JSP页面上一般不出现中文,全部使用标签的形式来显示中文: 比如:在IE上显示“姓名”那么在JSP页面中将通过 <%=SystemEnv.getHtmlLabelName(413,user.getLanguage())%>这样的形式来表示,其中的数字413就是表示姓名,同时可以通过“select labelname from htmllabelinfo where indexid=413 and languageid=7”来获取到“姓名”这个显示名称,其中languageid=7表示中文显示名称,languageid=8表示英文显示名称. delete from HtmlLabelIndex where id=81249 delete from HtmlLabelInfo where indexid=81249 INSERT INTO HtmlLabelIndex values(81249,'选择范围') INSERT INTO HtmlLabelInfo VALUES(81249,'选择范围',7) INSERT INTO HtmlLabelInfo VALUES(81249,'Range of choice',8) INSERT INTO HtmlLabelInfo VALUES(81249,'選擇範圍',9) 3、JA VA程序的基本组成 在ECOLOGY中开发JA VA程序建议继承weaver.general. BaseBean,在BaseBean中主要封装了两个方法:写日志文件,获取配置文件中的参数值。 public String getPropValue(String fname , String key)

Word操作技巧大全

Word操作技巧大全(转) Word操作技巧大全(64页) 摘录者 https://www.wendangku.net/doc/327822156.html,/shufayan Word中的―选中‖方法知多少? 一、常见的―选中‖方法: ü全选(快捷键Ctrl+A):就是全部选中文档内的所有内容。这所有内容包括:文字、表格、图形、图像等可见的和不可见的标记。 ü按住Shift+Page Down从光标处向下选中一屏,Shift+Page Up从光标处向上选中一屏。ü按住Shift+左选中光标左边第一个字符,Shift+右选中光标右边第一个字符,Shift+上选中从光标处向上到同列的字符,Shift+右选中从光标处向下到同列的字符。(注:此处的?、à、á、a表示:上、下、左、右光标键) üCtrl+Shift+á从光标向上选中光标所在的一段,Ctrl+Shift+a从光标向下选中光标所在的一段。 ü扩展选中(快捷键F8):按一次打开扩展功能;再按一次选中光标所在的位置的单词(若是中文的话选中光标所在的后一个字);再按一次选中光标位置所在的一句;再按一次选中光标位置所在的一段落;再按一次则相当于全选。取消扩展功能,按Esc键。 ü把光标放到页面的左边,出现形如―?‖,点击就选中一行。上下拖到就选中若干行。 ü Alt+鼠标拖动:选中矩形区域。 ü按住Shift选中多个对象(非嵌入型的),也可以用绘图工具栏第二个按钮的―选择对象‖(―?‖)来选择。 对于Word2003可以把光标放到任一位置,点右键/―选择格式相似的文本‖功能,这个功能有点类似于F4,比较―另类‖。―相似‖两字很值得玩味,多试几遍,其意自现。 二、―不常用‖的―选中‖方法 说他―不常用‖并不真的是不常用,而是对于新手而言的不常用。 ü通过菜单格式/样式和格式(Word2003版,别的版本类似),点击要选择的样式,点右边的下拉框,出现―选择所有XX实例‖、―修改‖、―删除‖等。此处的XX代表使用这种样式的段落是多少,点选―选择所有XX实例‖就选中了所有应用了此样式的段落。(注:对于规范的排版,这个是最好用的,可能我们只要四五个样式就把一篇小册子搞定。) ü不得不提到的替换(快捷键Ctrl+F):在查找内容中输入要选中的文字、或点格式、高级等设置,再点选突出显示所有在该范围找到的项目,在选查找全部、关闭,这就就选中了你可以想到的任意的内容。这个看似简单,其实是所有技巧中伸缩度最大的一个。 三、一种类似于图形软件方面的选中技巧: 在Photoshop中,有一个命令叫―保存选区‖非常好用,在Word中也可以找到类似的方法,这就是书签。利用书签―存储选区‖也是很好的方法,但要注意,他必须是连续的区域。 方法是:先选中要定义的区域,插入/书签,输入书签名,定义一个书签。使用时:插入/书签,找到想选中的书签,点―定位‖就选中了书签所代表的选择。这个功能在后台VBA中也很好用,制定特定模板的首选。 特例:对段落进行样式时,不需要选中段落的,只要把光标放到段落中就行了。

附代码基于C 的ANSYS二次开发

ansys二次开发 1概述 ANSYS是一套功能十分强大的有限元分析软件,能实现多场及多场耦合分析;是实现前后处理、求解及多场分析统一数据库的一体化大型FEA软件;支持异种、异构平台的网络浮动,在异种、异构平台上用户界面统一、数据文件全部兼容,强大的并行计算功能支持分布式并行及共享内存式并行。该软件具有如下特点:(1)完备的前处理功能 ANSYS不仅提供了强大的实体建模及网格划分工具,可以方便地构造数学模型,而且还专门设有用户所熟悉的一些大型通用有限元软件的数据接口(如MSC/NSSTRAN,ALGOR,ABAQUS等),并允许从这些程序中读取有限元模型数据,甚至材料特性和边界条件,完成ANSYS中的初步建模工作。此外,ANSYS还具有近200种单元类型,这些丰富的单元特性能使用户方便而准确地构建出反映实际结构的仿真计算模型。 (2)强大的求解器 ANSYS提供了对各种物理场量的分析,是目前唯一能融结构、热、电磁、流体、声学等为一体的有限元软件。除了常规的线性、非线性结构静力、动力分析外,还可以解决高度非线性结构的动力分析、结构非线性及非线性屈曲分析。提供的多种求解器分别适用于不同的问题及不同的硬件配置。 (3)方便的后处理器 ANSYS的后处理分为通用后处理模块(POST1)和时间历程后处理模块(POST26)两部分。后处理结果可能包括位移、温度、应力、应变、速度以及热流等,输出形式可以有图形显示和数据列表两种。 (4)多种实用的二次开发工具 ANSYS除了具有较为完善的分析功能外,同时还为用户进行二次开发提供了多种实用工具。如宏(Marco)、参数设计语言(APDL)、用户界面设计语言(UIDL)及用户编程特性(UPFs),其中APDL(ANSYS Parametric Design Language)是一种非常类似于Fortran77的参数化设计解释性语言,其核心内容为宏、参数、循环命令和条件语句,可以通过建立参数化模型来自动完成一些通用性强的任务;UIDL(User Interface Design Language)是ANSYS为用户提供专门进行程序界面设计的语言,允许用户改变ANSYS的图形用户界面(GUI)中的一些组项,提供了一种允许用户灵活使用、按个人喜好来组织设计ANSYS图形用户界面的强有力工具;UPFs(User Programmable Features)提供了一套Fortran77函数和例程以扩展或修改程序的功能,该项技术充分显示了ANSYS的开放体系,用户不仅可以采用它将ANSYS程序剪裁成符合自己所需的任何组织形式(如可以定义一种新的材料,一个新的单元或者给出一种新的屈服准则),而且还可以编写自己的优化算法,通过将整个ANSYS作为一个子程序调用的方式实现。 鉴于上述特点,近几年来,ANSYS软件在国内外工程建设和科学研究中得到了广泛的应用。但这些应用大多局限于直接运用ANSYS软件进行实际工程分析,对利用ANSYS提供的二次开发工具进行有限元软件设计却很少涉及。本文首次利用ANSYS软件的二次开发功能,以VC++6.0为工具,运用APDL语言,对ANSYS进行二次开发,编制框筒结构-桩筏基础-土相互作用体系与地震反应分析程序。2程序设计目标 针对某一实际工程问题,ANSYS所提供的APDL语言可对ANSYS软件进行封装。APDL语言即ANSYS软件提供的参数化设计语言,它的全称是ANSYS Parametric

word2010教案全

1.1.1文档的操作 (1)新建文档 新建空白文档 根据模板创建文档 【案例1-1】创建书法字帖,提高书法造诣

【案例1-2】创建奖状模板 (1) 设置纸张大小为宽30厘米,高20厘米; 图2-1 【页面设置】对话框(2) 设置图中所示的页面边框;

图2-2 页面边框的设置 (3) 按照图示输入内容; (4) 将该模板保存为“奖状”。 图2-3 模板的保存 (2)打开文档 (3)保存文档 【重点】“另存为”对话框 【重点】自动保存功能设置 (4)打印文档 打印预览与打印设置 【技巧】办公室打印实用技巧 1、逆序打印 在日常办公中,我们打印后经常在装订之前还需要重新排序,因为一般打印时候第一张会在最底下。 逆序打印功能可以帮助你解决这个问题。 【Word选项】→【高级】→【逆序打印页面】选项

图2-4 “逆序打印”设置 【提示】逆序打印之后影响实际打印输入的效果,而打印预览仍然是以正常顺序显示预览效果。 2、文件内容先知晓 3、预览效果还省墨水 【Word选项】→【高级】→【使用草稿品质】 (5)窗口操作 同时编辑一个文档的多个部分 快速显示多个文档 快速切换多个文档

第2章Word 2010基础入门与操作(1学时) 【主要讲授内容及时间分配】 2.1 Word 2010操作界面简介(5分钟) 2.2 文本的操作(10分钟) 2.3插入符号和日期(10分钟) 2.4项目符号和编号功能(10分钟) 2.5文档的视图方式(5分钟) 2.6拼写和语法检查(5分钟) 【重点与难点】 1、重点: 文本操作的方式、符号和日期的使用、项目符号和编号的使用、视图方式的区别。 2、难点: 【教学要求】 【实施方法】 课堂讲授,PPT配合 第2章Word 2010基础入门与操作 2.1文本操作 2.1.1选定文本 (1)使用鼠标选择文本 ●Ctrl+A,可以选择当前文档的全部内容 ●【双击鼠标】选择短句; ●【3击鼠标】选择一段文本 ●【选定栏的使用】 ?单击→行 ?单击+拖动→多行 ?双击→段落 ?双击+拖动→多个段落 ?三击→整篇文档 ●Alt+拖动→选定竖块文本 2.1.2选择文本与选择段落 选择了段落中的文字移动只移动其中的文字,而选择了整个段落移动后,不仅移动其文字,而且也移动了文字的格式和段落的换行符。 2.1.3复制与粘贴 1、复制 2、粘贴

caxa二次开发例子代码

#include "stdafx.h" #include "eb_api.h" // CAXA EB API 函数 #include "resource.h" void dymGenTwoPtLine1(int& step,int& flag); // 两点线方法1 void dymGenTwoPtLine2(int& step,int& flag); // 两点线方法2 int usrAppendDraw(int& step,int& flag) { AFX_MANAGE_STATE(AfxGetStaticModuleState()) static int c hoice=0; // 注意这里一定要用静态(static)来声明用于纪录选择结果的变量!!! if(step==0) // 第一步 { ebClearMenu(); // 清理立即菜单区 ebGetMenuChoiceBrk("两点线(方法1)@两点线(方法2)",&choice); //弹出立即菜单项 ebRegisterPopMenu(); // 登记工具点菜单 } // 根据选择要绘制线的类型来执行相应的函数 switch(choice) { case 0: dymGenTwoPtLine1(step,flag); break; case 1: dymGenTwoPtLine2(step,flag); break; default: break; } return RT_NORMAL; } /* 用第一种方法绘制两点线,这种方法是建立临时直线节点,通过绘制 结点的办法来实现拖动效果,使用这种方法具有一定的通用性,可推 广到绘制块、箭头、文字等复杂图形,但要特别注意的一点是,为了 避免内存泄漏,当绘制完成或取消操作时应该及时使用ebFreeNode函 数释放掉临时结点,这点非常重要!!!

相关文档