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)



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.96855への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

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