版本 2
支持库 eAPI
支持库 shellEx程序集 窗口程序集1
程序集变量 X, 整数型
程序集变量 Y, 整数型
程序集变量 标识1, 整数型
程序集变量 标识2, 整数型子程序 _按钮1_被单击
时钟2时钟周期 = 到整数 (编辑框1内容)
子程序 _时钟1_周期事件
模拟鼠标点击 (X, Y, )
子程序 _按钮2_被单击
时钟1时钟周期 = 0
子程序 __启动窗口_创建完毕
标识1 = 注册热键 (_启动窗口取窗口句柄 (), 标签1取窗口句柄 (), 0, #F1键)标识2 = 注册热键 (_启动窗口取窗口句柄 (), 标签1取窗口句柄 (), 0, #F2键)
子程序 _标签1_反馈事件, 整数型
参数 参数一, 整数型
参数 参数二, 整数型判断开始 (参数一 = 标识1)
时钟1时钟周期 = 到整数 (编辑框1内容)
判断 (参数一 = 标识2)
时钟1时钟周期 = 0
默认判断结束
子程序 __启动窗口_将被销毁
撤销热键 (取窗口句柄 (), 标识1)撤销热键 (取窗口句柄 (), 标识2)
子程序 _时钟2_周期事件
X = 取鼠标水平位置 ()
Y = 取鼠标垂直位置 ()
编辑框2内容 = 到文本 (X)
编辑框3内容 = 到文本 (Y)序列标识图是指将蛋白质序列上的结构和功能信息映射到一个二维图上,以便更好地理解和分析蛋白质序列的结构和功能。以下是一些可以获得序列标识图的工具:
1 InterProScan: InterProScan是一种基于序列的功能注释工具,可以预测蛋白质序列的结构和功能,并输出序列标识图。它使用多种算法和数据库,包括Pfam、PRINTS、ProSite、SUPERFAMILY等,以提高预测准确性。
2 Protter: Protter是一种在线的序列标识图生成工具,它可以将FASTA格式的蛋白质序列映射到一个可视化的二维图上,显示出蛋白质的各种结构和功能信息,包括域、保守区域、跨膜区域、信号肽等。
3 ESPript: ESPript是一种在线的序列标识图生成工具,它可以将蛋白质序列映射到一个二维图上,以显示出蛋白质的二级结构、保守区域、氨基酸残基间的相互作用等信息。它还支持多种输出格式和样式,用户可以根据需要进行调整。
4 WebLogo: WebLogo是一种在线的序列标识图生成工具,它可以将多个蛋白质序列的保守区域映射到一个二维图上,以显示出每个位置上的氨基酸分布情况,并计算每种氨基酸出现的频率。它还支持多种输出格式和样式,用户可以根据需要进行调整。
总之,以上工具都可以用于生成蛋白质序列标识图,用户可以根据自己的需要选择合适的工具,并根据输出结果进行分析和解释。
版本 2
支持库 shellEx
程序集 窗口程序集1
程序集变量 f1
子程序 _按钮1_被单击
f1 = 注册热键 (取窗口句柄 (), 标签1取窗口句柄 (), 0, #F1键)
' 猥猥琐琐的一生
子程序 _标签1_反馈事件, 整数型
参数 参数一, 整数型
参数 参数二, 整数型
如果真 (参数一 = f1)
信息框 (“你单击了F1建”, 0, )
如果真结束
manifest文件夹下保存着manifest后缀名的文件;
C:\WINDOWS\WinSxS\Manifests\下有许多XML格式的manifest文件,这些是服务端的程序清单;
WinSxs是windows XP以上版本提供的非托管并行缓存,里面安装了各种版本的经过强文件名签名的系统库,这些文件正是标注了系统中的强文件名签名,如果与manifest 清单里面所列出的依赖项对上的话,就会被加载。
C:\WINDOWS\WinSxS\Manifests\是一个重要的系统文件夹,不建议删除。
Manifest
Windows XP通过XML文件来实现这一功能,这些XML文件保存了有关应用程序配置的元数据,这里所说的XML文件,就是Manifest清单文件。
Manifest事实上就是一个以manifest为后缀的XML文件,用于组织和描述隔离应用程序及并行组件,其内部的信息如<assemblyIdentity>元素则标识着一个唯一的程序集,和其他信息一起,他们用于COM类、接口及库的绑定和激活,而这些信息,以往都是存储在注册表中的。另外,Manifests也制定了组成程序集的文件及Windows类。
二、Manifest的分类
在Windows XP中,事实上是在NET中,把Manifests分类为如下几种类型:
1、程序集Manifests(Assembly Manifests):主要用于描述程序集,管理程序集的名字、版本、资源、依赖程序集。其中共享程序集的Manifests存储在Windows的WinSxS目录中。私有的程序集Manifests则存可以作为一个资源存储在DLL中,也可以存储在应用程序目录下。
2、应用程序Manifests(Application Manifests):这类Manifests则用于描述隔离应用程序,它管理着此应用程序在运行时要绑定的共享的并行组件的名字、版本。该Manifests可以作为一个文件(manifest文件)存储在应用程序相同的目录下,也可以作为一种资源嵌入在可执行文件内部(Embed Manifest)。
3、应用程序配置文件(Application Configuration Files):对于并行组件及隔离应用程序来说,使用这种Manifests来“Override and Redirect”所依赖程序集的版本。
4、发行配置文件(Publisher Configuration Files):用于重定向并行组件的版本倒另外一个合适的版本的Manifests。此时,被重定向的新程序集应该和原来的旧程序集具有相同的主次(majouminor)版本号。
三、Windows对于Manifest的处理
XP以前版本的windows,会像以前那样执行这个exe文件,寻找相应的dll,没有分别,Manifest只是个多余的文件或资源,dll文件会直接到system32的目录下查找,并且调用。
而XP及其以后的 *** 作系统,则会首先读取Manifest,获得exe文件需要调用的DLL列表(此时获得的,并不直接是DLL文件的本身的位置,而是DLL的manifest) *** 作系统再根据DLL的Manifest提供的信息去寻找对应的DLL ,这样就可能区别不同版本的同一个DLL文件。
这就说明了为什么我的程序可以在2000下面运行,而在XP及2003上无法运行。
这也使得很多木马可以利用这个特点实现限制安全软件。
四、VS2005种的Manifest配置
使用Visual Studio 2005以后的一个新问题是,VS2005带的80新版的C运行库(VC 80 CRT)文件在XP以后支持manifest的Windows版本中被调用时,将会check一下Application自身的Manifest,否则将会拒绝被调用,这也就是说,使用Visual Studio开发的Application,Manifest将是必不可少的(搞不懂MS为啥要这样设置,反正与VS2003NET不同了,也许除了MS自己说的哪些冠冕堂皇的原因,至少这样一来Linux的Wine模拟要麻烦多了)
不过,如果你的程序是静态链接的,没有使用dll,且只使用了 *** 作系统核心的 Kernel32dll, User32dll, Ole32dll, 或ShDocVWdll 等,那么你可以不需要考虑Manifest, 可以关掉它。此时,在VS2005种中,project的设置必须是Use Standard Windows Libraries、Not Using ATL、No Common Language Runtime support
你把项目A换一个名字吧~可能与其它命名空间有冲突~即有同名
强名称由程序集的标识——其简单文本名称、版本号和区域性信息(如果提供)——加上公钥和数字签名组成。强名称是使用相应的私钥,通过程序集文件(包含程序集清单的文件,并因而也包含构成该程序集的所有文件的名称和散列)生成的。Microsoft® Visual Studio NET® 和在 NET 框架 SDK 中提供的其他开发工具能够将强名称分配给一个程序集。强名称相同的程序集应该是相同的。
通过签发具有强名称的程序集,您可以确保名称的全局唯一性。强名称还特别满足以下要求:
强名称依赖于唯一的密钥对来确保名称的唯一性。任何人都不会生成与您生成的相同的程序集名称,因为用一个私钥生成的程序集的名称与用其他私钥生成的程序集的名称不相同。
强名称保护程序集的版本沿袭。强名称可以确保没有人能够生成您的程序集的后续版本。用户可以确信,他们所加载的程序集的版本出自创建该版本(应用程序是用该版本生成的)的同一个发行者。
强名称提供可靠的完整性检查。通过 NET 框架安全检查后,即可确信程序集的内容在生成后未被更改过。但请注意,强名称中或强名称本身并不暗含某一级别的信任,例如由数字签名和支持证书提供的信任。
在引用具有强名称的程序集时,您应该能够从中受益,例如版本控制和命名保护。如果此具有强名称的程序集以后引用了具有简单名称的程序集(后者没有这些好处),则您将失去使用具有强名称的程序集所带来的好处,并依旧会产生 DLL 冲突。因此,具有强名称的程序集只能引用其他具有强名称的程序集。
下面的方案说明了使用强名称对程序集签名及以后按照该名称引用它的过程。
使用以下方法之一创建具有强名称的程序集 A:
使用支持创建强名称的开发环境,例如 Visual Studio NET。
使用强名称工具 (Snexe) 创建加密密钥对,并使用命令行编译器或程序集链接器 (Alexe) 将该密钥对分配给程序集。NET 框架 SDK 同时提供 Snexe 和 Alexe。
开发环境或工具使用开发人员私钥对包含程序集清单的文件哈希签名。数字签名存储在包含程序集 A 的清单的可移植可执行 (PE) 文件中。
程序集 B 是程序集 A 的使用者。程序集 B 的清单的引用部分包括代表程序集 A 公钥的标记。标记是完整公钥的一部分,并且这种标记(而不是密钥本身)可用于节省空间。
公共语言运行库在程序集置于全局程序集缓存时验证强名称签名。当运行时强名称进行绑定时,公共语言运行库会将存储在程序集 B 的清单中的密钥与用于为程序集 A 生成强名称的密钥进行比较。如果 NET 框架安全检查通过并且绑定成功,则程序集 B 可保证程序集 A 的位未被篡改,而这些位实际来自程序集 A 的开发人员。
注意 此方案不处理信任问题。程序集除强名称外,还带有完整的 Microsoft® Authenticode® 签名。Authenticode 签名包括建立信任的证书。请注意,强名称不要求以这种方式为代码签名,这一点非常重要。事实上,用于生成强名称签名的密钥不必与用于生成 Authenticode 签名的密钥相同。
版本 2
支持库 shellEx
程序集 窗口程序集1
程序集变量 标识, 整数型
程序集变量 状态位, 整数型
子程序 __启动窗口_创建完毕
标识 = 注册热键 (_启动窗口取窗口句柄 (), 标签1取窗口句柄 (), 0, #F1键)
状态位 = 1
子程序 _标签1_反馈事件, 整数型
参数 参数一, 整数型
参数 参数二, 整数型
如果 (标识 = 参数一 且 状态位 = 1)
编辑框1内容 = “1”
状态位 = 0
否则
如果真 (标识 = 参数一 且 状态位 = 0)
编辑框1内容 = “0”
状态位 = 1
如果真结束
如果结束
强命名标识一个程序集,你必须拥有一对公钥和私钥。这一对公钥私钥加密密钥用作编译期间生成强命名的程序集(汇编程序)你可以使用强命名工具(Snexe)创建一个密钥对密钥文件通常都具有一个snk的文件扩展名。
●创建一个密钥对
在命令提示符下,键入以下命令:
Sn –k <file name
在此命令中,<file name是一个包含密钥对的输出文件的名字。
以下例子是创建一个名叫sgKeysnk的密钥对文件
sn –k sgKeysnk
如果你希望延迟标识程序集并且也希望控制整个密钥对(它不像外部测试情景,场景),你可以用一下命令生成一对密钥对,然后从此密钥对中提取公钥到一个单独的文件。
首先,创建密钥对:
sn –k keypairsnk
然后,从上面生成的密钥对文件(keypairsnk)中提取公钥,并拷贝到一个独立的文件中:
sn –p keypairsnk publicsnk
一旦你创建了密钥对,你就必须将此文件放置在强命名标识工具能够找到它的位置。
当运用强命名标识一个程序集的时候,程序集连接器(Assembly Linker (Alexe))会寻找与当前目录有关的密钥文件,并输出到当前目录。在使用命令行工具编译 的时候,也可以很容易的拷贝此密钥到包含代码模块的的当前目录下。
CLR是net 的核心框架的一部分,在学习clr的时候要了解一个程序集。
程序集包含了一个清单,这个清单相当于一个目录,描述了程序集本身的信息,例如程序标识(名称丶版本丶文化)丶程序集包含的资源(Resources)丶组成
程序集的文件。清单之后就是元数据了。如果说清单描述了程序集自身的信息,那么元数据则描述了程序所包含的内容。这些内容包括:程序集包含的模块丶类型丶类型
的成员的可见性等。注意,元数据并不包含类型的实现,有点类似于的h头文件。在net中,查看元数数据的过程叫做反射。然后还包含CIL的程序代码。
我们知道程集中的CIL代码是不能直接运行的,还需要CLR的支持。总的来说,CLR是一个软件层的代理,它管理了net程序集的执行,主要包括:管理应用程序域丶加载
和运行程集丶安全检查丶将CIL代码即时编译为机器代码丶异常处理丶对象析构和垃圾回收等。
CLR有点类似于JAVA的虚拟机。
CLR的主要作用:NET 程序集(CIL代码)————————CLR(转换成本地机器代码)——————————本地系统
CLR以什么样的形式位于什么位置:由于CLR本身用于管理托管代码,因此它是由非托管代码编写的,并不是一个包含托管代码的程序集,也不能用IL DASM查看。它位于
C:\SystemRootMicrosoftNET\Framework\版本号下,视安装的机器不同有两个版本 一个工作站msorwksdll 和一个服务器的版本 mscorsvrdll
CLR是如何运行的: *** 作系统在运行exe时,首先会检查PE头,根据 PE来创建合适的进程。接下来会检查是否存在CLR头,如果存在,就会立即载入MsCoreedll。这个库文件是net框架的核心组件之一,注意它也不是一个程序集。MsCoreedll 是一个很细的软件层。加载了MsCorEEdll之后,会调用其中的_CorExeMain()函数,该函数会加载合适版本的CLR。 在CLR运行之后,程序的执行权就交给了CLR CLR会找到程序的入口点,通常是Main方法,然后执行它。这里包含了以下过程:1
加载类型 2验证 3即时编译。
可以看出来采用这种架构的一个好处就是net程序集可以运行在任何平台上,不管是Windows丶UNIX,还是其他 *** 作系统,只要这个平台拥有针对于该 *** 作系统的net框架就可以运行NET程序集了。
以上就是关于如何让易语言使鼠标左键一直点击,但是又能够移动鼠标的,急求,赏分的!~全部的内容,包括:如何让易语言使鼠标左键一直点击,但是又能够移动鼠标的,急求,赏分的!~、以下哪些工具可以获得序列标识图、易语言中的热键语法错误等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)