我重建了个新用户然后再注册表删除用户账户里profilelist下面S-1-5-21---1016最后四位啥

一个操作系统外壳的不错的定义昰它是一个系统提供的用户界面它允许用户执行公共的任务,如访问文件系统导出执行程序,改变系统设置等MS-DOS有一个Command.COM扮演着这个角銫。然而Windows已经有了图形界面环境他的外壳程序也就必然是图形方式的。在Windows95以前默认的Windows Shell就是程序管理器。

         程序管理器是一个中央控制台从那里你可以启动应用程序,重排和重组图标执行新任务。换句话说程序管理器就像他的名字提示的那样管理所有集中在Windows大伞之下嘚程序。现在对应程序管理器的是文件管理器它是一个专门为维护文件系统而设计的工具。

         随着Windows95的出现探测器取代了这两个老工具,並集成了二者的功能如果你愿意,你仍能发现文件管理器仍然深深地隐藏在Windows系统目录中然而,由于用户友善性方面比他的后继者差現今已经很少使用了。

         一般错误的概念认为探测器就是一个程序,当你需要通过点击“我的计算机”或右击“开始”按钮来浏览文件系統时这个程序启动事实上,探测器总是启动和运行着的从引导开始一直到你关闭计算机。直觉是“探测器”实际上就是新概念下的窗ロ探测器是一个可执行模块(explorer.exe),它实现了Windows外壳功能

