2016-10-18 80 views
3

我想寫一個代碼,它能夠在引導階段(當Autochk運行時)捕獲屏幕並寫入文件。什麼是最好的方法?如何在啓動階段捕獲屏幕(當Autochk運行時)?

從我所知道的這個階段只有ntdll.dll可用...所以我們可以使用這個本地API來打開鏡像驅動程序來獲取屏幕數據。但是,爲了從鏡像驅動程序獲取數據,我們需要尚未提供的GDI庫。我該怎麼辦?

+0

在這一點上,屏幕是否處於文本模式? –

+0

我認爲它已經切換到圖形模式,但打印內容只是文本 – user3567728

+0

這不是C或C++相關的問題。請不要標記它們。 –

回答

0

主要問題是Windows在當時運行Windows代碼,而不是你的。 (磁盤)驅動程序可能有一個例外,但是因爲您正在討論調用Win32 DLL並不重要。你不能從驅動程序調用GDI。此外,爲什麼你的司機會被首先打電話?驅動程序對OS請求作出反應以處理特定事件。

+1

我們可以在Autochk之前註冊一個在啓動時運行的應用程序,這個應用程序將fork另一個進程並退出當前。所以Autochk和其他應用程序可以運行。另一個進程將定期調用驅動程序來獲取屏幕數據並保存到磁盤。 – user3567728