質問編集履歴
1
わかりにくい表現を修正しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,27 +1,21 @@
|
|
1
1
|
## 困っていること
|
2
|
-
VPSで
|
2
|
+
VPSでWindows RDP経由で画面キャプチャを取るスクリプトを動かした際、「実際にローカルからRDPでアクセスしている時しか」キャプチャが取れません。
|
3
3
|
|
4
|
-
|
4
|
+
以下、適当なコードです。ローカルからRDPでアクセスして、動かすときちんと動作しますが、RDPで画面を描画していない状態で、タスクスケジューラでキャプチャを取ろうとすると、うまく動きません。
|
5
5
|
|
6
|
-
以下、適当なコードです。Lineの部分はとりあえず、プログラムが動いていることを確認するために書いているだけです。
|
7
|
-
|
8
|
-
|
9
6
|
```python
|
10
|
-
from line import Line
|
11
7
|
from PIL import ImageGrab
|
12
8
|
|
13
|
-
# 起動の確認
|
14
|
-
line = Line()
|
15
|
-
line.send_message("プログラム起動はOK")
|
16
|
-
|
17
9
|
# ローカルからリモートデスクトップにアクセスしているときしか動かない
|
18
10
|
ImageGrab.grab().save('desktop.jpg')
|
19
11
|
```
|
20
12
|
|
21
|
-
|
13
|
+
実際に画面を起動しないと画面の描画が行われていないのでしょうか?
|
22
14
|
|
23
|
-
Windowsのタスクマネージャーを見ると、「デスクトップウィンドウマネージャ」というのが動いているので、これがヒントになるような気がするのですが。。
|
15
|
+
VPSのWindowsのタスクマネージャーを見ると、「デスクトップウィンドウマネージャ」というのが動いているので、これがヒントになるような気がするのですがどうでしょうか。。これをpythonで強制的に立ち上げて、、実際に画面を表示していなくても、画面描画されている状態を作るようなことは技術的に可能でしょうか?
|
24
16
|
|
17
|
+
|
18
|
+
|
25
19
|
## やりたいこと
|
26
20
|
|
27
21
|
ディスプレイサイズを指定した上で、デスクトップを描画し、それを上記コードで画面キャプチャする
|