Shell由许多不同的部分组成,现在我们就从最显而易见的桌面任务条开始从概念仩讲,桌面是所有Windows Shell对象的父对象即宿主对象。就实现方式而言桌面是一个系统定义窗口类的特殊窗口(命名为#32769),并且是所有窗口的祖先窗口那些导出应用的顶层窗口一般而言都是桌面的子窗口。在这些子窗口中有一个有趣的窗口子树它的根是“程序管理器”。

程序管理器保持了兼容性在图中你可以看到,他的封装结构:程序管理器的直接下级是一个命为SHELLDLL DefView的窗口类这个窗口包含了一个默认的观察对象,事实上这个窗口负责枚举标准文件夹的内容它总是从ListView控件中导出,这是一个通用的系统控件SHELLDLL

就象前面提到的一样,程序管理器窗口是为了兼容性而保留的它正好演示了一个窗口应用从16位到32位的演变过程。在Win16环境中与Shell唯一的通讯方式是通过动态数据交换(DDE。这个层面的代码在Windows95 甚至Windows98 中还在维护为什么呢?为了兼容性。

ClientSDK其中给出了最新的信息DDE是一款较老的技术,微软已经有大量的资料说奣

Shell部件就是任务条,它实际上就是由探测器进程所拥有的一个窗口每当你需要终止探测器进程的时候,都将引起任务条的消失和重新顯现每当他重新显现的时候他注册一个具有不同HWND的新窗口。因而就引用而言,你没有必要保留这个窗口的HWND 任务条也是也各拥有“开始”按钮的窗口,在托盘区域有时钟和类似按钮的控件表示正在运行的应用。

         任务条实际上与窗口一样可以在其上作任何窗口上可以莋的操作如移动、隐藏和子类化等。在第七章中我们将说明怎样子类化任务条和“开始”按钮在第九章中可以找到怎样隐藏任务条和编荿重新启动Shell。这后一个特性在编成实现Shell和命名空间扩展时是有用的

你是否奇怪,桌面上的快捷方式是从哪里来的和属于谁坦白地讲,開始我也认为探测器模块绘制了这些图标记录了用户设置,颜色状态等。这个模块开可能在桌面背景上绘制用户设置的墙纸

         桌面并鈈是这样工作的,相反快捷方式作为图标是由一个普通的ListView显示的。当然这个ListView有了一个不寻常的变异但是它确实是一个ListView,因此它也就不難从消息中获取处理对象了将在第九章中给出例程进行说明。

         探测器是一个扮演着系统外壳角色的应用程序当说到外壳扩展的时候,峩们讲的就是有探测器感知的、装入的并最终执行的代码块

         探测器可以被看作为一个微型的窗口开发环境。想象一下:它有自己的函数囷对话框;允许写特殊的与已存在的体系集成的应用程序;能包容应用和文档他甚至可以解释任何活动的脚本兼容语言的脚本(VBScriptJScriptPerl,等等)本书中将包含所有这些特征。

Windows3.1一起发布的文件管理器有着非常好的旦未充分利用的特性比如:它能够在运行时加载DLL,执行具囿特殊原形的已注册函数等也就是说,在这个资源中有一点其代码本身能够知晓某些活动是由用户执行的。换句话说文件管理器支歭扩展行为,当执行特定的活动时查找注册的扩展并装载和运行之。

         我们后面在探测器外壳和命名空间扩展中见到的实际上有相同的原悝不同的完全是细节方面的实现。文件管理器用于加载具有预定义原形的传统的DLL全程函数而探测器是这一过程更加规范。尤其是它采鼡COM接口(可以看作预定义和固定函数原型的集合)和进程内服务器(实质上的DLL)

当然COM接口和进程内服务器比函数集和DLL更复杂,但是这也使探测器进程比老的基于DLL的进程更规范和有力。

         在探测器环境中基本上有两种类型的扩展:外壳扩展和命名空间扩展。从名字上看有点混淆探测器就是Windows的外壳,所以两种类型的扩展都可以作为外壳扩展换句话说,外壳和命名空间扩展二者都扩展了探测器能力但是在他们之間有一些差别。

         外壳扩展是一种加到给定类型的所有文件上的客户行为给定类型的文件按照客户要求显示在探测器的观察中。如此你鈳以称之为“外壳观察的扩展”。客户的行为如拖拽,右击关联菜单绘制图标或显示属性对话框等由一定数量的特殊事件触发。你可鉯定义这些事件的特殊处理器程序例如你可以确定显示给定.Bmp文件的图标,为所有Windows 元文件加一个预览页面到属性对话框甚至可以在关联菜单中增加一个可执行功能。将在十五章中给出例程

         命名空间扩展有两种形式,这要看你怎样连接如果你用文件类型连接命名空间扩展,尽管有复杂的代码支持其功能上仍然等价于关联菜单的扩展。然而如果你用文件夹连接命名空间扩展,这个文件夹将变成客户文件夹你的代码将确定文件夹的内容、探测器显示的图标、子文件夹、排序、关联菜单等。

为什么要对Shell编成

这个问题很有道理简单的回答就是,为了使我们的应用根号和更丰满但是这个回答有点过于辞令化,我们这样做是为了使我们的模块与系统集成到一起或者说更洎动化。

         有两种方法对外壳编程使用API函数和使用COM接口。这两种方法既不互相独立也不相互重叠它们是两个不同的方向和两种不同领域,这一点我们在下一章中将进一步阐述现在让我们直接浏览一下个章节的内容。

         你知道Shell编程要求使用API函数和COM接口API函数使你能够访问Shell的基本功能,如文件操作,浏览文件夹执行程序,处理图标和快捷方式等当你想要增强和精炼Shell的基本行为时,COM方法则触及到了客户化Shell擴展的核心

         这本书中首先给出所有API函数的解释,进一步探讨函数的原型资料介绍的差别以及其中的Bugs。通常我的目的是要澄清所有你在資料中遇到的含混之处第三章到第九章涉及到特殊的APIs分组,其中包含了典型的Shell操作特别在第三章中讲解SHFileOperation()函数,涉及到文件的拷贝、移動、删除和重命名操作第四章揭示了神秘的SHGetFileInfo()函数,系统提供了获取文件(属性、图标、类型和显示名)的系统信息和Shell信息的方法第五章解釋文件夹内部组织的叠放过程,包括设置、浏览和象FavoritesSendTo那样的特殊文件夹

快捷方式和属性在第六章中介绍,其中将介绍建立和解析快捷方式和经常使用的字段第七章则正式进入探测器地址空间,并且从另一个角度讨论客户化问题:在探测器不可知的情况下什么是你所能咹全操作的特别是我们向你展示一个置换过的“开始”按钮和不同的菜单。一旦你这样做过之后你就有了完全控制Windows系统的能力了。在餘下的第八和第九章中我们将讲述程序的扩张图标和任务条,我们将说明怎样编程加入新的具有自己的菜单的按钮到任务条中

这本书嘚第二部分是基于要求COM接口的探测器特征的。但是直到第十二章之前我们还没有涉及到接口知识中间的两章作为Shell函数和探测器接口的桥梁。第十章包含了最近更新的WindowsSDK函数第十一章给出了Shell对象的概览,例如“我的公文包”“控制面板”和“打印机”,以及客户文件夹嘚概念在这一章中还包括了其他Shell对象和RunDLL32使用程序的说明以及全部探测器命令行的解释。

第十二章介绍Shell对象模型首先致力于把API函数的一個子集移动到对应的COM接口中去,这个特性最少要求系统中要安装“活动桌面”有趣的是这个对象模型允许你访问系统的某些功能(绝大哆数系统对话框)。

第十三章介绍Windows脚本环境这是一个执行Windows批处理文件的运行时引擎。技术上讲这并不是一个Shell实体,但是它与Shell有重要的留级关系Windows脚本环境显露一个对象模型,使你能够使用VBScriptJscript等任何脚本语言编写程序。我将通过加入有用的新对象来扩展这个模型

第十四嶂集中于指导你采用Shell和命名空间扩展的应用和理由方面。我将揭示实际上的Shell集成的应用究竟是什么和为什么说Shell扩展是把应用模块与系统Shell融匼的最好方法第十五章说明怎样写一个Shell扩展来客户化关联菜单、图标和属性,以及怎样排错第十六章概括了命名空间扩展内容,并且包含一个例子说明怎样加一个可展开节点到探测器的树观察中,并以文件夹的形式展示了当前窗口的堆栈过程

第二章Shell的结构

 Shell 编程”嘚大伞之下有大量的API函数和COM接口。这个种类繁多的‘命令’集允许你用不同的方法对Windows Shell进行编程函数和接口并不是两种提供相同功能的等價途径,相反它们在不同的逻辑层上提供不同的功能。

API函数包含了用户想要在Shell对象上执行的基本操作如文件和文件夹。COM接口则给出了擴展增强甚至客户化各种要素对象的机会,包括Shell本身标准行为用面向任务的方法对函数和对象进行分组将给我们一个总体上观察Shell的机會,因此我们仍然能够把它看作一个具有属性和方法的对象。在这一章中我们将努力分出每一个函数和接口究竟属于哪一个功能组这將有助于我们从大量的功能碎片中寻找出Shell编程接口。

在这一章中将包含有:

最后,你将能更好地理解这本书的知识范围并且作为Shell程序員,你将能清晰地勾画出书中的哪些功能是可用的

Shell是面向对象的。有一些‘对象’查看结构就能识别它这些对象也有‘属性’一样的特征,以及象方法一样执行一些活动但是它们是依赖API函数的,一个典型的对象就是文件夹

         如果Shell不是面向对象的,它决不能有一个完全兼容的对象模型我们能够想象一个看起来象分层对象的体系结构。换言之有一个对象集合,他们以如下图描述的方法一样工作

基本仩讲,Shell是由文件夹组成的文件夹是一个包含有子元素的容器,包括子文件夹这些元素通常称为文件夹项。根文件夹称为‘桌面’其孓项包括‘我的计算机’,‘网上邻居’‘回收站’,和其他可能的项所有这些文件夹的集合称之为Shell命名空间

         概念上讲文件夹僦类似于文件系统的目录,但是它不一定绑定到一个实际的物理目录上如果他没有邦定,就称之为虚拟文件夹我们可以以这种方式区汾两种主要的文件夹:正常的文件夹(命名为文件型文件夹或目录)和客户文件夹。自然包含在文件型文件夹中的是文件,其属性是名稱、类型、尺寸、最后修改日期等包含在任何其他文件夹下的项目可以是文件—一般使用其他的扩展特征集—但是也可能是完全不同的東西,如打印机或网络节点

文件夹是怎样实现的?文件夹实际上是一个Shell对象它的行为被编码成一个COM模块,向Windows Shell暴露公共的接口通过连接,文件夹可以告诉Shell怎样设计它的内容使用什么样的图标显示,采用什么文字来描述例如‘我的计算机’看起来像一个文件夹。他有┅个代码层来感知PC上所有可用的驱动器并且为每个驱动器附加一个子树到探测器的观察中。

         每一种不同的文件夹都有不同类型的层次代碼来提供不同的行为对于文件型文件夹,行为就是扫描文件系统恢复文件和子文件夹,并且通过列表控件显示它们而打印机文件夹則记录所遇到的和所安装的打印机,并且为每一个都显示一个图标你可以设计任何类型的具有任何行为的虚拟文件夹。文件型文件夹(即目录)只是其中的一种。

Shell默认提供的是客户文件夹他们与文件型文件夹的差别是:

特殊文件夹列表可以在Win32 SDK资料和后面的第五章中找箌。就像我原先说过的一样特殊文件夹是具有自己COM模块提供行为的特殊类型的文件夹。由于COM模块是新节点被加到Shell命名空间的前提所以咜就被称之为命名空间的扩展

         特殊文件夹使用户能够经过适当的接口访问系统信息也就是说,在大多数情况下这种文件夹与典型的攵件型文件夹提供的内容观察多多少少有些一致的地方。当然精确的程度依赖于文件夹的类型。

 与普通文件夹一样特殊文件夹也可以包含文件。然而通常是以稍微不同的方法表示,显示不同的特征因此,特殊文件夹给文件赋予了不同的意义并且,不把它们当作文件系统的正常实体(如果不是这样它就不是特殊的了)。例如‘回收站’含有正常的而隐含的文件因为这个文件夹要显示当前被标志為删除的文件列表,所以它把初始位置和删除日期特征显示在前面

         绝大多数(不是全部)特殊文件夹都依附于磁盘上的物理目录,正常凊况下这是一个只读的目录其内容就是所有需要以最适合的方法显示的信息。

         换一个视角绝大多数特殊文件夹都需要一个目录来存储咜们的数据。这个目录可以被分配到磁盘的任何地方并且表示为文件夹和Shell支持的链接—这个特殊文件夹在命名空间中的位置。目录的内嫆不必显示为文件列表相反,关联文件夹的代码可用最适合于它的角色的形式解释和显示它

         文件对象是一个包含在普通文件夹中的项—文件、记录、内存块、连接的设备等。‘文件夹项’、‘文件夹元素’和‘文件对象’这些术语是等价的如果文件夹是一个文件型文件夹则文件对象就是文件。因此这里的‘文件’就比‘文件对象’稍微特殊一点因为它精确地代表了文件系统中的一个实体。文件是一個文件对象但是,文件对象不一定是文件

3.x一样),则文件的全名就能极好的保证这种唯一性不可能有两个文件件具有相同的路径和洺称。然而当文件夹比文件目录变得更普通的的时候区分其中的项就需要更普通的方法了。

an identifier list)—是一种比文件全名更通用的方法它不僅在文件夹内而且在Shell的整个命名空间中保证了项的唯一性。更重要的是它能透明地处理文件和文件对象。为了理解PIDLs的结构和作用我们來分析一下它的二进制结构并与之所替代的路径名进行比较。

         一个文件全名就是一个字符串是一个具有非常特殊格式的字符串,是一些孓串的串联每一个子串都在文件系统的层次中表示一个层,有驱动器名然后是目录名,文件名最后是扩展名,他们都由反斜线分隔你所了解的文件全名就是指向这些相连元素的指针—此时指向的是一个字符串。从概念上讲你可以把它看作是一个数组结构,其中的烸一个元素都表示了一个路径名元素

上图说明了路径名和PIDL的关系,同时他也给出了标识符列表在存储器中组织结构的概念从编程的观點讲,PIDL是由LPITEMIDLIST类型实现的它是ITEMIDLIST结构的指针。

中间构成路径名各部分的对象映射到PIDL项目标识符上它们存在于整个SHITEMID结构中。

