
我需要在運行 ARM32 的 Windows 10 電腦上重置視訊驅動程式。舊的常用快捷鍵(CTRL + SHIFT + WIN + B)有效!是的!並且按預期發出一聲蜂鳴聲,但鍵盤不會始終存在,因此我需要透過軟體來執行此操作。
已經嘗試過:
- 使用 Powershell 將金鑰傳送到 Windows(兩種方法)
- 使用 Visual C++ 應用程式將金鑰傳送到 Windows
- Sendkeys 應用程式公用程式傳送按鍵組合
- 開發者大會?參見下文
- PnpUtil(請閱讀下文)
所有這些都可以在 Windows 上運行(經過測試,是的),但它在 Windows ARM32 上不起作用,並且我沒有收到任何錯誤訊息。 Windows ARM 上的 dll 或任何庫可能不允許這些功能,畢竟我在其他開發線程上發現,它沒有完整的功能,有些地方(官方)甚至提到了實驗性的東西,畢竟 Windows 10 (32位元)從未正式發布,僅發布Windows x64 ARM。
一直在嘗試diff 方法,但每一個方法都迫使我下載大量的資料和庫,以便建立一個小的exe 文件,該文件最終需要1、2、3 個額外的文件,運行時無處可尋,而當找到時......下班後:它不起作用。
開發者大會:這個命令列實用程式可以解決我的問題,但我找不到它。我需要它用於 ARM32,但找不到它的單一連結。找到了源代碼,但是經過幾個小時的 VS++ 調整和我發現的神秘教程後,每次我嘗試構建它並為 ARM32 編譯它時,我總是會遇到一些新錯誤。這個問題與 Windows 驅動程式工具包有關,我在網路上發現了很多人在編譯時遇到問題的線索。據說它包含在 WDK 中,但下載差異集後,我在那裡找不到它。有一些指向x86 和x64 的鏈接,但沒有指向ARM32 的鏈接,微軟的官方文檔說明了獲取它的方法是安裝WDK、Visual Studio 和Windows SDK for Desktop,但是在這樣做之後......(下載、安裝和安裝的時間搜尋)在我的電腦上找不到。
PnPUtil:選項restart-device 應該可以工作,它已被記錄在案,並且自2004 年以來在每個Windows 上都有它(根據MS 文件),但實際上,雖然.exe 存在(在Windows 上),但它沒有此功能(restart-device )所以它不適合我的目的。
任何幫助將不勝感激。
答案1
當我找到答案時,我正在更新這個問題,所以我希望這對其他人也有用。如果您擁有正確的權限和特權,可以使用 Powershell 輕鬆「重置」視訊驅動程式/顯示器。如何?這邊走:
$d = Get-PnpDevice| where {$_.friendlyname -like "NAME-OF-THE-DEVICE*"};
$d | Disable-PnpDevice -Confirm:$false;
$d | Enable-PnpDevice -Confirm:$false
這將禁用該設備,然後再次啟用它,從而產生完全重置。根據您的計算機,螢幕可能會閃爍(或不閃爍),並且可能會觸發「偵測到新硬體」的聲音。
為什麼我需要這個?由於升級到Windows 10的Surface RT1和Surface RT2存在打開幾分鐘後亮度控制禁用的問題,這是官方未發布的Windows版本的錯誤。我在這裡描述的方法有效並且可以完美地實現亮度控制。這可以透過停用/啟用視訊驅動程式或僅停用顯示器(裝置)來實現,如所解釋的,一個會導致閃爍,另一個不會。根據情況,您可能需要先提升 PowerShell 腳本的權限。
我還找到了透過程式碼 (C#) 或 sendkeys 以及其他使用 C++ 的函式庫來實現此目的的其他方法,但這有點混亂。 Powershell 腳本很容易解決了這個問題,然後我只需添加自訂計劃任務即可在醒來時觸發。
就是這樣。