困っていること
VPSでWindows RDP経由で画面キャプチャを取るスクリプトを動かした際、「実際にローカルからRDPでアクセスしている時しか」キャプチャが取れません。
以下、適当なコードです。ローカルからRDPでアクセスして、動かすときちんと動作しますが、RDPで画面を描画していない状態で、タスクスケジューラでキャプチャを取ろうとすると、うまく動きません。
python
1from PIL import ImageGrab 2 3# ローカルからリモートデスクトップにアクセスしているときしか動かない 4ImageGrab.grab().save('desktop.jpg')
実際に画面を起動しないと画面の描画が行われていないのでしょうか?
VPSのWindowsのタスクマネージャーを見ると、「デスクトップウィンドウマネージャ」というのが動いているので、これがヒントになるような気がするのですがどうでしょうか。。これをpythonで強制的に立ち上げて、、実際に画面を表示していなくても、画面描画されている状態を作るようなことは技術的に可能でしょうか?
やりたいこと
ディスプレイサイズを指定した上で、デスクトップを描画し、それを上記コードで画面キャプチャする
ヒントを頂けますと幸いです。
よろしくおねがいします。
あなたの回答
tips
プレビュー