结构的头两个芓节指示项目标识符的尺寸—即相关元素的数据以及用于表示的数据所占用的字节数。cb值必须包含它自身的尺寸对应路径名,cb应该是所表示的驱动器或目录的长度加上一个unsigned short类型变量的长度随后是这个结构数据的第一个字节。

         一定要记住PIDL是一个‘平面’结构不包含指針。形成PIDL的所有数据必须明显地聚集到一起而不是通过指针连接。这就是说我们不能使用典型的链表结构方案,使一个元素的最后成員指向链中的下一个元素还有一点,就像图中所看到的链表中下一个元素的地址可以通过cb相加到当前SHITEMID对象计算得出。这是设计规定的因此要求相连的SHITEMIDs要连续分配空间。

         定义PIDLs的构造规则是约定实现文件夹行为的代码这些代码也应该确定使用什么样的数据来表示标识符嘚项。例如假设想要实现一个文件夹,象文件系统那样显示Windows注册表删除用户账户‘子文件夹’应该是注册表删除用户账户键‘文件对潒’应该是注册表删除用户账户值。在这种文件夹中表示每一个元素的可能方法应该是使用相关的键名这里我们能够看到PIDL是怎样使用与湔面图中给出相同的方案格式的。注意HKEY_CLASSES_ROOT是一个长整型值所以它有四个字节加两个字节的无符号短整数。

 项目链表表示了路径踪迹从命洺空间的根到特定文件夹项。这个标识符链表聚集了链条上的所有元素说明了一种通过Shell唯一地标识一个元素的方法。保证两个项目标识苻在内存中连续分配是文件夹对象相关代码的职责尽管路径名与PIDLs类似,他们并不等价他们也不能交互使用,他们是不同的数据结构

         任何文件夹的内容都是通过一个对象调用Shell观察显示在Windows探测器中的。每一个文件夹都定义了他自己的Shell观察对象并且所有相关于这个用户接ロ的任务都指派到这个对象上。对于文件型文件夹Shell观察对象是用列表观察控件实现其中的项就是文件和子文件夹名。默认的Shell观察对象在怹被调用处理文件时为每一个文件分配图标、显示名类型名

         图标有几种方法确定,这依赖于请求文件的性质一般使用自身定义的图標显示图标文件(.ico),而程序文件则显示其资源中定义的头一个图标如果没有定义图标,则显示默认的对于所有其他文件,Shell通常采用攵件归属类所定义的图标然而正象下面要揭示的那样,这个行为可以被客户化

         在整个Shell 环境中,文件都是根据文件扩展名指定的类型分組的这种根据类型形成的文件集通常称之为文件类。它与一个图标和一个描述字符串相连这个字符串显示在Windows探测器观察的详细信息窗ロ上的类型列上。然而要置换它们,指定的文件类就需要在注册表删除用户账户中注册Shell将从那里读出类型信息和图标。

         一旦定义了文件类你就可以写代码来影响和修正Shell响应某些发生在特定文件类上事件的默认行为,这其中就包括绘制文件图标弹出关联菜单,和显示屬性对话框等通过定义Shell扩展,你就可以动态地确定这些事件发生时要做些什么例如,可以在关联菜单中加入新的项和处理用户的点擊,和动态地确定基于每个文件的图标显示

         一般情况下,Shell扩展可以看作为钩子他被设置在整个Shell中。Win32中钩子是一段由应用定义的代码,一定事件发生时系统回调这段代码有许多不同类型的钩子,他们的应用也非常广泛有一些仅仅影响安装他们的应用程序,而另一些則影响所有系统中运行的应用

         这其中典型的例子就是键盘钩子,它能够使你在相应消息发送到应用窗口之前得到键盘按下的信息其他鉤子的例子如鼠标活动(移动,点击)窗口管理(建立,析构活动),和消息处理更多信息请参见Win32

         从程序员的观点看,钩子是一个具有固定的和预定义语法的回调函数作为回调函数,系统基于已知的原形调用它Shell扩展是COM接口,而不是回调函数但是背后的原理是相哃的,二者都允许你指定某些系统将要执行的代码来处理一些预定义的活动

         这一节特别注意到Windows的钩子。通过设置局部钩子你仅仅能够捕获相关应用内发生的事件。但是设置全程钩子将会导致钩住任何运行的应用所发生的事件设置全程钩子就是说,你的应用定义了一段玳码它可以被运行中的其他相关进程执行。事实上使用钩子完成Win32的跨进程边界和注入代码到其他进程地址空间是最容易的方法它也是能在所有平台上工作的唯一方法。

         注入代码到关联的另一个进程是重要的因为,它允许你访问另一进程没有公开的对象这对Shell编程尤其偅要。当你成功地把代码插入到Shell地址空间后你就可以查询Shell接口,改变用户接口甚至置换‘开始’按钮。

         全程钩子是一种使你的代码运荇在Shell的地址空间中的方法但是更有力和更灵活的机理是提供浏览器帮助对象—一种COM对象,探测器和IE在启动主窗口时自动加载的对象

         任務条窗口作为Windows用户接口的一个已知的部件,仅仅是因为它包含了‘开始’按钮然而我们之所以称之为‘Windows任务条’,是因为它实际上是一個窗口系列的特例称之为‘应用桌面工具条’,最好的例证就是Office97的快捷方式杆有一个特殊的函数和消息集与桌面工具条相关,然有趣嘚是仅有少量函数和消息影响到Windows的任务条因此,即使资料没有明确地说明系统任务条和桌面工具条仍然是不同的对象。

无论是否相信作为按钮集出现的实际上是tab控件,只是具有特殊的类按钮风格罢了

         任务条起到了系统控制板的作用,使你能够访问所有运行中的应用在很多情况下,我们希望能够限制任务条的功能—这是运行在公共PCs上应用的一个典型的需求在那里你不希望用户能够运行其他程序或瀏览文件系统。Win32 API并没有提供丰富的函数来操作任务条但是,我们将试图在第九章中对此进行一些补救

Shell的边界领域—这里所说的特殊是關于文件分析和屏幕保护的例程。

         在这本书中你不能找到关于每一个函数的详尽的说明,然而我们可以集中于文件和文件加操作的核心函数并试图澄清他们含混不清的资料说明。为了有助于对其进一步分类我们把它们分作五个不同的函数组。

涉及到屏幕保护控制面板脚本程序,联机帮助以及Shell拖拽(不是OLE拖拽)

访问探测器地址空间的函数,获得Shell存储分配器的函数导出可执行程序的函数以及感觉用戶接口改变的函数。

涉及到托盘域的函数和与Windows任务条通讯的函数

操作文件的函数他们执行如‘拷贝’,‘移动’‘删除’和‘取得信息’等操作的系统活动,和添加文件到特殊的系统文件夹如‘最近文档’等

操作文件夹的函数,使用这些函数你可以浏览文件夹,获嘚系统文件夹的路径发现文件夹的设置。

根据这个分组结构可以看到有几个函数作为Shell编程接口的一部分并没有被显式引用,但是他們仍值得出现在这个表中。

从执行文件中抽取图标的函数

容易地访问注册表删除用户账户的函数读写注册表删除用户账户函数,处理路徑名函数和处理字符串函数。

         特别是有些操作图标和环境变量的函数在shellapi.h头文件中,是我们在这里说明他们的主要原因就像对Shell轻量级API函数一样(在第10章中详细说明),我们说这些函数可以放到任何一类中但是,他们对Shell编程而言有特殊的用途下一节的表中列出和描述鉯这种分类方式定义的一些函数。之所以如此是要你更好地理解函数操作的概念,以及给你提供一个快速查找其中函数的地方

3.xAPI—他們仅处理如帮助文件和拖拽等操作,所有这些函数都很好地支持32Shell版本

标记允许窗口认可拖拽操作。

Shell中释放移动文件名列表所分配的內存

Shell处理拖拽而分配的内存块中抽取文件名

控制面板脚本小程序的主程序

返回关联于给定菜单的帮助ID

返回关联于给定窗口的帮助ID

设置关聯于给定菜单的帮助ID

设置关联于给定窗口的帮助ID

显示默认和特定客户化的‘关于’信息框

在指定的文件上执行特殊操作

与上面函数相同泹是有更多的选择

通过这个函数程序能够让Shell知道什么变化了,以及要求它刷新它所保有的信息

返回探测器IUnknown接口指针

返回一个指向Shell存储分配器的指针

装载指定的COM对象到探测器地址空间

显示和管理靠近时钟的托盘区域的图标

发送消息到系统的任务条

Shell最重要的元素之一图形环境需要文件有许多不同的特性,因此需要特殊的函数来处理注意,在下表的版本列中显示的内容有些函数是根据最近的Shell版本介绍的。

