English 中文(简体)
视窗服务程序简介
原标题:Screenshot of process under Windows Service
  • 时间:2009-09-18 17:10:47
  •  标签:

我们必须从窗户服务中受益,并从中抽取。

我们尝试了BitBlt和BulWindow Win32的电话,但两者都提供空白(黑色)的笔标。

如果我们从正常的用户程序操作我们的代码,它就行得当。

这是否甚至有可能? 还有一种方法可以尝试?

我们尝试的情况:

  1. Windows service running as Local System, runs process as Local System -> screenshot fails
  2. Windows service running as Administrator, runs process as Administrator -> screenshot fails.
  3. Windows application running as user XYZ, runs a process as XYZ -> screenshot works with both BitBlt or PrintWindow.
  4. Tried checking "Allow service to interact with desktop" from Local System

我们还注意到,“彩礼”对我们来说是更好的工作,如果窗户落在另一个窗户后面,它就会发挥作用。

对于其他要求,父母和儿童过程都必须在同一用户之下。 我们不能真正使用从一个过程到另一个过程的冒犯。

最佳回答

我认为这是不可能的。

我们不得不改变我们的假设,即我们的申请是从服务开始的,而是一个标准窗口方案,在玉米有“通知”。

如果有人仍然找到真正的答案,让我知道。

问题回答

目前,我可以找到相应的链接,但问题是,窗口服务在另一届会议上的运行超过了正常用户应用。

在XP中,情况并不完全。 在这里,第2场会议开始提供的所有服务,第1场将进入该系统的用户也将参加第2场会议。 因此,在这方面,诸如低服务,与 desktop/>工作互动。 但是,如果你迅速转向另一个用户,那么他就会获得第1届会议,并且没有机会直接与服务部门互动。 如果你通过区域发展方案与服务器版本(如2003年或2008年)连接起来,情况也是如此。 这些标识也将在高于0年的届会上开始。

Last but not least there is another drawback by using the interaction with the desktop:
If you enable this option and your service is running under the (default) SYSTEM account it won t be able to create a network connection anymore.

采用一种与服务合作的习俗“全球倡议”的正确方式是将其分成两个过程,并从事某种类型的国际独立调查委员会(机构间程序通信)。 因此,这项服务将在机器上台时启动,全球倡议申请将在用户会议上启动。 在此情况下,全球倡议可以制作一个屏幕,将其发送到服务处,无论你喜欢什么。

你们是否试图将“低级服务”作为当地系统进行核对?

它利用地方系统“低级服务与台式互动”

您可以按计划使用这一样本代码:

http://www.vbforums.com/showthread.php?t=367177 (i s vb.net,但非常简单)





相关问题