分类目录归档:评论转载

如何彻底去除OneNote2010开机自启动项,终于明白了。

我是一个很看重电脑性能的人,平时杀毒不开,裸奔。

开机启动项没几个,除了本本需要的fn键响应的那些。

装了office2010之后发现onenote的启动项总是挥之不去,在“启动”文件夹里。

就算你把那个快捷方式删掉,只要一运行onenote或者相关的(我用设备中心同步手机也会后台启动onenote)

onenote就会重建它的启动项,我一直找不到在那里设置让它开机不启动,今天找到去掉的方法 ,特转载于此。

(ps:其实onenote还是很好用的,只不过我暂时用的频率还不高,还在学习)

============================我是分隔线===================================

Microsoft OneNote 2010是个不错的电脑记事工具,但是每次打开OneNote会自动添加一个自启动项。

 

如果你没有删除这个启动项,下次开机会自动运行并在任务栏出现OneNote图标。

如果不希望OneNote自动添加自动启动项,需要在OneNote的显示设置中把“将OneOnte图标放在任务栏中的通知区域”前的勾去掉,然后删除自启动项(开始–启动—OneNote 2010屏幕剪辑程序和Launcher)即可。

不过如果去掉这选项后,点击关闭OneNote就直接关闭了,并不会后台运行(OneNote图标不在任务栏显示),那么OneNote的某些快捷键就不能使用了。

============================我是分隔线===================================

原文地址:http://65px.com/1033

xp默认管理员账户隐藏问题

很多用户在新装winxp之后没有去创建系统账户,而是使用最高权限的默认管理员账户。

(特别是不想敲密码而是用直接自动登录的用户)

当某一天用户需要使用多用户的时候,才会去创建账户。

 

xp里面有两种账户类型,一种是管理员账户,权限很高。另外一种是受限的用户。

你会发现受限的用户真的很受限,有时连安装一个程序都不允许。

于是你选择创建一个管理员账户,这样过后,你会发现在登陆界面你的原来的管理员账号好像不见了。

其实,这个默认管理员账户只是隐藏了,当系统出现了其他的的管理员用户时,系统默认会隐藏原有的管理员账户。

而且这个账户只是隐藏了,文件设置等并没有被删除,使用传统的登陆界面用户名敲入administrator还是可以登录的。

但是在欢迎界面会看不到,要想让这个默认管理员账户重现,有两种方法。

一、进入安全模式,你会发现欢迎界面上又有了那个默认管理员账户,你使用这个账户进入系统,到控制面板的用户账户里面去把其他的管理员账户给删除了就可以了,下次使用一般的模式进入系统默认管理员账户就会重现。

 

二、如果我们真的要用多个管理员账户,可以使用如下方法让隐藏的默认管理员账户重现:

 

“开始”菜单–>运行–>输入“regedit”(不含引号),回车打开注册表编辑器–> 展开注册表定位到:
HKEY_LOCAL_MACHINE / SOFTWARE/Microsoft / Windows NT / CurrentVersion / Winlogon / SpecialAccounts / UserList

看下右边有没有Administrator这个DWORD值,没有就新建一个,把值设为“1” 就可以显示了,设为“0”为隐藏。

[转]屏幕录制,远程桌面传输,基于Windows图形驱动的屏幕截图技术

计算机屏幕图像的截取在屏幕的录制、计算机远程控制以及多媒体教学软件中都是关键术,基于Windows操作系统有多种截屏方法,研究的重点集中在如何快速有效的截取DBI(Device-Independent Bitmap)格式的屏幕图形数据。现在商业软件流行的截屏技术主要采取的Api Hook技术,但这种技术一次截屏仍有较大的时间消耗,这样就对运行软件的硬件仍有较多的限制,而且是一种非标准的技术,不为微软公司所推荐。

1截屏技术

1.1使用api hook技术

使用api hook技术截屏基于一下的原理;多数屏幕图形的绘制都是通过调用用户态gdi32.dll中的绘图函数实现的,如果利用api hook技术拦截系统中所有对这些函数的调用,就可以得到屏幕图形刷新或变化的区域坐标;然后使用api函数bitblt将刷新或者变化后的屏幕区域的ddb格式的位图拷贝到内存中,接着使用函数getbits将ddb位图转换为dbi位图,最后压缩、存储或者传输。