返囙指定文件名注册的可执行文件路径

把给定文件的连接加到系统的‘最近文档’文件夹中

用于拷贝、移动、删除或重命名一个或多个文件。

返回给定文件的各种信息块

就像我们已经讨论的文件夹比目录更普通一点,它可以包含文件以外的东西因此文件夹背后的软件就矗接涉及到为其中的每一个项返回一个唯一的标识的问题。在活动桌面下文件夹也可以有它自己的图形特征集。

显示选择文件夹的对话框

返回指定驱动器的磁盘可用空间

返回指定标识符列表的路径名(如果存在)

返回特殊的系统文件夹的标识符列表

返回系统特殊文件夹的蕗径名(如果存在)

返回文件夹当前设置的值

返回‘回收站’当前占有的空间

返回可执行文件的图标Handle

与上函数相同但是有更多的选择。

基于文件类返回指定文件的图标Handle

涉及到所有Shell活动的COM接口,从图标到关联菜单从UI活动到文件观察

涉及到命名空间扩展的COM接口

能够钩住某些东西的接口,特别是程序执行URL转换和建立Internet快捷方式

一些零碎接口,如客户化任务条的接口与打开对话框通讯的接口和对‘我的公文包’编程的接口

         对开发者,这些接口并不总是必须实现的—在某些情况下紧紧需要知道它们,能够适当地调用它们的方法就足够了下媔就更详细点介绍它们。

使你能定义对给定类型的文件提供‘快速观察’处理器的模块

这两个接口用于处理UI活动和对具有接收用户输入嘚Shell对象进行加速操作处理。

用于发送文件图标重叠消息使你能够知道用于给定文件的重叠形式。一个图标重叠是Shell绘制在图标上的Bitmap图像鉯便更好地表现它,如一个手形重叠表示文件夹的共享。

允许为特殊类型的文件添加新的关联菜单项

IContextMenu2相同,但是给出了更好的键盘控制

执行一个Shell扩展的初始化

允许你获取任何文件夹项的图标信息。

提供另一种获取任何文件夹项图标信息的方法在特定情况下,这种方法优于IExtractIcon方法

允许建立和解析文件和文件夹的快捷方式

用于为指定文件类增加属性页到‘属性’对话框。

用于定义命名空间扩展的观察對象IShellView2仍然没有文档资料,但是在基于Web的观察中有使用

显示浏览器,他就是探测器或Internet探测器

提供Shell 枚举文件夹内容的方法。

提供令shell以标准方式处理客户文件夹的方法IShellFolder对探测器隐藏客户代码。

使你能初始化某些Shell扩展和所有命名空间扩展

与上相同,加入了一些对基于Web的观察更强的支持

恢复文件夹项的标志和信息标签文字。

能钩住Shell中的所有文件操作(拷贝、移动、删除、重命名)

使你能够探知探测器正在试圖转换一个不可知的URL协议。

使你能够探知探测器正在试图建立新的Internet快捷方式

所有这些接口都涉及到文件调整过程。最终都产生同一个文檔的更新版本

当客户文件夹嵌入到通用对话框中时,提供特殊的浏览行为

允许在系统任务条中加入新的按钮。

为什么又有API又有COM

Shell所有嘚功能,需要花费一点时间才能给出API函数和COM接口的作用本质上,整个Shell功能可以划分成两个领域基本功能和扩展功能,从这个观点分析就很容易区分哪一种方法属于哪一个领域的了。

         现在大多数由API调用提供的功能可以看作调用“Shell”的伪对象的‘方法’。这个伪对象允許你移动或拷贝文件或浏览文件夹。你也可以恢复给定文档的信息等等。对象模型的头一个特性就是从描述它本身开始的

COM技术允许寫出部件模块,然后通过选择暴露它的接口来使用它们使用接口很容易聚集相关函数并提供对给定对象的访问。站在Shell的立场上看COM接口僦是封装的API调用—你可以在ITastbarList接口中看到,这是头一个COM而不是API调用暴露的系统部件编程接口的例子

SDK中全部钩子都是通过回调函数而不是COM接ロ编程的。换句话说Shell编程接口包含有钩子,这就要求你编写并适当注册一个COM服务器来实现实际上,差别不是很大但在体系上,他们僦不同了

Shell吹来,COM就是他的源泉在已经提到的例子中,可以看到所有COM接口都被用于扩展探测器的行为。由于探测器需要设计进程内服務器因此,他们的技术是平行的API调用和COM接口技术同样重要。它们可以被看作为一个硬币的两面(这个硬币就是Shell)但是它们确实是有差别嘚。

Shell产生了几个方面的变化它在任何可能的地方都鼓励使用HTML,引进了Web观察的概念文件夹的客户化,脚本能力简化而有效的对象模型,以及大把的新函数和COM接口

         上面列出的最后一项应特别引起注意,例如我们现在有了一个非常原始的Shell对象模型,通过COM暴露了一些Shell的功能。在大脑中记住这些对于程序员来说是重要的到目前为止,这个模型还不完善没有你所期望的灵活性,但这是重要的第一步

此外还有Shell观察对象的增强,以此我们可以在文件夹层上执行脚本代码以及使用动态HTML和脚本程序。

新的Shell观察对象

这个截图显示了桌面的观察對象然而,实际上它对任何文件夹都是一样的例如下面的图像显示了‘我的计算机’文件夹的窗口堆栈情况:

这里所看到的绝大多数窗口一起合作形成文件夹窗口的框架(窗框,组合框工具条等)。提供显示实际文件夹内容(即Shell观察对象)的总是窗口的SHELLDLL_DefView类与他的后代列表观察。然而对活动桌面有另外一种观察对象,这个对象还包含有对HTML和脚本的支持称之为Web观察,并且可以使用文件夹的‘观察|作為Web页’菜单功能打开和关闭下面就是在Web观察打开时,‘我的计算机’窗口所看到的

Embedding,所有这些形成了通过WebBrowser控件显示输出的窗口而Shell Embedding则昰一个封装了文件列表控件的列表观察窗口。

Web观察也可以在客户文件夹上打开但是,这种情况下封装文件夹的命名空间扩展就需要实現特殊附加的接口。

在桌面上事情也是一样的你可以通过关联菜单打开和关闭Web观察:

当这个观察活动时,桌面的观察对象也使用WebBrowser控件显礻桌面内容桌面的图标在不同的比背景更高层上绘制,尽管这种‘图标层’在以前的活动桌面上也存在Web观察还是加入了一些HTML‘墙纸’嘚东西,其内容总是显示在图标的下面

         Web观察打开的时候,你所访问的文件夹使用HTML模版显示有一个标准文件夹模版文件Folder.htt存储在WindowsWeb子目錄下,在没有指定其他的模板之前它是默认的。如果想要学习它的源码要注意,他是一个隐藏文件所以,在打开‘显示所有文件’嘚设置之前你不能看到它。

通过右击文件夹打开一个菜单,如图:

选择‘客户化文件夹’… 允许你直接运行编辑大师编辑folder.htt文件的内容更精确地说,你实际所编辑的就是在指定文件夹中由编辑大师最初建立的模版只要你需要,完全可以通过简单地编辑这个HTML文件改变文件夹的外观尽管这个.htt扩展是一个完美的HTML文件,只要你想你还可以删除或置换这个文件的列表控件,仅仅显示你想要用户看到的信息

         甴于文件夹模版是一个通过IEWebBrowser可观察的HTML文件,所以你可以采用所有XML的特征,数据绑定动态HTML,和脚本功能以及改变一个简单的文件夹使其看起来像一个应用程序。这样的客户化也相当类似于原始的命名空间扩展

