2011-01-26 2 views
2

Как программно запускать Flip 3D в Windows Vista и 7?Как программно запускать Flip 3D в Windows?

Есть ли API для этого, и если да, то что он называется и где я могу найти соответствующие функции? (Мне нужен конкретный ответ, например, веб-ссылка на фактические функции, а не что-то общее, например «О, это в DirectX».)

На связанном узле у меня есть мышца Logitech с «флип документа», который вызывает Flip 3D (а затем я могу нажимать клавиши вверх/вниз для просмотра результатов.) Мне любопытно, если они используют официальный Windows API или если происходит хакерство на низком уровне.

ответ

5

вам нужно запустить функцию из dwmapi

К сожалению, нет правильного названия Funktion только ог номер 105

Вы можете попробовать это, выполнив %WinDir%\System32\rundll32.exe dwmapi #105 из Run-диалога или ЦМДА.

редактировать ива узнал, API GetProcAddress функция в Windows' принимает ORD-номер (105) в качестве второго параметра, а также имя собственного

lpProcName [в]
функция или имя переменного , или порядковое значение функции. Если этот параметр является порядковым значением, он должен быть в младшем слове; слово высокого порядка должно быть нулевым.

поэтому используйте этот код

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

Отлично, спасибо! Вы когда-нибудь использовали JNA? Как вы это делаете в JNA? Это не кажется сразу очевидным, потому что нет имени функции, только числа, и я не вижу эквивалента GetProcAddress для JNA. В любом случае я принимаю этот ответ. (Я могу узнать JNA рано или поздно, если вы не знаете ответа.) – artif

Смежные вопросы