tsp测试数据谁有tsp数据,最好是省会城市 水资源 数据

当下软件园 / 汇聚当下最新最酷的软件下载站!
热门搜索:
您的位置:
> system monitor(系统监视桌面小工具) V22.8 英文绿色免费版
system monitor(系统监视桌面小工具) V22.8 英文绿色免费版
网友评分:10分
  system monitor 是一款简单易用的系统监视桌面小工具,它能够帮助用户监视系统运行状况,可适用于windows 7和windows vista 的操作系统。
  SMON完美支持可以恢复另一台处于失败的数据库,能够帮助用户来进行系统切换到另一台正常的服务器上
软件特别说明
密码监听器是一款用于监听网页密码的工具,包括网页上的邮箱、论坛、聊天室等等。只需在一台电脑上运行,就可以监听局域网内任意一台电脑登录的账号和密码,并将密码显示、保存,或发送到用户指定的邮箱。
Total Uninstall 是一款简单易用,多功能的软件安装监视器,它不仅能帮助用户监视软件安装的所有过程,记录下它对系统所做的任何改变,而且用户还能直接通过本软件将软件完全清除,不留下任何痕迹。
放心乐健康上网是一款可以帮助家长监督孩子上网,控制孩子上网的管理软件,该软件可以巧妙的协助家长引导孩子如何正确合理的使用电脑,将电脑打造成孩子的良师益友,而不是让网络成为孩子的生活全部,真正做到了家长放心孩子乐成长。
多路摄像头监控系统是一款非常实用的usb摄像头监控软件,实用这款软件只需要一个USB摄像头和一台电脑就可以组成一套监控设备,非常节约成本。
RegShot一个很小巧但是很管用的注册表比较工具,它通过软件安装或者运行前后的情况作比较,查出软件在什么地方作了手脚。
其他版本下载
system monitor(系统监视桌面小工具) V22.8 英文绿色免费版
Copyright (C)
.All rights reserved.如何在SYSTEM权限下实现屏幕监控
屏幕监控是远控软件的基本功能之一,现在很多远控程序的服务端通常为DLL形式,通过远程线程注入等方法插入到services、svchost等SYSTEM权限的进程中去,而此时常规的屏幕监控就会失效(这是因为与SYSTEM权限进程关联的窗口站、桌面与普通进程不同)。
如何才能在SYSTEM权限下实现屏幕监控呢?
一、 屏幕监控的基本原理
屏幕监控简单说就是对进程的当前桌面进行截屏存成位图,然后将此位图数据传输到远程。
对桌面进行截图需要通过一系列Windows GDI API来完成的。
首先通过CreateDC,CreateCompatibleDC,CreateCompatibleBitmap,SelectObject等API将“DISPLAY”驱动器的设备上下文与位图句柄关联起来。
然后通过GetStockObject,GetDC,SelectPalette等API处理调色板。
最后在一个循环中通过GetDIBits将所有水平线像素数据存入到缓冲区中去。
这个缓冲区就是我们想要的位图数据,只要将这些数据组织一下,就可以当成位图显示出来了。通过连续传输位图,就可以实时对远程屏幕进行监控了。这个过程比较简单,就不浪费文字了。
二、窗口站与桌面
首先必须了解几个重要的概念:
窗口站(WindowsStation)和桌面(Desktop)
是Windows操作系统底层暴露给Windows
API的执行体对象(Windows内部有两种类型的对象:执行体对象和内核对象。执行体对象指由执行体的各种组件如进程管理器、内存管理器等等所实现的
对象。内核对象是由Windows内核实现的一组更基本的对象)。
其中,窗口站对象包含了一个剪贴板、一组全局原子和一组桌面对象。桌面对象是一个被包含在窗口站内部的对象,桌面对象有一个逻辑显示器表面,其中包含了窗口、菜单和钩子。
0 号窗口站(WinSta0)和默认的桌面对象(default
desktop)是有Winlogon进程创建的。窗口站是会话(Session)的下一层组织结构。一个会话可以有多个窗口站,但同一时刻只能有一个窗
口站可以与用户进行交互。每个窗口站有自己的剪贴板,可以有多个桌面。Winlogon进程调用NtUserCreateWindowsStation函
数创建窗口站,再调用NtUserCreateDesktop来创建桌面。它首先会创建一个名为Winlogon的桌面供自己使用(Windows登录界
面就属于属于这个桌面),然后再创建一个名为Default的桌面给应用程序使用。创建完桌面后,Winlogon调用SetActiveDesktop
函数将Winlogon桌面设置为当前的活动桌面。
之后,Winlogon会创建用于管理系统服务的服务管理器
(Service.exe)和本地安全认证子系统(LSASS.exe)。用户登陆信息被验证后,Winlogon会将应用程序桌面激活,启动
UserInit程序,UserInit会运行注册表中定义的登录脚本,然后启动操作系统外壳程序(Shell-默认是explorer.exe)。这是
SYSTEM权限进程和普通用户进程逻辑显示器桌面分离的开始。在以后进程创建CreateProcess的过程中,如果没有指定桌面,那么进程就会与调
用者的当前桌面关联在一起。
在实际测试中,发现services、svchost这些进程似乎没有关联任何桌面(截的屏都是黑屏)。普通
的进程都是Default桌面,登录界面是Winlogon桌面。所以,当dll插入到service.exe等进程中的时候,要想实现截屏必须将进程与
Default桌面关联,用户注销、离开或未登录时就要将进程与Winlogon桌面关联。
Windows给我们提供的一些API允许我们干这些事。
首先可以通过OpenWindowStation打开一个窗口站对象,然后通过SetProcessWindowStation将进程与窗口站关联,通过OpenDesktop打开一个桌面对象,再通过SetThreadDesktop将线程与这个桌面关联。这样service.exe就可以实现截屏了。但如何才能知道当前用户在哪个桌面呢?可以通过下列函数实现:
OpenInputDesktop(DF_ALLOWOTHERACCOUNTHOOK, FALSE,
MAXIMUM_ALLOWED);//打开输入桌面
GetUserObjectInformation(hActiveDesktop, UOI_NAME, pvInfo,
sizeof(pvInfo), &dwLen);
//获取指定桌面对象的信息,一般情况和屏保状态为default,登陆界面为winlogon
pvInfo缓冲区包含的就是当前桌面。这样就可以放心的调用OpenDesktop打开它了。
&進行桌面切換需要有System權限,如果是以服務啟動的話就是了,也可以用注入或其它的方式。
附资料:(转自:http://topic.csdn.net/t//4231020.html)
在winlogon注册了SAS后,就调用GINA生成3个桌面系统,在用户需要的时候使用,它们分别为:
 ◇Winlogon &
桌面用户在进入登录界面时,就进入了Winlogon桌面。而我们看到的登录对话框,只是GINA负责显示的。如果用户取消以“欢迎屏幕”方式登录,在进
WindowsXP中任何时候按下“Ctrl-Alt-Delete”,都会激活Winlogon桌面,并显示图5的“Windows安全”对话框。(注
意,Winlogon桌面并不等同对话框,对话框只是Winlogon调用其他程序来显示的)
 ◇用户桌面 &
用户桌面就是我们日常操作的桌面,它是系统最主要的桌面系统。用户需要提供正确的帐号和密码,成功登录后才能显示“用户桌面”。而且,不同的用户,winlogon会根据注册表中的信息和用户配置文件来初始化用户桌面。
 ◇ & 屏幕保护桌面屏
幕保护桌面就是屏幕保护,包括“系统屏幕保护”和“用户屏幕保护”。在启用了“系统屏幕保护”的前提下,用户未进行登录并且长时间无操作,系统就会进入
“系统屏幕保护”;而对于“用户屏幕保护”来说,用户要登录后才能访问,不同的用户可以设置不同的“用户屏幕保护”。
我们使用用户帐户登录以后,看到的桌面,是WinSta0下的Default桌面
WinSta0下有3个桌面:
WinLogon :当用户登录以后,WinLogon.exe切换到Default桌面.
:这是Explorer.exe和所有用户程序窗口出现的地方,也就是我们通常使用windows看见的地方.应用程序就运行在这个桌面上
Screen saver :系统空闲的时候,运行屏保的桌面.
你们每个用户都有各自的Default桌面,但是WinLogon.exe是运行在winlogon桌面下的系统级进程。
win32k.sys里有对winlogon名字桌面的引用。
Winlogon.exe被所有用户共享一份实例,跟你的普通进程是不同的,你的普通进程只是自己的Default桌面下的各自的进程。
1.会话问题
ProcessIdToSessionId获得自己的会话Id
可以把内核对象强制指定为全局内核对象,就可以在不同会话直接共享了。
创建命名内核对象时加global前缀,CreateXXX(XXX, XXX, "Global\\内核对象名")
内核对象能共享了,进程就可以随意通信了。
2.另一个问题是权限问题
两个会话权限不同的话,低权限没办法打开高权建立的内核对象,即使是全局的
给一个函数,高权限降权内核对象的,调用后低权限打开高权限的对象,之后开始随意共享吧
LPCWSTR LOW_INTEGRITY_SDDL_SACL_W = TEXT("S:(ML;;NW;;;LW)");
BOOL SetObjectToLowIntegrity (HANDLE hObject, SE_OBJECT_TYPE type =
SE_KERNEL_OBJECT)
BOOL bRet = FALSE;
DWORD dwErr = ERROR_SUCCESS;
PSECURITY_DESCRIPTOR pSD = NULL;
PACL pSacl = NULL;
BOOL fSaclPresent = FALSE;
BOOL fSaclDefaulted = FALSE;
(ConvertStringSecurityDescriptorToSecurityDescriptor(LOW_INTEGRITY_SDDL_SACL_W,
SDDL_REVISION_1,
if (GetSecurityDescriptorSacl(pSD,
&fSaclPresent,
&fSaclDefaulted))
dwErr = SetSecurityInfo (hObject,&
LABEL_SECURITY_INFORMATION,
bRet = (ERROR_SUCCESS == dwErr);
LocalFree(pSD);
3.这么做有个问题,就是每个会话里都要有一个你的进程,不太爽
楼上说的方法没试过,学习了,不过看起来也是要在每个会话里都拉进程起来
转自:http://topic.csdn.net/u//0DFD70DD-F5C6-4B5D-96BD-C36E175FC6FD.html
完整代码如下:
BOOL OpenDesktop(LPCWSTR szName)
pvInfo[128] = {0};
tmp[1024] = {0};
&&& if(szName !=
lstrcpy(pvInfo, szName);
hActiveDesktop = OpenInputDesktop(DF_ALLOWOTHERACCOUNTHOOK, FALSE,
MAXIMUM_ALLOWED);
if(!hActiveDesktop)//打开失败
&&&&&&&&&&&&
return FALSE;
//获取指定桌面对象的信息,一般情况和屏保状态为default,登陆界面为winlogon
GetUserObjectInformation(hActiveDesktop, UOI_NAME, pvInfo,
sizeof(pvInfo), &dwLen);
if(dwLen==0)//获取失败
&&& return
CloseDesktop(hActiveDesktop);
//打开winsta0
&&& m_hwinsta =
OpenWindowStation(_T("winsta0"),
FALSE,&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
WINSTA_ACCESSCLIPBOARD&& |
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
WINSTA_ACCESSGLOBALATOMS |
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
WINSTA_CREATEDESKTOP&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
WINSTA_ENUMDESKTOPS&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
WINSTA_ENUMERATE&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
WINSTA_EXITWINDOWS&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
WINSTA_READATTRIBUTES&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
WINSTA_READSCREEN&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
WINSTA_WRITEATTRIBUTES);
(m_hwinsta == NULL){
&&& return
(!SetProcessWindowStation(m_hwinsta)){
return FALSE;
//打开desktop
m_hdesk = OpenDesktop(pvInfo, 0,
FALSE,&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&
DESKTOP_CREATEMENU |
&&&&&&&&&&&&&&&&&&&&&&&&&&&
DESKTOP_CREATEWINDOW |
&&&&&&&&&&&&&&&&&&&&&&&&&&&
DESKTOP_ENUMERATE&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&
DESKTOP_HOOKCONTROL |
&&&&&&&&&&&&&&&&&&&&&&&&&&&
DESKTOP_JOURNALPLAYBACK |
&&&&&&&&&&&&&&&&&&&&&&&&&&&
DESKTOP_JOURNALRECORD |
&&&&&&&&&&&&&&&&&&&&&&&&&&&
DESKTOP_READOBJECTS |
&&&&&&&&&&&&&&&&&&&&&&&&&&&
DESKTOP_SWITCHDESKTOP |
&&&&&&&&&&&&&&&&&&&&&&&&&&&
DESKTOP_WRITEOBJECTS);
if (m_hdesk == NULL){
&& return FALSE;
SetThreadDesktop(m_hdesk);
&& return TRUE;
代码有点乱,将就一下!
上面的代码只是针对service.exe这样的进程,要想做的通用还要再加些代码。
版权声明 作者:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。如何监控局域网内的电脑桌面 局域网内的电脑屏幕如何实现
很多企业,工厂,医院,科研机构等,因为工作需要,需要实时监控局域网屏幕内容。通过对局域网电脑屏幕监控,我们能够实时并直观地了解其它电脑上正在发生的事情。下面以LSC局域网屏幕监控系统为例,介绍如何通过本软件实现以电视墙形式平铺监控局域网内所有电脑屏幕。另外还可以通过本软件远程控制局域网内其它电脑。
3、回到控制端电脑前,我们会发现我们已经能够实时监控刚才那台电脑的屏幕了。此时,我们可以看到那台电脑的桌面上有一个QQ窗口正在进行聊天。
4、在员工电脑上安装被控端软件,安装完成后,按热键Alt+L调出软件,在第一个文本框&控制端IP地址或用户名&处,输入控制端软件标题栏上显示的IP地址并点击确定按钮,如下图所示:
5、当我们同时监控了多台电脑时,可以点击菜单&视图&对监控模式进行切换。我们可以设置为:
仅监控选中的员工的部门:此模式下,当我们选中左边员工列表中的某一位员工时,右边将只监控该位员工,当选择左边员工列表中的一个部门时,右边将只平铺该部门下的所有员工。
电视墙形式监控所有员工:此模式下将会平铺所有的员工进行同时监控。
自动循环监控所有部门/员工:软件将循环监控部门或员工。也就是每过多少秒后,屏幕上将切换其它部门或其它员工进行监控。
17:16:03 17:13:43 17:42:16 17:35:14 15:07:05 15:07:05 15:07:05 15:07:05 15:07:05 08:22:03
Copyright & 2016 Ninxun All Rights Reserved
您讯公司 版权所有}

我要回帖

更多关于 省会城市 水资源 数据 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信