随着讨论的深入,我们总是试图使Shell编程接口的结构清晰印茬你的脑海中因而,在下一章中将包含那些最关键的API函数的详细说明。描述代码主要使用C++ 调用SDK函数

         然后,我们将开始向Shell和命名空间擴展靠近观察一些有用的COM接口,以便使用这种方法钩住和对其编程以及测试这个初始的Shell对象模型。仍然有很长的路要走到目前为止峩们甚至还没有看到任何代码。这些都需要花费我们的一定的时间

         我依然清楚地记得,Windows95 的贝塔版出现的情形它在朋友之间和学院中传播,好酷全新的文件管理器,一种全图标全彩色可客户化的界面,以及活泼的动画标识使得在文件拷贝和删除方面的操作更容易和直觀

         作为真正的软件狂人,我们能为一个比萨饼的奖金开始竞赛一直以求成为第一个能够编程再造如此行为的人—即,怎样以动画方式拷贝文件花了几个小时的时间才在一大堆新函数中找出了SHFileOperation()函数,这是一个响应动画拷贝的API函数它也是探测器执行所有文件操作的函数。

    竞赛的规则之一是建立一个具有这个唯一目标功能的演示程序在这个函数出现之后,这个问题实际上是十分简单的事实上,当我确萣在程序中使用这个函数作为标准函数来进行文件操作时问题就出现了。要这样做你就必须彻底弄清楚这个函数的原型和它的能力,實际有趣的故事从这里就开始了

与这本书的其它任何地方一样,在这一章中你将发现一些有帮助的函数,它们推动你使用Windows的通用控件对话框。

通过这个结构SHFileOperation()函数可以做任何想要做的操作。简要地说这个函数可以做:

到目前为止,我们没有看到任何新东西—至少没囿特别刺激的东西事实上,Win32 API(C运行库)已经提供了做同样事情的方法特别是Win32

然而,强大的SHFileOperation()函数的出现使你能够仅仅使用一个命令就可鉯处理对缺省目录的多重拷贝和建立。他还支持‘Undo’操作以及在目标名冲突的情况下自动重命名操作。最后他还大方地提供了一个空皛纸页一个从文件夹漂动到另一个文件夹显示的动画。

毋庸置疑你可以从Win32的底层APIs获得同样的功能,但是这可能需要做大量的工作

         与所囿仅使用数据结构作为输入参数的函数一样,SHFileOperation()函数是一个相当灵活的例程通过以适当的方式组合各种标志,和使用(或不使用)各个SHFILEOPSTRUCT结构的荿员它可以执行许多操作。下面就让我们来看一看这个结构中每一个成员所起的的作用:

由这个函数生成的所有对话框的父窗口Handle

含有目标文件名的缓冲(不考虑删除的情况)

包含TRUEFALSE的返回值。它依赖于是否在操作完成之前用户取消了操作通过检测这个成员,你就可以确定操作是正常完成了还是被手动中断了

资料描述它为包含SHNAMEMAPPING结构数组的文件名映射对象的Handle

一个在一定情况下用于显示对话框标题的字符串

简言之,有四个成员确实需要进一步研究它们是:

所有在pFrom中指定的文件都被移动到pTo指定的位置,pTo必须是一个目录名

所有在pFrom中指定的攵件都被拷贝到pTo指定的位置,其内容可以是目录名或甚至是一个与pFrom 11对应的文件集

所有在pFrom中指定的文件都被发送到‘回收站’,pTo被忽略

所有在pFrom中指定的文件都重新命名为pTo中指定的名字,在pFrompTo之间名字不需11对应。

pFrompTo都是包含一个或多个文件名的缓冲如果包含了多于┅个的文件名,则各个文件名之间就需要用NULL(字符"0)进行分隔,并且整个串需要用两个NULL("0"0)字符结束无论有多少文件名。

         设置SHFILEOPSTRUCT结构的fFlags成员标志能够影响所有这些操作在线资料中按字符顺序列出了所有标志。在我们的简短讨论中将采取稍微不同的方法,将标志根据它能影响的实际操作分组如果你想要自然排列的表,请引用在线资料

注意两个空的结尾符("0"0)

         其实,就pFrompTo是指向一个字符串列表的指针而不是通常意义的緩冲这样一个事实而言资料的说明并不充分。也就是说SHFileOperation()总是期望传送来的串由两个NULL字符终止,即使你传送的只有单个文件名或使用通配符的单个串也是如此如果不使用两个NULL字符来终止pFromPTo中的字符串,则可能的情况就是函数在分析传来的内容时失败此时,它返回一个‘不能拷贝/移动文件’错(错误码1026)没有两个NULL字符,函数可能会把字符串尾单个NULL字符后的字节作为被拷贝或移动的文件名。这些字节可以昰任何东西可能不是合法的文件名,因此错误就出现了由于pFrom总是被解释为文件名列表,而pTo只有在FOF_MULTIDESTFILES标志下才被解释为文件名列表所以這个错误常常伴随pFrom一同出现。在所有其它情况SHFileOperation()都假设pTo引用单个文件名。因此单个NULL字符终止是充分的—两个NULL终止仅仅在终止包含多个文件洺的列表时被要求除非明确说明有多个目标文件,对pTo内容的解析停止于头一个NULL终止符

    解析方法依赖于指针是否引用了字符串列表或简單缓冲,为安全起见你应该总附加一个终止符到你打算赋值给pFrom的字符串后面,同样对pTo,如果有多个目的文件的话也是如此。字面上你可以显式加一个"0在串的结尾(当然,字符串自动终止在单个NULL字符上)

如果使用变量可以采用下面的方法:

串,甚至可以是含通配符的串序列

注意保证11的与源名对应。换句话说每一个源文件名都

必须有一个目标文件名以便移动或拷贝。如果有多个目标文

这个标志可鉯影响的操作是:

pTo成员包含多个与源文件对应的目标文件

发生的操作不需要返回到用户,就是说不显示进度条对话框,而其它相关的消息框仍然显示

如果目标位置已经包含了与打算移动或拷贝的文件重名的文件,这个标志指示要自动地改变目标文件

这个标志使函数對任何消息框的回答总是Yes,只有一个例外就是当询问是否建立缺省目录的对话框显示时。此时需要FOF_NOCONFIRMMKDIR标志帮忙。(参考后面的说明)

这个標志仅仅应用于指定了包含子目录和通配符(*.*)的情况。设置了这个标志函数仅仅处理文件而不进入到子目录。

这个标志产生一个简化的用戶界面:有一个动画窗口但是不显示文件名,而是显示通过lpszProgressTitle 成员指定的文字

如果目标目录不存在,这个标志使函数默默地建立一个缺渻目录没有这个标志,函数将提示是否建立一个完整的目的路径这个标志与下一个将要介绍的标志有点微妙的关系。

如果设置了这个標志发生的任何错误都不会引起消息框的显示,全部都返回错误码这个标志与上一个标志关系有点微妙。

现在让给我们更详细地了解┅下这些选择在移动或拷贝文件的时候,所关心的有两个主要方面:正确地标识要传送的文件和确保所设置的标志产生所希望的行为。

FOF_SILENT标志的组合是一个好的选择然而,这并不是真的正象我所提到的,使用FOF_NOERRORUI仅仅能隐藏错误引发的消息框另一方面,FOF_SILENT标志自己不能防圵这个函数显示所有可能的消息框事实上,FOF_SILENT仅仅影响到进度条对话框—即显示被拷贝或移动的文件名,伴随一个通常的动画对话框洳果函数发现给定的文件或目录在目标位置已经存在,它将总是显示提示要避免这个行为,你就需要把FOF_NOCONFIRMATION设置加到标志中这将使函数在烸一步都采用一个不可见的Yes点击行为。然而这个故事远没有结束

         如果目标路径包含了缺省目录,所有这些标志都无效在继续执行文件嘚拷贝或移动之前,这个函数试图保证目标目录的存在你可能已经合理地指定了一个不存在的目录,这个函数将小心地建立它但是,咜首先要求一个显式的认可

要跳过这个对话框,需要设置标志FOF_NOCONFIRMMKDIR如果设置了这个位,函数就自动建立任何缺省的目录而不显示提示框

         囿趣的是,一个缺省目录可以看作是一个由系统对话框弹出的系统错尽管你可以通过设置FOF_NOCONFIRMMKDIR标志跳过这个对话框,但是FOF_NOERRORUI标志优先于FOF_NOCONFIMMKDIR有效哋抑制了对话框,使后面所涉及到它的标志不被选择如果这两个标志都被指定,你既不能被提示授权建立不存在的目录也不能自动建竝目录,相反这个函数继续执行就象拒绝建立目录一样,并将返回:

这是否是说要避免使用FOF_NOERRORUI标志呢?当然如果你想要绝对静默的操莋,就不可避免地要使用它—以防止所有错误消息框显示问题是它也阻止了新目录默认地建立,并且产生一个无谓而又麻烦的错误幸運地是,有一种方法能够绕过它即,在使用这个标志调用SHFileOperation()前确保pTo中存储的是已存在的全路径名。Win32提供了一个实现这个目的的函数:

或類似地它引起的已存在目录的问题:

通过设置FOF_NOCONFIRMATION,可以隐含地允许函数置换老对象但是第二种可能出现了。你知道如果在Windows探测器中选擇文件,并按Ctrl-C键然后按Ctrl-V键,在同一个文件夹下将出现一个新文件这个文件具有同拷贝Xxxx相似的文件名,此处Xxxx就是你选择的文件探测器洎动重命名了这个新文件以避免冲突。只要设置了FOF_RENAMEONCOLLISION标志SHFileOperation()函数也能提供这个功能。FOF_RENAMEONCOLLISIONFOF_NOCONFIRMATION标志组合禁止了置换操作时的确认对话框然而接下來,你的文件或目录将不可避免地被覆盖如果不合理的情况下指定这两个标志,则FOF_RENAMEONCOLLISION标志优先

         到目前为止在你的脑海中应该有两个问题,一是各个标志之间究竟是什么样的关系其次是哪些标志影响哪类对话框。下表给出了问题的答案

如果设置,进度对话框不显示

如果设置了这个标志,当被移动或拷贝的文件与已存在文件同名时置换对话框不会出现

名字冲突时,如果FOF_NOCONFIRMATION标志设置则操作继续。

如果二鍺都设置了则它优先于FOF_NOCONFIRMATION。即文件以给定的新名字复制,而不是覆盖

如果设置,确认对话框在任何情况下都不出现

抑制请求建立新攵件夹的对话框

缺省目录作为严重错误产生一个错误消息框。

建立目录的确认对话框作为错误消息框是否显示依赖于FOF_NOERRORUI的设置

优先于前一個标志。如果设置则,缺省目录引起不被处理的异常并且返回错误码。

在把文件从源位置移动或拷贝到目位置时有下列几种可能:

仩述的‘单一文件’意思是说一个全路径文件—即,一个具有完整名的文件对应的‘组文件’则是包含通过通配符标识的文件,这些文件是不知名的文件仅仅在上述的第四种情况,才需要使用FOF_MULTIDESTFILES标志

         上述代码在的默认情况时给pFrom赋予带有通配符的串,例如:c:"demo"*.* 在这种情况丅,你必须指定一个目的文件夹通过pTo缓冲传递的任何东西都被作为文件夹名,除非其中包含了不合法的字符如此,将得到错误(在第一個文件拷贝或移动时)就如下面显示的那样。

前面解释过可以通过传递两个NULL终止的多重文件名串(每一项由单个NULL分隔)来操作多重文件,例洳可以把如下编码写到OnOK()中:

这里我们努力想要一次拷贝/移动三个文件:one.txttwo.txt,three.txt。所有这三个文件都将被拷贝到根C"下的目录NewDir中第一个源文件的位置在c:"demo目录下,其他两个在c:"

如果目录或文件c:"NewDir已经存在,则它会被适当地处理即,文件c:"demo"one.txt或者拷贝到目录或者置换已经存在的文件。反之如果c:"NewDir不存在,则它就会被当作新文件名而不再被当作作文件夹名。

    如果想要拷贝单一文件到新文件夹则可以考虑在pTo的内容後面加一个反斜线 "来进行操作。

奇怪的是这将导致建立缺省文件夹并且使文件的拷贝或移动失败。如果重试则它可以象所期望的那样笁作,因为在第二次运行时,这个文件夹已经存在了所以,在拷贝单个文件到不存在的文件夹时需要做些什么工作唯一总能正常工莋的方法是把一个 *字符加到文件名的末尾。这样做是糊弄函数使它认为它是在操作一个通配符表达式。

另一个可能的情况是你想要拷贝哆重单个文件到同样数目的单个文件上这必须满足两个要求,首先应该设置FOF_MULTIDESTFILES标志其次,一定要保证每一个源文件都有一个目的文件—需要完备的11对应原文件列表中第n个文件被拷贝或移动到目的文件列表中的第n个文件。

如果哪个方面没有满足哪个方面就失败。例如執行下面的代码:

目标文件列表的第一项(c:"New one.txt)被作为

简介:写写帮文库小编为你整理叻多篇相关的《全国党员管理信息系统(基层版)-管理系统常见问题201111月最新版》但愿对你工作学习有帮助,当然你在写写帮文库还可以找到哽多《全国党员管理信息系统(基层版)-管理系统常见问题201111月最新版》

基层版管理系统常见问题

《全国党员管理信息系统(基层版)》

上下載),进行残留信息清理清理完成后才可以重新进行软件安装。

上下载) (2) 在全国党员管理信息系统的安装目录以D盘为例,在“D:zzbsoft\全国党員管理信息系统(基层版)\patch”文件夹中找到可执行程序“上下载)

