2011-01-26 55 views
2

如何在Windows Vista和7上以編程方式觸發Flip 3D?如何以編程方式在Windows上觸發Flip 3D?

是否有一個API,如果是這樣,它叫什麼,我在哪裏可以找到相關的功能? (我需要一個特定的答案,例如實際功能的網頁鏈接,而不是通用的「哦,它在DirectX中」。)

在相關節點上,我有一個Logitech鼠標,它具有「文檔翻轉」按鈕,調用Flip 3D(然後我可以按上/下鍵翻頁結果。)我很好奇他們是否使用官方的Windows API或者是否存在一些低級別的黑客行爲。

回答

5

你需要從dwmapi

運行功能可悲的是沒有適當的Funktion名只有ORD-數105

您可以通過從運行對話框或CMD執行%WinDir%\System32\rundll32.exe dwmapi #105嘗試。

編輯 IVE發現了Windows的API GetProcAddress函數接受ORD號碼(105)作爲第二參數以及適當的名稱

lpProcName [IN]
函數或變量名,或函數的序數值。如果此參數是序數值,則它必須位於低位字中;高位字必須爲零。

所以用這個代碼

 
typedef vois (__cdecl *FlipProc)(); 
HINSTANCE hDwmApi = LoadLibrary(TEXT("dwmapi.dll")); 
FlipProcAdd = (FlipProc) GetProcAddress(hDwmApi, (LPCSTR)105); 
(FlipProcAdd)(); 
+0

優秀的,謝謝!你有沒有使用過JNA?你如何在JNA做到這一點?它似乎並不明顯,因爲沒有函數名稱,只有一個數字,而且我沒有看到JNA的等效的GetProcAddress。無論如何,我接受這個答案。 (如果你不知道答案,我遲早會找出JNA的。) – artif 2011-01-26 23:36:48

相關問題