这种方案只有捕捉到变化,才进行截屏。这样每次截屏都是有效的操作。每次(第一次除外)仅截取了栓新或变化部分,从根本上解决了数据量大的问题。但是这种技术仍然有一下缺点:1实际截屏采用的api函数,截取的是ddb位图,要经过一次格式转换,耗时较大。2如果屏幕变化区域矩形的坐标r1、r2、……rn相继到达,为了不是屏幕变化的信息丢失,通常不是逐个截取,而是将矩形坐标合并,这样就可以截取并未变化的区域,不经增加截屏的时间消耗,而且产生冗余数据。3该技术不支持directdraw技术,由于应用程序可能使用directdraw驱动程序进行直接操纵显示内存、硬件位块转移,硬件重叠和交换表面等图形操作,而不必进行gdi调用,所以此时api hook技术将失去效用,不能捕捉屏幕变化。4api hook技术在屏幕取词,远程控制和多媒体教学中都有实际的应用,但是这种技术是一种非标准的技术,微软公司并不推荐使用。

1.2 使用图形驱动技术

该技术的原理:应用程序调用win32 gdi 函数进行图形输出请求,这个请求通过核心模式gdi发送。核心模式gdi把这些请求发送到相应的图形驱动程序。如,显示器驱动程序,通信流如图。现将该技术详细解释如下:

(1)显示器驱动输出一系列设备驱动程序接口DDI(Device Driver Interface)函数供GDI调用。信息通过这些入口点的输入/输出参数在GDI和驱动程序之间传递。

(2) 在显示器驱动加载时,GDI调用显示器驱动程序函数DrvEnableDriver,在这里我们向GDI提供显示器驱动支持的,可供GDI调用的DDI函数入口点,其中部分时将要Hook的图形输出函数。

(3) 在GDI调用函数DrvEnableDriver成功返回后,GDI调用显示器驱动的DrvEnablePDEV函数,在这里可以设置显示器的显示模式,然后创建一个PDEV结构,PDEV结构是物理显示器的逻辑表示。

(4) 在成功创建PDEV结构之后,显示驱动为视频硬件创建一个表面,该表面可以是标准的DIB位图管理表面,然后驱动程序使该表面与一个PDEV结构相关联,这样显示驱动支持的所有绘画操作都将在该DIB位图表面上进行。

(5) 当应用程序调用用户态GDI32.DLL中的绘图函数发出图形请求时,该请求将图形引擎通过相应的DDI函数发送到显示驱动,显示驱动程序将这次图形变化事件通知应用程序。

(6) 应用程序接受到通知后,调用函数ExtEscape发出一个请求,并通过参数传递一个缓冲区Buffer,图形引擎调用DDI函数DrvEscape处理应用层的ExtEscape调用,将变化部分的图形数据从其创建的表面拷贝Buffer,这样数据就从核心层图形驱动传到应用层。

(7) 应用程序接收到的图形数据已是DIB标准格式,所以可以直接进行压缩传输或储存。

1.3图形驱动技术的特点

上面叙述了采用图形驱动实现屏幕实现截屏的原理和过程,可以看出这种技术涉及核心图形驱动的编写,实现上较为复杂,而其具备的优点主要为:

(1) 驱动技术只截取变化的屏幕区域,这一点与API Hook技术相当;但驱动技术是一种标注技术,为微软公司所推荐。

(2) API Hook技术在实际截屏时,采用API函数实现,截取DDB位图,必须经过一次DDB到DIB的转换;而驱动技术直接从其管理的DIB位图(表面)中将截取区域的图形数据拷贝到应用程序,显著的降低了一次截屏的时间消耗。
(3) 如果屏幕图形小区域范围变化较快,屏幕变化区域矩形坐标R1、R2、R3……、Rn相继到达,由于一次截屏时间消耗降低,区域矩形坐标叠加的概率变小,这样屏幕变化区域及时的得到了处理,不仅增加了连续性,而且截屏时间消耗和产生的数据量一般不会出现峰值,这也是这种技术的优越之处。

经过以上对比,无论是做远程桌面还是屏幕录制,基于MirrorDriver的屏幕截取将会是一个不错的选择,无论从性能占用资源的大小(主要是cpu),取得的数据量来说都要优于Hook。
最近在做远程桌面的传输,所以有必要研究一下Mirror,这项技术在很多软件中都有应用。但是开源的driver我还没有看见过,因为没有精力去编写。所以才用网上的免费的driver同时也提供了api文档。
driver内部实现的原理大致就是把显示输出拷贝到一个缓冲区当中,并且记录每次屏幕更新的矩形区域。根据这些输出,应用程序就很容易得到缓冲区中的数据了。