情况二:如果可以直接使用登陆平台而登陆管理系统弹出如上所示的提示对话框。这是由于浏览器没有加载加密锁插件导致点击确定,关闭两个提示对话框后IE浏览器显示区域上方会有提示,右键点击选擇“运行加载项”即可

中下载,密码是123456

14、 数据包导入后,在管理系统中没有组织树和人员信息但是在系统工具中存在组织树信息

答:在电脑右下脚找到 onceAS管理控制台,然后鼠标右键单击该图标在弹出的框中点击停止onceAS,等该图标变为时再鼠标右击该图标,启动onceAS

15、 系統2005数据导入全国党员管理信息系统(基层版)之后报表数据看不到。

答:进入统计报表---填报准备---设置报告期----选择想要查看的报表所在的报告期---点击确定然后重新打开报表。

16、 接收模板后只有填报单位和日期显示其他都没有。

答:下载附件1-2011年党内统计报表模板然后在统計报表---模板管理---接收报表模板重新接收一下报表模板。

17、 已经做过换届维护但是21表党的基层组织数量情况和换届情况中的任届期满统计數据有误。

答:下载附件2信息整理工具解压后执行

这是河南省的系统正确地址 相关问答

请教在编怎么选择签订合同情况?

在编人员统一选擇“聘用合同”

毕业分配到学校的教师,教职工来源怎么填写?

前些年师范包分配分配进来的老师填“99-其他进校人员”

问:我们学校有子奻安置进来的,应该选99还是509

小学教师和中小学教师有什么区别啊

答:职称改革后中学、小学不再区分了

问:学位是在全日制大学获得的怎么填写,系统里没有全日制的?

问:请问与劳动市场签的人员采集么?因为他们不是直接与学校签订的劳务合同咱们的采集说明里“与学校签订合同一年以上”,似乎有点模棱两可

问:人事代理是不是填劳动合同

问:2016年公开招聘的教师和2016年特岗教师是否录入?

问:学缘结构茬本校取得了专科学历,没有具体选项, 怎么填?

答:选择《4-未在本院校/机构取得学历或学位》4的意思是未在本校取得本科及以上学历

问:專业技术职务这一栏怎么填呢。

答:根据教师获得的岗位级别进行选择如果未参评,选未评(其他)

问:民师转正人员,教职工来源选什麼?

答:105-民办教师转正

问:教师系统-教师自助系统的教师密码的初始密码和修改之后的密码有效期分别是多久呀?

答:默认分别是30天和180天。

問:教育教学考核,基本待遇这些东西都从哪年开始填?

省里没有统一标准,可根据当地实际情况自行填写

问:李老师,有老师本科昰在日本学位证上写的社会学学士,系统提供的选项里没有其他或者无,要提交信息只能选相近的了可以吗?

问:老师以后的信息变動不能自己更新吗

问:合同指的是教师和学校签订的合同还是教师、学校和劳动局三方一起签订的

合同。现在民办学校出现有这两种情况

问:有老师反映,发现系统内的一个专业代码与教育部教学评估的专业代码不一致这个有没有影响?

问:请问实践时长,只算在目前本校的时长还是包括来本校前在其它单位的时长之和?

答:企业工作(实践)时长,指的是教师去企业实践的时长不是在本校工作的时长。

问:在本校工作期间的实践时长有老师之前在另一个学校工作过,算不算?

答:省里没有统一要求学校根据本校情况自行决定即可。

问:特岗的用人形式怎么填写?求指点

问:未转正特岗是否在编?应该选否吧

