HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2022
0726
カプサイシンDLLの名前無し関数を序数で利用したい(XInput)1解決


カプサイシン

リンク

2022/7/26(Tue) 11:25:08|NO.96855

DLLに名前無し(NONAME)でエクスポートされた関数をHSPで利用することは可能でしょうか。

ゲームパッドのボタン情報をXInput1_3.dllのXInputGetStateを利用して取得しています。
この関数ではXINPUT_GAMEPAD構造体にボタン情報が格納されますが、ガイドボタン(XBoxボタン)が含まれていません。
調べたところ、非公開APIであるXInputGetStateEx(仮名)ではガイドボタンを含むボタン情報をが取得できるようなのですが、名前のない関数となっているため#funcで利用することができません。
序数値からHSPで関数を利用できるようにする方法はありますでしょうか?

参考サイト
https://sites.google.com/site/0dd14lab/xinput-plus/xinput_techmemo?overridemobile=true



この記事に返信する


カプサイシン

リンク

2022/7/26(Tue) 12:46:06|NO.96856

自己解決しました


#uselib "kernel32.dll" #cfunc LoadLibrary "LoadLibraryA" sptr #cfunc GetProcAddress "GetProcAddress" int,sptr hDll = LoadLibrary("xinput1_3.dll") pfn = GetProcAddress(hDll, 100) //GetProcAddressEx arg1, arg2 arg = arg1, varptr(arg2) ret = callfunc(_arg, pfn, 2)



ONION software Copyright 1997-2023(c) All rights reserved.