Windows对象详解
- 格式:pptx
- 大小:193.45 KB
- 文档页数:66
Windows环境中组策略处理优先级详解组策略处理和优先级应用于某个用户(或计算机)的组策略对象(GPO) 并非全部具有相同的优先级。
以后应用的设置可以覆盖以前应用的设置。
处理设置的顺序本节提供有关用户和计算机组策略设置处理顺序的详细信息。
有关策略设置处理适合计算机启动和用户登录框架的位置的信息,请参阅以下主题启动和登录中的第3 步和第8 步。
组策略设置是按下列顺序进行处理的:1.本地组策略对象—每台计算机都只有一个在本地存储的组策略对象。
对于计算机或用户策略处理,都会处理该内容。
2.站点—接下来要处理任何已经链接到计算机所属站点的GPO。
处理的顺序是由管理员在组策略管理控制台(GPMC) 中该站点的“链接的组策略对象”选项卡内指定的。
“链接顺序”最低的GPO 最后处理,因此具有最高的优先级。
o3.域—多个域链接GPO 的处理顺序是由管理员在GPMC 中该域的“链接的组策略对象”选项卡内指定的。
“链接顺序”最低的GPO 最后处理,因此具有最高的优先级。
4.组织单位—链接到Active Directory 层次结构中最高层组织单位的GPO 最先处理,然后是链接到其子组织单位的GPO,依此类推。
最后处理的是链接到包含该用户或计算机的组织单位的GPO。
wu在Active Directory 层次结构的每一级组织单位中,可以链接一个、多个或不链接GPO。
如果一个组织单位链接了几个GPO,它们的处理顺序则由管理员在GPMC 中该组织单位的“链接的组策略对象”选项卡内指定。
“链接顺序”最低的GPO 最后处理,因此具有最高的优先级。
该顺序意味着首先会处理本地GPO,最后处理链接到计算机或用户直接所属的组织单位的GPO,它会覆盖以前GPO 中与之冲突的设置。
(如果不存在冲突,则只是将以前的设置和以后的设置进行结合。
)设置默认处理顺序的例外设置的默认处理顺序受下列例外情况的影响:GPO 链接可以“强制”,也可以“禁用”,或者同时设置两者。
对象的链接与嵌入在Windows环境下的探讨引言:对象的链接与嵌入在windows环境下的操作是微软办公中重要的一个部分、而且两者既实用又极易混淆的一种功能,本文重点对对象的链接与嵌入两者进行解析。
在windows应用程序中,它提供了对象的链接和嵌入(object linking and embedding,简称ole)这种插入功能,其主要功能是在一个程序的文档中利用链接或嵌入的方式插入另一个程序的文档,换句话说就是把一个文件插入到另一个文件之中,如:在powerpoint演示文稿或word文档中插入excel图表,或者是将一段mpeg嵌入到word里面等应用。
经过ole插入的数据,不是一个静态映像原始的,而是一个可编辑的,ole是办公office大家庭各个应用功能、构造复合文档的强大工具之一,不但在windows环境下,为兼容的应用提供了一种通用集成的策略,也是微软在不同应用程序之间,指定文件可以互相传递数据的一种规格,更是windows环境更象组装不同应用对象的工作场地。
承然,一个复合文档它包含了不同应用程序生成的各种对象文档。
而对象文档又是可以存放对象的所有者,它不但包含嵌入对象,也包含了链接对象。
这种处理机制不需要每个用于生成文档中对象的应用,只需使用户集中精力于复合文档,在需要时使用这些应用程序的功能,而不必切换到另一个应用程序。
当用户使用过链接与嵌入操作后就会发现链接和嵌入很相似,在表面上看就是在一个文档内部出现了另一个文档的数据,但从后台运作机制上来讲是完全不同的两个概念。
链接和嵌入两者虽然都是把信息从一个文档插入到另一个文档(复合文档)中。
但是嵌入对象是把包含在源文件中的文件插入到目标文件中的对象,该对象就成为目标文件的一部分。
嵌入对象所做的更改结果呈现在目标文件中。
当对象嵌入后,它仅仅只是更改了源文件,而并未改变目标文件中的信息,但当嵌入对象被插入之后,则不再是源文件中的一部分,而是变成了目标文件的一部分,此时,只需要双击嵌入对象,就可在源程序中将它打开。
《Windows驱动开发技术详解》之Windows内核函数内核模式下字符串操作ANSI_STRING和UNICODE_STRING分别定义如下:以UnicodeString类型对象进⾏初始化为例,代码如下:输出:进⾏复制字符串操作,代码如下:输出:但是如果这⾥改为:加载驱动运⾏就会蓝屏。
Why?其实,RltFreeUnicodeString是⽤来释放利⽤申请的堆空间初始化的UnicodeString类型对象的,⽽RtlInitUnicodeString对UniStr1进⾏初始化时,只是让Buffer指向了⼀个常量区。
进⾏ANSI_STRING字符串与UNICODE_STRING字符串相互转换操作,代码如下:注意这⾥要利⽤RtlFreeUnicodeString释放通过RtlAnsiStringToUnicodeString得到的UniStr2。
为什么这个需要释放?我们利⽤Windbg跟踪下代码。
⾸先,跟踪时要逐⼀,这⾥的勾如果不去掉,就是在源码下单步跟踪,⽽不是在汇编指令⾥单步跟踪:在RtlUnicodeStringToAnsiString函数中,有这么⼀个系统API此时的参数是正好是传⼊的字节数的⼤⼩。
⽽这个API最终调⽤了:所以,我们要利⽤RtlFreeUnicodeString进⾏释放。
内核模式下的⽂件操作:创建⽂件:代码⼊下:1 VOID FILEOPERATION(){2 OBJECT_ATTRIBUTES ObjAttributes;3 IO_STATUS_BLOCK iostatus;4 HANDLE hfile;5 UNICODE_STRING logFileUnicodeString;67 RtlInitUnicodeString(&logFileUnicodeString, L"\\??\\C:\\1.log");8 InitializeObjectAttributes(&ObjAttributes,9 &logFileUnicodeString,10 OBJ_CASE_INSENSITIVE,11 NULL,12 NULL);13//创建⽂件14 NTSTATUS status = ZwCreateFile(&hfile, GENERIC_WRITE,15 &ObjAttributes,16 &iostatus,17 NULL,18 FILE_ATTRIBUTE_NORMAL,19 FILE_SHARE_READ,20 FILE_OPEN_IF,//这⾥是FILE_OPEN_IF则不论⽂件是否存在都可以Create成功,⽽如果改为FILE_OPEN,则只当⽂件存在时create成功。
mfc函数详解MFC(Microsoft Foundation Class)是一种面向对象的Windows应用程序框架,它是微软公司在Windows操作系统下的视窗类库,是Visual C++的一些类和函数的集合。
MFC的作用是提供一种高级的、面向对象的编程结构,让程序员更加容易地开发Windows应用程序。
下面是一些常用的MFC函数及其详解:1. AfxMessageBox函数原型:int AfxMessageBox(LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0);函数作用:显示一个消息框,包含文本、标题和按钮。
参数解释:lpszText:要显示的消息文本。
nType:消息框类型,包括按钮以及图标等样式。
nIDHelp:帮助ID,用于消息框的帮助文件。
返回值:用户选择的按钮行为,如“取消”、“确定”等。
2. AfxGetMainWnd函数原型:CWnd* AfxGetMainWnd( );函数作用:获取当前线程的主窗口对象指针。
参数解释:无。
返回值:当前线程的主窗口对象指针。
3. CString.Format函数原型:int Format(LPCTSTR lpszFormat, ...);函数作用:根据格式控制符格式化字符串。
参数解释:lpszFormat:格式化字符串,格式控制符用“%”标识。
...:格式控制符中各个参数的值。
返回值:格式化后的字符串长度。
4. CListBox.SetCurSel函数原型:int SetCurSel(int nIndex);函数作用:设置列表框中当前选定项的索引。
参数解释:nIndex:要选定项的索引,从0开始。
返回值:如果设置成功,则返回新选定项的索引;否则,返回LB_ERR。
5. CEdit.SetWindowText函数原型:void SetWindowText(LPCTSTR lpszString); 函数作用:设置编辑框的文本内容。
简述window对象window对象是Windows操作系统中最基本的用户界面元素之一,也是JavaScript语言中最常用的对象之一。
它是一个窗口对象,可以访问操作系统创建的Windows窗口,包括文本框、按钮、标签、菜单等控件。
以下是window对象的一些基本信息和用法:1. 基本属性window对象有以下几个基本属性:- 窗口标题(title):显示在窗口标题栏上的标题字符串。
- 窗口大小(width):窗口的宽度。
- 窗口高度(height):窗口的高度。
- 窗口位置(position):窗口在屏幕上的相对位置。
- 默认可见性(default visibility):如果窗口没有显式,则默认隐藏。
- 边框宽度(border width):窗口的边框宽度。
- 背景色(background color):窗口的背景色。
- 状态(status):窗口的状态,包括正在被使用时的显示状态和关闭时的隐藏状态。
2. 方法window对象有以下方法:- 显示(show):将窗口显示出来,如果窗口处于隐藏状态,则显示窗口标题。
- 隐藏(hide):将窗口隐藏起来,如果窗口处于显示状态,则隐藏窗口标题。
- 最大化(maximize):将窗口最大化,使其占据整个屏幕。
- 最小化(minimize):将窗口最小化,使其缩放到屏幕的右下角。
- 恢复(re还原):将窗口恢复到默认状态,如果窗口处于最小化状态,则恢复窗口标题。
- 移动(move):将窗口向上、向下、向左、向右移动,如果窗口处于固定状态,则只移动窗口标题。
- 旋转(rotate):将窗口旋转90度或270度,如果窗口处于固定状态,则只旋转窗口标题。
- 滚动(scroll):将窗口向上、向下、向左、向右滚动,如果窗口处于固定状态,则只滚动窗口标题。
- 关闭(close):关闭窗口,如果窗口处于显示状态,则关闭窗口标题。
- 显示消息(display message):在窗口中显示一条消息,可以显示文本、图像、链接等。
使用QTP测试标准Windows对象标准Windows对象是由QTP直接支持的测试对象,在这里,标准Windows对象格式基于Win32 API和MFC创建的应用程序。
我们将学习到如何在QTP 中利用各种测试对象的方法和属性来对标准Windows 应用程序进行测试。
1.1标准Windows控件的测试在QTP 中,标准的Windows 控件,如Button、CheckBox 等,都有相应的测试对象来控制。
1.1.1 Dialog对象测试Dialog 对象是指Windows 的对话框控件。
对Dialog 对象的常用测试是Activate 方法,用于定位对话框,使其处于激活状态。
例如:Dialog("Login").ActivateActivate 方法模拟用户点击对话框的标题栏,定位到对话框,通常在操作对话框的控件之前,都要先使用这个方法,确保对话框可用。
1.1.2 Static对象的测试S tatic 对象是指Windows 静态文本、图像控件,可以用Check 方法对插入图像检查点,在录制过程中,选择彩单Insert > Checkpoint > Bitmap Checkpoint,然后,选择指定图像的区域,确定即可。
产生的代码如下:Dialog("Login").Static("Static").Check CheckPoint("Static")1.1.3 WinButton对象的测试Click 方法WinButton 对象的常用测试操作时Click 方法,用于模拟用户的单击按钮事件,例如,下面的代码模拟用户单击OK 按钮。
Dialog("Login").WinButton("OK").Click1.1.4 WinCalendar对象的测试SetDate 方法WinCalendar 对象是指日期和时间选择空间,例如,Windows 搜索助理界面的制定日期控件就是WinCalendar 对象。
cwnd类内容详解cwnd类提供了微软基础类库中所有窗口类的基本功能。
cwnd对象与windows的窗口不同,但是两者有紧密联系。
cwnd对象是由cwnd的构造函数和析构函数创建或销毁的。
另一方面,windows的窗口是windows的一种内部数据结构,它是由cwnd的create成员函数创建的,而由cwnd的虚拟析构函数销毁。
destroywindow函数销毁windows的窗口,但是不销毁对象。
cwnd类和消息映射机制隐藏了wndproc函数。
接收到的windows通知消息通过消息映射被自动发送到适当的cwnd onmessage成员函数。
你可以在派生类中重载onmessage成员函数以处理成员的特定消息。
cwnd类同时还使你能够为应用程序创建windows的子窗口。
先从cwnd继承一个类,然后在派生类中加入成员变量以保存与你的应用程序有关的数据。
在派生类中实现消息处理成员函数和消息映射,以指定当消息被发送到窗口时应该如何动作。
你可以经过两个步骤来创建一个子窗口。
首先,调用构造函数cwnd以创建一个cwnd 对象,然后调用create成员函数以创建子窗口并将它连接到cwnd对象。
当用户关闭你的子窗口时,应销毁cwnd对象,或者调用destroywindow成员函数以清除窗口并销毁它的数据结构。
在微软基础类库中,从cwnd派生了许多其它类以提供特定的窗口类型。
这些类中有许多,包括cframewnd,cmdiframewnd,cmdichildwnd,cview和cdialog,被用来进一步派生。
从cwnd派生的控件类,如cbutton,可以被直接使用,也可以被进一步派生出其它类来。
#include <afxwin.h>请参阅:cframewnd, cviewcwnd类的成员坐标映射函数onenteridle 调用这个函数以通知应用程序的主窗口过程,模式对话框或菜单正在进入空闲状态onerasebkgnd 当需要擦除窗口的背景时调用这个函数ongetminmaxinfo 每当windows需要知道最大化的位置和大小,或者最小或最大跟踪尺寸时,就调用这个函数oniconerasebkgnd 当cwnd被最小化(图标化),并且在画出图标之前,必须填充图标的背景时调用这个函数onkillfocus 当cwnd失去输入焦点时立即调用这个函数onmenuchar 当用户按下一个菜单助记字符,但是不能与当前菜单中任何预定义的助记符相匹配时,就调用这个函数onmenuselect 当用户选择了一个菜单项时就调用这个函数onmove 当cwnd的位置发生变化时调用这个函数onmoving 指明用户正在移动cwnd对象ondevicechange 通知应用程序或设备驱动程序,设备或计算机的其他硬件配置发生了变化onstylechanged 指明windows的::setwindowlong函数已经改变了一个或多个窗口风格onstylechanging 指明windows的::setwindowlong函数将要改变一个或多个窗口风格onpaint 调用这个函数以重画窗口的一部分onparentnotify 当创建或销毁一个子窗口,或者当用户在子窗口上方点击了鼠标键时调用这个函数onquerydragicon 当一个最小化(图标化)的cwnd要被用户拖拉时就调用这个函数onqueryendsession 当用户选择结束windows会话时就调用这个函数onquerynewpalette 通知cwnd它将接收输入焦点onqueryopen 当cwnd是一个图标并且用户请求打开这个图标时就调用这个函数一般消息处理函数。
WScriptShell 对象用法详解ProgID Wscript.Shell文件名WSHom.OcxCLSID F935DC22-1CF0-11d0-ADB9-00C04FD58A0BIID F935DC21-1CF0-11d0-ADB9-00C04FD58A0B下表说明和WshShell 对象有关的属性。
属性说明Environment 返回WshEnvironment 集合对象。
SpecialFolders 使用WshSpecialFolders 对象提供对Windows shell 文件夹的访问,如桌面文件夹,开始菜单文件夹和个人文档文件夹。
下表说明和WshShell 对象有关的方法。
方法说明CreateShortcut 创建并返回WshShortcut 对象。
ExpandEnvironmentStrings 扩展PROCESS 环境变量并返回结果字符串。
Popup 显示包含指定消息的消息窗口。
RegDelete 从注册表中删除指定的键或值。
RegRead 从注册表中返回指定的键或值。
RegWrite 在注册表中设置指定的键或值。
Run 创建新的进程,该进程用指定的窗口样式执行指定的命令。
WshShell.EnvironmentEnvironment 属性返回WshEnvironment 对象。
语法WshShell.Environment ( [strType]) = objWshEnvironment注释若strType 指定了环境变量所处的位置,可能值为"System"、"User"、"Volatile" 和"Process"。
若未提供strType,则该方法在Windows NT 中检索系统环境变量或在Windows 95 中检索进程环境变量。
对于Windows 95,strType 参数仅支持"Process"。
windows initializecriticalsection Windows InitializeCriticalSectionWindows InitializeCriticalSection是一种同步对象,用于保护多个线程同时访问共享资源时的互斥。
InitializeCriticalSection函数用于初始化一个临界区对象,以便可以使用EnterCriticalSection和LeaveCriticalSection函数来管理它。
本文将详细介绍Windows InitializeCriticalSection的相关知识。
一、InitializeCriticalSection函数概述1.1 函数定义BOOL WINAPI InitializeCriticalSection(_Out_ LPCRITICAL_SECTION lpCriticalSection);1.2 函数参数lpCriticalSection:指向CRITICAL_SECTION结构体的指针,该结构体用于表示要初始化的临界区对象。
1.3 函数返回值如果函数成功,则返回TRUE;如果失败,则返回FALSE。
二、CRITICAL_SECTION结构体概述2.1 结构体定义typedef struct _CRITICAL_SECTION {PVOID DebugInfo;LONG LockCount;LONG RecursionCount;HANDLE OwningThread;HANDLE LockSemaphore;ULONG_PTR SpinCount;} CRITICAL_SECTION, *PCRITICAL_SECTION, LPCRITICAL_SECTION;2.2 结构体成员变量说明DebugInfo:指向调试信息的指针。
LockCount:表示当前持有临界区对象的线程数。
RecursionCount:表示当前线程已经进入临界区对象的次数。
【windows安全性之访问控制】访问控制详细解说windows的安全性的两个基本⽀柱是⾝份验证(登⼊)和授权(访问控制)。
⾝份验证是标识⽤户的过程,授权在验证了所标识⽤户是否可以访问特定资源之后进⾏。
相关的命名空间和类:System.Security NamespaceSystem.Security.Principal NamespaceWindowsIdentity ClassSystem.Security.AccessControl NamespacFileSystemSecurity ClassDirectorySecurity ClassFileSecurityAccessRule ClassFileSystemAccessRule ClassAccessControlType EnumFileSystemRights Enum⽬录1、访问控制模型(Access Control Model)1.1访问控制模型的各个部分1.2线程与安全对象之间的交互1.3DACL 和 AES1.4AccessCheck 的⼯作原理2、访问控制编辑器(Access Control Editor)1.1访问控制模型的各个部分访问控制模型由两个基本部分:1. 访问令牌(Access Token)其中包含有关登录⽤户的信息(User SID,Group SIDS,特权列表privileges),访问令牌是与Windows的账户相互对相应的,当某⼀账户登录时,系统会⽣成此⽤户的访问令牌并分发给启动的进程2. 安全描述符(Security descriptor)描述⼀个安全对象的安全信息,如什么样的⽤户的什么访问请求可以被允许,什么样的⽤户或者组的什么访问要被拒绝。
安全描述符具体由ACL、对象拥有者SID 、此拥有者所在主群的SID、安全描述符意思相符的控制位集合⼀起组成。
ACL由⾃由访问控制列表 (DACL) 和系统访问控制列表 (SACL)组成。
windowsAPI函数中⽂详解WindowsAPI函数中⽂详解V1.0⽬录WindowsAPI函数中⽂详解V1.0 ----------------------------------------------------------------------------- 1 VC API常⽤函数简单例⼦⼤全 ---------------------------------------------------------------------------- 6第⼀个:FindWindow根据窗⼝类名或窗⼝标题名来获得窗⼝的句柄,该函数返回窗⼝的句柄------------------------------------------- 6第⼆个:SendMessage根据窗⼝句柄发送⼀个消息给窗⼝6第三个:GetCursorPos获取⿏标当前位置(屏幕) -------- 8第四个:WindowFromPoint根据坐标点获得对应的窗⼝句柄 -------------------------------------------------------------------------------- 9第五个MoveWindow根据窗⼝句柄移动窗⼝,改变窗⼝⼤⼩ ------------------------------------------------------------------------------- 10第六个ShowWindow设置窗⼝显⽰状态,如隐藏,最⼤化,最⼩化------------------------------------------------------------------------- 10第七个SetCursorPos设置⿏标的位置、把⿏标移动到指定的位置------------------------------------------------------------------------- 11第⼋个CopyFile复制⼀个⽂件-------------------------------------- 11第九个DeleteFile删除⼀个⽂件----------------------------------- 11第⼗个CreateDirectory创建⼀个⽂件夹(⽬录) --------- 11第⼗⼀个:GetClientRect获得窗⼝⼤⼩---------------------- 12第⼗⼆个:GetCWindowRect获得窗⼝⼤⼩(相对屏幕)12第⼗三个FindFirstFile寻找⽂件以及获得⽂件的信息------ 13第⼗四个FindNextFile寻找⽂件---------------------------------- 13第⼗五个MoveFile移动⽂件 ---------------------------------------- 14第⼗六个GetClassName根据窗⼝句柄获得窗⼝类名 ----- 14第⼗七个SetFileAttributes设置⽂件属性-------------------- 14第⼗⼋个ShellExecute运⾏⼀个程序函数定义:ShellExecute(HWND hwnd, LPCSTR lpOperation, LPCSTR lpFile, LPCSTR lpParameters, LPCSTR lpDirectory, INT nShowCmd); 第⼀个参数hwnd是⽗窗⼝的句柄,可以为NULL,第⼆个参数lpOperation表⽰⾏为,第三个参数lpFile是程序的路径名,第四个参数lpParameters是给所打开程序的参数,可以为NULL,第五个参数lpDirectory可以为NULL,第六个参数nShowCmd跟ShowWindow函数的第⼆个参数⼀样,作⽤也⼀样,如果打开的程序有窗⼝的话,这个参数就指明了窗⼝如何显⽰. 例如打开⼀个记事本:------------------- 16 第⼗九个PlaySound播放⼀个WAV⽂件--------------------- 16 第⼆⼗个GetModuleFileName根据模块导⼊表获程序的完整路径------------------------------------------------------------------------- 17 第⼆⼗⼀个CreateWindow创建⼀个窗⼝ -------------------- 17 第⼆⼗⼆个GetMessage获取窗⼝消息 ------------------------ 23 第⼆⼗三个RegisterClass注册窗⼝类,参照CreateWindow--------------------------------------------------------- 23 第⼆⼗四个UpdateWindow参照CreateWindow------ 23 第⼆⼗五个DispatchMessage参照CreateWindow-- 23 第⼆⼗六个LoadCursorFromFile从磁盘加载⼀个光标⽂件,函数返回该光标句柄------------------------------------------------ 23 第⼆⼗七个CreateSolidBrush创建⼀个画刷,函数返回画刷句柄------------------------------------------------------------------------- 23 第⼆⼗⼋个LoadImage装载位图、图标、光标函数-------- 24 第⼆⼗九个GetDC根据窗⼝句柄获取设备上下⽂(DC)返回DC句柄 ---------------------------------------------------------------------- 26 第三⼗个Rectnagle在窗⼝中画⼀个矩形 ---------------------- 26 第三⼗个CreateToolhelp32Snapshot给当前进程拍⼀个照 ------------------------------------------------------------------------------- 27 第三⼗⼀个Process32First根据CreateToolhelp32Snapshot函数返回的句柄获取进程信息------------------------------------------------ 27 第三⼗⼆个OpenProcess根据进程ID号获得进程句柄,句柄通过函数返回------------------------------------------------------------------- 28 第三⼗三个TerminateProcess结束⼀个进程(需进程句柄做参数)---------------------------------------------------------------------- 28 第三⼗四个CreatePen创建⼀个画笔(返回画笔句柄) --- 29第三⼗五个CreateSolidBrush创建⼀个画刷---------------- 29 第三⼗六个SelectObject把GDI对象选⼊相应的DC中 29 第三⼗七个 ReadProcessMemory根据进程句柄读取相应的⼀段内存(读其它进程⾥的内存) -------------------------------- 31 第三⼗⼋个WriteProcessMemory根据进程句柄写⼊相应的⼀段内存(写⼊其它进程⾥的内存)----------------------------- 32 第三⼗九个CreateThread创建⼀个线程(多线程)------- 33 第四⼗个GetCurrentProcessId获得当前进程ID ------- 35 第四⼗⼀个CreateCompatibleDC创建⼀个兼容的内存设备上下⽂(DC)----------------------------------------------------------- 35 第四⼗⼆个GetObject获取⼀个对象信息(如位图,图标,光标)------------------------------------------------------------------------- 35 第四⼗三个BitBlt在窗⼝输出⼀个位图 --------------------------- 35第四⼗四个GetWindowText根据窗⼝句柄获得窗⼝标题名37 第四⼗五个SetWindowText根据窗⼝句柄设置窗⼝标题名38 第四⼗六个GetCurrentProcess获得当前线程句柄------- 38第四⼗七个OpenProcessToken获得⼀个进程的访问令牌句柄 ---------------------------------------------------------------------------- 38 第四⼗七个LookupPrivilegeValue函数查看对应系统权限的特权值,返回信息到⼀个LUID结构体⾥上⾯讲过了,进程有权限⼀说,那么⼤家也能猜到,进程权限的信息也⼀定存储在⼀个结构体⾥,这个结构体描述了进程权限相关的⼀些信息。
如何通过Windows 滚动条对象平滑地更改过程值?操作指导:为了操作过程,需要画面对象以改变参数。
窗口对象可用于设计简单直观的参数输入。
这些对象可在图形设计器(Graphics Designer)中的对象选项板里的“窗口对象”中找到。
可以通过滚动条这个标准的Windows 对象将整数传送到控制器中。
下图所示为“Slider”(滚动条)对象的动态化,目的是以0.1 为单位在-5.0 到 5.0 区间范围内改变变量“NewTag_1”(IEEE 754 32 位浮点数)的值:可以使用一个变量触发器作为动态对话框的触发器。
“Slider”(滚动条)对象被释放后,设置的数值被写入WinCC 变量。
如何在WinCC 中创建和使用用户自定义颜色?颜色值是按RGB(红-绿-蓝)规则汇编的24位的值。
在WinCC 7.0 及以上版本,除了RGB 颜色之外,用户可以指定透明色。
在WinCC 7.0,使用的是32位值。
下表显示了24位值和32位值的结构。
24位颜色值(color 24) 的计算(由3个单独的颜色值-红、绿、蓝构成)基于以下的公式。
32位颜色值(color 32) 计算时额外为透明色(Trans)添加了单独的颜色值。
∙Color 24 = (2^16)*blue + (2^8)*green + (2^0)*red∙Color 32 = (2^24)*Trans + (2^16)*blue + (2^8)*green + (2^0)*red函数 (脚本)以下文件包含用于计算用户自定义颜色值的函数。
该函数由3个输入值(DWORD 类型)计算颜色值,并返回RGB 颜色值。
Function CreateRGBColor (Byval valRed, Byval valGreen, Byval valBlue, Byval valTrans)Dim Color'Calculate the color-valueColor = RGB(valRed,valGreen,valBlue)Color = Color + valTrans * 2^24CreateRGBColor = ColorEnd Function将对应各颜色值的变量名和RGB 颜色值的变量名传入该函数。