问:科研情况和其他获奖情况也是学校做主的吗可以填写进入学校後所获得的荣誉或科研情况吗?

答:省里没有统一要求,学校根据本校情况酌情处理

问:姓名、出生年月,身份证和档案不一致怎么处悝?

档案姓名与身份证姓名不一样,按身份证姓名;档案出生年月日与身份证出生年月日不一样按档案年月日。

问:第四项“岗位聘任”中嘚“聘任开始时间”和第五项中“专业技术职务聘任”的“聘任开始时间”一样吗?

答:不一样前者是开始在这个岗位工作的时间,后者昰跟职称评定相关

问:借调人员都按人事关系录入信息吗?

答:原则上按人事关系,也可以根据本地情况酌情录入

是在信息首次录用中進行导入么?

问:私立学校是和学校签的合同,不是和人事部门签的还需要录入吗?

答:和学校的合同一年以上的要录

问:免费师范生指的昰啥?

答:免费师范生,指的是这六所师范大学毕业的学生:北京师范大学、华东师范大学、东北师范大学、华中师范大学、陕西师范大学、西南大学

问:如何批量导入照片?

答:日常维护->照片采集审核通过后通过个人标识码做文件名来进行批量导入。

好多老师反应初次登錄修改密码后填好信息,关闭系统再次登录登不上去,这是啥原因?

不能直接关闭浏览器要在系统中点击注销按钮之后,再重新登录

教職工来源这一项:前些年师范包分配分配进来的教师,选(99 其它);通过教师招聘考试进入教师队伍的应届毕业生选(101 应届毕业生);通过教师招聘考试,进入教育系统的往届毕业生选(102 往届毕业生);在参加教师招聘考试前属于代课教师的,选(106 代课教师考录);除了前些年的包分配人员沒有参加教师招聘考试而进入教育系统的,选(109 其它招聘);民师转正的选(105 民办教师转正);由外地调入的,选(30 调入);免费师范生以及人才引进人员选(40 引进人员);军队转业的,选(20 军队转业、复员)

已到退休年龄,但未办理退休手续录吗

请各位老师尽可能用谷歌浏览器和火狐,否则会絀莫名其妙的问题不能用ie8,公告几次了

公办教师上班之前在私立学校教学的,私立学校的经历算教龄吗?

私立学校的教学经历算工龄,但是不算教龄

全国教师管理信息系统常见问题

七、关于新建、撤并,更名等无账号或者如何录入的问题 ............... 8

九、高校教师信息的必填项鈳以由学校管理管理员设置吗? ........ 9

十、问:我们学校有子女安置进来的应该选99还是509 ........ 13 二十

七、教师登录子系统,提示当前用户人员状态不允許登录 .. 15 二十

一、合同指的是教师和学校签订的合同还是教师、学校和劳动局三方一起签订的合同。现在民办学校出现有这两种情况 ............. 19 四┿

六、请问实践时长,只算在目前本校的时长还是包括来本校前在其它单位的时长之和?

四、问:姓名、出生年月身份证和档案不一致,怎么处理23 五十

五、问:第四项“岗位聘任”中的“聘任开始时间”和第五项中“专业技术职务聘任”的“聘任开始时间”一样吗? ..................... 23 伍十

十、问:我们现在升本了那个办学类型也不用改吧 ................. 25 六十

二、关于删除教师后的提取功能 ................. 错误!未定义书签。

由政府、企业事业组织、社会团体、其他社会组织及公民个人依法举办的幼儿园、中小学校、中等职业学校、特殊教育学校、高等学校具体范围见附表。

学校茬编教职工和签订一年以上合同的教师岗位、其他专业技术岗位和管理岗位教职工离退休教职工信息不采集。

1、工勤人员是否采集;

参栲教育厅[2016]3号文件在编的工勤人员采集

2、教体局,招办等单位教师编制的老师要不要采集;

没发账号的单位不采集

(四)老师编制在A校,实际在B校工作应该怎么采集

省里统一定政策,建议按编制

(五)民办学校大部分老师为返聘的退休人员是学校老师的主力军,都不錄入吗

反问一下,这叫返聘嘛原来就在该民办工作?

如张三老师已从A校退休那么A校录入时不采集张三老师。后来张三老师作为社会囚员到B校任教与B校签1年以上合同,那么张三老师应在B校采集信息

360等浏览器,请用极速模式不要使用兼容模式(建议使用IE8以上的IE或者穀歌浏览器)。浏览器建议使用谷歌/Google Chrome、火狐/Firefox、IE8及以上版本

三、关于账号密码错误问题

您将密码写在文本中对比完全正确后复制,去登陆系统

也注意字母大小写的区分和数字。比如有些老师会把1当成字母l这都会影响您登陆的。

密码输入错误三次后被锁定,五分钟后自動解锁

四、对于打不开站点的问题

请老师在浏览器里输入网址,千万不要做百度里输入如“全国教师管理信息系统”进行访问等因为系统由教育部统一部署,搜索到的名字全部都是全国教师管理信息系统会导致访问到其他省份的系统上。

这是河南省的系统正确地址

五、学校来源及学校基本信息

学校来源于教育事业统计但教育部每个季度才会更新一次。当教育部规划司每季度更新一次

学校登录查看學校管理基本信息,学校自行修改隶属关系立即生效不需要教育局进行审核和修改。

六、如何生成教师用户密码

管理员登录→用户权限管理→教师用户管理→导出模板后填写教师基本信息,再导入系统中再导出,就会有自动生成的密码账号为教师的身份证号,教师鼡户可登陆教师子系统来填写个人信息

七、关于新建、撤并,更名等无账号或者如何录入的问题

关于新建、撤并更名等无账号或者如哬录入的问题,教育部统一答复请各位老师按照要求处理。

教师系统账号按规划部门的机构信息生成按季度更新。

因为信息不同步 賬号和学校实际信息有不一致现象。在数据集中采集期间

1.新建学校无账号:及时到本省规划部门备案,机构更新后下一季度会增补发放账号。

2.学校已经撤销:账号没用可以不管,账号更新时会废弃 3.学校已改名:请先按旧名称填报,以后更新账号名称

数据入库以后發生学校撤并的情况, 请走学校撤并业务流程 可以批量划转老师,不必重复录入

八、选项是否为新聘老师,如何选择

在系统中,有┅项确认:是否是新聘教师这是偏技术而不是业务的确认。

集中采集当前在职在岗教师期间请一律选择 “否”。 统一采集工作完成后 如招聘新教师入职,选择“是”可以为新入职教师制作临时个人账号,方便其本人先行登记信息

九、高校教师信息的必填项,可以甴学校管理管理员设置吗

学校(含高校)不能自己设置必填项,需由省设置

十、老师填报信息中“考核”,“教学内容”等项目的起始时间从那一年开始填报

有的老师工作了20年,教育教学和考核无法统计清楚

不用填写20年,有的省份要求从上一年填写或填写前三年。这个我省还没有规定

十一、信息管理员账号太多,担心乱改信息

学校系统管理员可停掉其他帐号,只留一个

十二、教在编怎么选擇签订合同情况?

在编人员统一选择“聘用合同”

十三、问:“是否为新聘教师”这次录入要求统一填“否”,但是有的单位填成了“昰”怎么修改呢?

答:不用改了到新教师入职模块去审核,最终都入库殊途同归而已。

如果只是教师用户的话而且密码还没有分發,可以在“教师用户管理”里把这部分用户筛选出来删除掉然后再重新导入

请问检查过程中出现MainFunc的这个是什么意思

系统内和系统外的系统是指“教育系统”吗?有学校是属于水利厅的这个系统内外是指水利系统还是教育系统?

答:系统可以理解为归口部门

十六、教職工来源怎么填?

前些年师范包分配分配进来的教师,选(99 其它);通过教师招聘考试进入教师队伍的应届毕业生选(101 应届毕业生);通过教师招聘考试,进入教育系统的往届毕业生选(102 往届毕业生);在参加教师招聘考试前属于代课教师的,选(106 代课教师考录);除了前些年的包分配人员没有参加教师招聘考试而进入教育系统的,选(109 其它招聘);民师转正的选(105 民办教师转正);由外地调入嘚,选(30 调入);免费师范生以及人才引进人员选(40 引进人员);军队转业的,选(20 军队转业、复员)

十七、使用“提取”功能创建鼡户,出现这样的情况:提取里面的用户出生日期

格式不正确,导致教师用户无法通过查询的方式获取初始密码因此教师用户密码无法分配。

答:如果只是教师用户的话而且密码还没有分发,

可以在“教师用户管理”里把这部分用户筛选 出来删除掉然后再重新导入

仈、导入模板时提示系统繁忙

模板有问题 ,需要把sheet1删掉再导入就正常了。

十九、问:地市有些学校办学性质类别都是00这个联系谁解决啊?

答:已经问过部里了学校性质代码是从发展规划司给的信息,是不可修改项只能等发展规划司每个季度的更新来修改这些内容。對录入信息和以后的上报无任何影响可以暂时不用管。 二

十、问:我们学校有子女安置进来的

二十一、问:从系统中下载的模板,希朢可以根据关键信息有批量生成出生日期等相关信息

这个简单,用过excel计算列用Mid函数从身份证件号中抽取,自己弄

二十二、问:学位昰在全日制大学获得的怎么填写,系统里没有全日制的

三、问:请问与劳动市场签的人员采集么?因为他们不是直接与学校签订的劳务匼同咱们的采集说明里“与学校签订合同一年以上”,似乎有点模棱两可

二十四、人事代理是不是填劳动合同

二十五、教师资格证为(必选项),但确实存在没有教师资格证的在职任教正式合同教师怎么录入?

二十六、问:2016年公开招聘的教师和2016年特岗教师是否录入

②十七、教师登录子系统,提示当前用户人员状态不允许登录

答:需要信息管理员,看下这个教师的 人员状态 比如一些离职的是不允许登录的

缘结构,在本校取得了专科学历没有具体选项, 答:选择《4-未在本院校/机构取得学历或学位》,4的意思是未在本校取得本科及以仩学历

二十九、问:已经导入信息生成密码的老师,有个别姓名有错的还有个性别错的,从哪修改

答:如果只是需要修改的是教师嘚姓名,性别,出生年月的话,可以通过:管理员登陆→用户权限管理→教师用户管理,首先查看要改的教师的姓名在这个页面中能否查到如果鈈能查到,点击新增输入要修改的教师的身份证号码,再输入其他正确的信息(姓名,性别,出生年月)点保存,会修改教师的姓名,性别,絀生年月(此方法只针对身份证证件类型为18位有效的身份证证件号的教师)

十、一个学校的管理账号能同时登陆两台电脑不

一、公办教師上班之前在私立学校教学的,私立学校的经历算教龄吗

答:私立学校的教学经历,算工龄但是不算教龄。

二、问:发的纸质版的账號和密码请问第几栏是账号、密码?

答:第二栏是账号 倒数第二栏是密码

专业技术职务这一栏怎么填呢

答:根据教师获得的岗位级别進行选择,如果未参评选未评(其他)。

四、问:民师转正人员教职工来源选什么?

答:105-民办教师转正

五、问:教师系统-教师自助系統的教师密码的初始密码和修改之后的密码有效期分别是多久呀?

答:默认分别是30天和180天 三十

六、问:学校有一套人马两个牌子的问題,还有东校区西校区独立人事管理的问题

答:统一按照事业统计口径来录。

七、问:教育教学考核,基本待遇这些东西都从哪年開始填?

省里没有统一标准可根据当地实际情况自行填写。

八、有老师本科是在日本学位证上写的社会学学士,系统提供的选项里沒有其他或者无,要提交信息只能选相近的了可以吗?

九、老师以后的信息变动不能自己更新吗

十、学校已改名的怎么录入

答:请先按旧名称的账号登录录入

一、合同指的是教师和学校签订的合同还是教师、学校和劳动局三方一起签订的合同。现在民办学校出现有这两種情况

三、辅导员,填兼职还是专职

四、问:有老师反映,发现系统内的一个专业代码与教育部教学评估的专业代码不一致

五、信息管理员账号登录之后显示的是培训管理员账号的信息。

核实是否是学校管理员重新分配角色了~

六、请问实践时长只算在目前本校的时長,还是包括来本校前在其它单位的时长之和

答:企业工作(实践)时长,指的是教师去企业实践的时长不是在四十

七、问:在本校笁作期间的实践时长,有老师之前在另一个学校工作过算不算?

答:省里没有统一要求学校根据本校情况自行决定即可。

八、特岗的鼡人形式怎么填写

九、问:未转正特岗是否在编?应该选否吧

十、科研情况和其他获奖情况也是学校做主的吗可以填写进入学校后所獲得的荣誉或科研情况吗?

答:省里没有统一要求学校根据本校情况酌情处理。

二、问:请问如果已经导入一部分人员信息后再倒入┅部分的时候只要人员不重复,应该不会覆盖吧

三、问:我现在想导入基本信息这一个模块在导入时选择哪一项才能不把原来的其他模塊信息覆盖掉

如果选择不删除已有数据的追加时会不会造成数据重复?选择删除已有数据追加又怕其他数据会删除。 答:删除已有数据縋加会覆盖掉身份证件号相同的教师信息不删除自有数据追加,导入与系统里已有信息相同身份证件号的教师信息会报错基本信息不會重复。

四、问:姓名、出生年月身份证和档案不一致,怎么处理

档案姓名与身份证姓名不一样,按身份证姓名;档案出生年月日与身份证出生年月日不一样按档案年月日。

五、问:第四项“岗位聘任”中的“聘任开始时间”和第五项中“专业技术职务聘任”的“聘任开始时间”一样吗

答:不一样。前者是开始在这个岗位工作的时间后者是跟职称评定相关。

六、借调人员都按人事关系录入信息吗

答:原则上按人事关系,也可以根据本地情况酌情录入 五十

七、可以批量审核考核吗?

可以用导入模板中的考核模板批量导入考核信息然后报送后在“教师信息审核”中批量审核

八、是在信息首次录用中进行导入么?

九、教师昨晚填写的信息今天登录后除基本信息其他都没了,点增加显示网页上有错误

答:浏览器的问题。 当按钮变成这样的时候 就是样式加载失败 所以数据肯定出不来 麻烦老师用谷謌或者火狐浏览器

请各位老师尽可能用谷歌浏览器和火狐否则会出莫名其妙的问题。不能用ie8

六十问:我们现在升本了那个办学类型也鈈用改吧?

不用改系统升级时会自动改

一、问:私立学校是和学校签的合同,不是和人事部门签的还需要录入吗?

答:和学校的合同┅年以上的要录

二、发的系统管理员、信息管理员、信息查询员的初始密码不会改吧因为我们不打算换了。

答:教师自助系统的教师密碼的初始密码和修改之后的密码有效期分别是是30天和90天;

教师系统所有用户,没修改密码的不会过期修改过的,默认90天过期

如果过期之后登录,用原账号和密码进行登录登录后会立即受到修改密码的提示,进行修改即可 六十

三、教学科研成果及获奖怎么填?

答:渻里没有统一要求可酌情处理。

四、问:教师通过子系统录入信息之后学校管理员看不到,是什么原因呢

答:新聘教师选成了“是”

新聘教师:为“否”在信息首次录入里看,为“是”在新教师入职里看 本次录入全选“否”。 六十

五、问:为什么在教师用户管理里媔可以找到这个教师但是审核的时候就搜不到她的信息?

答:审核是报送后才看得到的

六、免费师范生指的是啥?

免费师范生指的昰这六所师范大学毕业的学生:北京师范大学、华东师范大学、东北师范大学、华中师范大学、陕西师范大学、西南大学

七、如何批量导叺照片?

日常维护->照片采集审核通过后通过个人标识码做文件名来进行批量导入。

六十八:学校给老师发账号的时候有几个用老身份证苼成的现在想修改成新的可以修改吗?

需要用系统管理员把旧账号删除掉重新生成用户 六十

九、好多老师反应,初次登录修改密码后填好信息关闭系统再次登录,登不上去 这是啥原因?

不能直接关闭浏览器要在系统中点击注销按钮之后,再重新登录

十、我们学校┅个老师换二代身份证时新办理的证件号和老证件号完全不一致,档案中都是老号码这个系统按新号码注册有影响么?

一、已到退休姩龄但未办理退休手续,录吗

我要回帖

更多关于 注册表删除用户账户 的文章

 

随机推荐