Win32API質問箱 Build124

■ このスレッドは過去ログ倉庫に格納されています
2017/11/11(土) 19:23:00.69ID:TpLoCFAx
Win32APIについての質問はこちらへどうぞ。

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
 英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで

■過去スレ
Win32API質問箱 Build123
http://mevius.2ch.net/test/read.cgi/tech/1475897582/
Win32API質問箱 Build122
http://echo.2ch.net/test/read.cgi/tech/1451988219/
Win32API質問箱 Build121
http://echo.2ch.net/test/read.cgi/tech/1438695290/
Win32API質問箱 Build120
http://echo.2ch.net/test/read.cgi/tech/1428570962/

■関連スレ
Visual Studio 2017 Part4
http://mevius.2ch.net/test/read.cgi/tech/1509244956/
【C++】 DirectX初心者質問スレ Part40 【C】
http://mevius.2ch.net/test/read.cgi/tech/1474782237/
290デフォルトの名無しさん
垢版 |
2018/04/10(火) 16:48:11.15ID:La3PY+dC
この辺かな
https://qiita.com/funatsufumiya/items/c2a009a300ecdc88247a
もう古いって言われるかも知れんが
2018/04/10(火) 16:50:37.00ID:hrbxCJ/r
>>289
すばやい返答ありがとうございます

軽く検索みてみたらGUIみたいなのがたくさんでてきます
サンプルコードが一切でてこないですけど
プログラムの中にうめこむライブラリとしてつかえるものなんでしょうか?
2018/04/10(火) 16:51:39.43ID:hrbxCJ/r
>>290
分かりやすいサイトありがとうございます
サンプルコードがあるので読んで見ます
293デフォルトの名無しさん
垢版 |
2018/04/10(火) 16:53:47.39ID:La3PY+dC
あとフィルタはたぶんこっち
https://docs.microsoft.com/en-us/windows-hardware/drivers/audio/windows-audio-architecture
https://msdn.microsoft.com/ja-jp/library/windows/desktop/dd317589(v=vs.85).aspx
https://msdn.microsoft.com/ja-jp/library/windows/desktop/dd375473(v=vs.85).aspx
がんがれ
2018/04/10(火) 19:08:17.02ID:n4pH5xN4
必要なのはVSTじゃなくて仮想デバイスドライバの作成方法なんじゃないのか?
295デフォルトの名無しさん
垢版 |
2018/04/11(水) 00:11:41.02ID:5V3NvSPI
そだねーJap
2018/04/11(水) 01:33:21.32ID:nGNQyhwo
vst 経由なら vst skype とかでググればやり方は見つかるし
2018/04/11(水) 16:45:30.30ID:oc5yP9in
自アプリで簡単な手書きメモ機能があるのですが、Win10タブレット端末でペン操作すると
うまく文字が書けません。
短い線が書けない感じです。

恐らくマウス周りのメッセージの代わりに WM_GESTURE 系メッセージが来ていると思うのですが、
真っ当にこれらのメッセージを処理するのではなく、自アプリではこれまで通りマウス処理しかしない
と何らかの方法で設定・宣言することによってペン・タッチ操作関連のメッセージを来なくすることは
可能でしょうか?

OSレベルで全体的にこの機能をOFFにすることは可能なようですが、自アプリだけこれを適用できれば
と思っています。
よろしくお願いします。
2018/04/11(水) 19:46:07.75ID:xs6mCoGI
自アプリだろ?要らないメッセージ無視すりゃいいじゃん
2018/04/11(水) 21:23:09.60ID:4xNEGOrU
>>297
使ったことないけど
WM_TABLET_QUERYSYSTEMGESTURESTATUS
で色々disableしてあげれば良いんじゃないだろうか
2018/04/11(水) 21:31:47.99ID:4xNEGOrU
ほかに .Net だとメッセージフィルターでWM_POINTERDOWN / UP を無視するなんてやり方を紹介している人も多い
301デフォルトの名無しさん
垢版 |
2018/04/11(水) 23:34:57.38ID:HwL4BRgS
フルボッコすぎる
2018/04/12(木) 13:06:30.81ID:S0A11kDt
https://teratail.com/questions/121464?sip=n0070000_019&;uid=11595

早く返事が来ないかな。ワクワク
303297
垢版 |
2018/04/12(木) 17:22:14.25ID:1t6GyJnt
一応分かりやすく画像で状況を補足します。
http://imgur.com/pvaetNV.png

ペンでタッチ(押下)したときに、画像左側の◎印が出ます。
この◎印の中でぐりぐり動かしても何も描画できません。
(既存処理のWM_LBUTTONDOWN〜WM_MOUSEMOVEの流れでの描画処理が実行されない)

この◎印からはみ出すようにペンを動かした瞬間、描画処理が働き出し、◎印が薄くなっていき消えます。
やりたいことは、◎印内でも描画させたいです。
現状では点などが描けませんので、例えば「う」だと上の部分が描きにくくて「つ」と描いてしまうことが多いです。

>>298
>>300
WM_POINTERDOWN / UP を含む、その他思い付く関連メッセージを無視するように試してみましたが、
ペン入力自体ができなくなりました。

>>299
WM_TABLET_QUERYSYSTEMGESTURESTATUS で色々disableも試してみましたが、
TABLET_DISABLE_PRESSANDHOLD を返した時に◎印の表示はなくなりました。
しかし、描画に関しては変化無くその領域に相当する部分からはみ出ないと描画できません。

WM_POINTERDOWN 等のメッセージが来たら WM_LBUTTONDOWN を投げる等試してみましたが
状況が変わりません。

WM_TOUCH 系の処理を追加すれば対処はもちろん可能でしょうが、簡単に既存処理を生かせる方法が
ないものか、情報をお持ちの方よろしくお願いします。
2018/04/12(木) 17:59:17.97ID:S0A11kDt
インクとジェスチャーの両方が必要ということかな。
2018/04/12(木) 18:22:16.36ID:nMaemNOx
いやゼスチャの判定が優先されるから少し動かさないと WM_LBUTTONDOWN とかが来ないんだよ
それを簡単にマウスの時と同様すぐメッセージが来る動作にできないか、という話

ゼスチャ無効化してもダメとは面倒な話だよね
2018/04/12(木) 19:12:40.30ID:S0A11kDt
今日の収穫は、OLEオートメーションがめちゃややこしいことがわかっただけだ。
2018/04/12(木) 19:15:03.07ID:S0A11kDt
言語でネイティブにサポートされたヴァリアント型があればもっと簡単なんだが。
30841
垢版 |
2018/04/12(木) 19:19:31.30ID:gePCm00Z
そもそもマウスとジェスチャー分ける必要あったんかいな
軌跡はないが矛盾はしないだろうに
309名無し@キムチ
垢版 |
2018/04/12(木) 19:35:21.15ID:jXGrykA6
コンソールのmain関数のコマンドライン引数argv、argcを引数にとる関数があるのですが、
これはwinmain関数内でも使えますか?
その場合argv、argcの代わりにcommandshowとcommandlineを引数にする必要があるとおもうのですが、
どのようにすればエラーが出ずにargv、argcをcommandshowとcommandlineに変換できますか?
よろしくお願いいたします。
2018/04/12(木) 19:43:37.70ID:ZuhK/vm7
__argc、__argvでアクセスできる
311名無し@キムチ
垢版 |
2018/04/12(木) 19:45:08.29ID:jXGrykA6
>>310
ありがとうございます。
早速それでやってみます。
2018/04/12(木) 19:45:11.97ID:ifFSa3KQ
>>309
なんかどっちに変換したいのかよくわからんが
__argv、__argc、GetCommandLineW、CommandLineToArgWあたりで調べてよきにはからへ
2018/04/12(木) 20:12:39.23ID:ofGuXLCP
>>303
そんな古臭いメッセージ処理せずに、下記のメッセージで処理したら?
WM_POINTERDOWN: WM_POINTERUPDATE: WM_POINTERUP:
win8以降しか対応してないけどな。xp/vista/7とかでタッチパネルの処理は切り捨て推奨
2018/04/12(木) 21:38:47.94ID:Cv0USnCZ
旧来のアプリなんかタッチやフリックに対応してるわけないのに、そんなアプリに対してそれらのメッセージを投げつけて
マウス関連のメッセージを投げないという仕組みがMSらしいというか融通が利かないというか、バカバカしいな。
タッチやフリックを要求するアプリのみにそれらのメッセージ投げるだけでいいのに。

旧来アプリでも旧来アプリなりにペンタッチで動くようにすりゃ、裾野も広がりやすいだろうにな。
315297
垢版 |
2018/04/12(木) 22:59:34.36ID:1t6GyJnt
ちょっと古いシステムなのでそのままちょっと直すだけで動かないものかと
試行錯誤していました。

313さんの仰る方向でも試行錯誤を続けていたのですが、既存プログラムの
出来がおかしいのか今のところうまく行っていません。
理屈で言えばうまく行くはず・・・なので、このまま調整を続けようと思います。

皆さんありがとうございました。
2018/04/12(木) 23:04:18.01ID:ifFSa3KQ
>>314
いやタッチのメッセージを処理しなけりゃ普通にマウスのメッセージにフォールバックはされるぞ
マウスメッセージのみで手を抜きたいけど目的の品質の届かないって趣旨の質問じゃろ
317297
垢版 |
2018/04/12(木) 23:33:07.34ID:1t6GyJnt
>>316
上でも書きましたが、タッチのメッセージを処理しないようにすると
ペン入力自体全くできなくなりました。
2018/04/12(木) 23:44:04.43ID:fS8U0BFZ
関係あるんだかないんだかはわからんが
EnableMousePointer なんて api があるな
2018/04/12(木) 23:59:24.17ID:ifFSa3KQ
Surfaceでしか確認してないけどそういやFCUだかでペンのスワイプの既定が
カーソル移動からスクロールに変更されてたなあ
そのへんが原因かもね
320297
垢版 |
2018/04/13(金) 02:19:42.71ID:4MPC6lcI
>>318
ありがとうございます。
飛びついてみましたが、変化ありませんでした。
逆の考え方で、マウスをポインティングデバイスとして使うためのものかも知れませんが、
マウス操作しても前と変わらずでした。
もしかするとマウスでフリック操作などができるようになるのかも?という気がしますが、
そのような自作アプリがないのでこれ以上は分かりません。(なお、デフォでDisableが設定されていた)


整理しますと、現状>305さんの仰るとおり、ペンでタッチして少し動かせばマウスメッセージが
飛んでくるという状況です。

すっごく古いお絵かきアプリを複数引っ張り出してみましたが、基本的に同じ挙動でした。
描きやすさに多少の差異は見られましたので工夫の余地はあるものの、根本的には
WM_POINTER 系統か WM_TOUCH 系統への対応が必須のようです。

色々アドバイスいただき、皆さんありがとうございました。
321313
垢版 |
2018/04/13(金) 10:24:16.60ID:MklDTzxh
タッチパネルのみのメッセージであるWM_POINTERで、必要なイベントを自分で加工してPostMessageかSendMessageを使って WM_MOUSEMOVE,WM_LBUTTONDOWN,WM_LBUTTONUP:とかに投げればマウス部分の従来の処理でそのまま動くんじゃね?
マウスっぽく処理するならタッチIDを保存して判別したほうがいいな
WM_TOUCHは使ったらダメだと思う昔それで不具合があってハマった記憶がある。
void SingleTouch(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
// WM_POINTERDOWN: case WM_POINTERUP: case WM_POINTERUPDATEの共通処理
static UINT pointerID=0; // ポインタIDを静的に保存しておく
POINTER_INFO info = { 0 }; // ポインタの情報を毎回初期化
UINT contactId = GET_POINTERID_WPARAM(wParam);GetPointerInfo(contactId, &info); // ポインタの情報を得る
ScreenToClient(hWnd, &info.ptPixelLocation); // クライアントの座標で使うならローカル座標に変更
lParam = MAKELPARAM(info.ptPixelLocation.x,info.ptPixelLocation.y); // PostMessage用のlParamを作成
// 個別処理、同じpointerIDを判別をしないと10点タッチとかで酷いことになるw
switch(message){
case WM_POINTERDOWN: if(0==pointerID){pointerID=info.pointerId;PostMessage(hWnd,WM_LBUTTONDOWN,0,lParam);}break;
case WM_POINTERUP: if(pointerID == info.pointerId){pointerID=0;PostMessage(hWnd,WM_LBUTTONUP,0,lParam);}break;
case WM_POINTERUPDATE:if(pointerID == info.pointerId){PostMessage(hWnd,WM_MOUSEMOVE,0,lParam);}break;
}
}

LRESULT WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)のswitch(message)で下記を追加
case WM_POINTERDOWN: case WM_POINTERUP: case WM_POINTERUPDATE: SingleTouch(hWnd,message,wParam,lParam);break;
2018/04/13(金) 10:47:38.98ID:bFIkQBXO
タブレット持ってないからわかんないけどさ
>>303の◎ってOSが出してて、OS自体が入力を拒んでるんじゃないのか?
だとしたらどのモジュールがその処理してるのか調べてその処理置換してwindows自体の挙動を変える必要があると思う
2018/04/13(金) 10:49:29.00ID:bFIkQBXO
処理置換しなくてもrawinputだとか入力関連のapi叩いても盗れる可能性あるか
2018/04/13(金) 11:35:55.96ID:UdLtdLwz
>>323
取る方法はいくらでもあってドキュメント化もされている
今回の質問は簡易なコードでマウスと同様の動作をさせる方法は無いか?ということ。
2018/04/13(金) 11:58:28.35ID:bFIkQBXO
◎の中はメッセージ来ないから困ったって質問かと思ったんだが違ったのか
わかんないもんに口出すべきじゃないなw
326313
垢版 |
2018/04/13(金) 12:15:36.03ID:MklDTzxh
書き忘れてた。WM_TOUCH系の初期化すると◎のジェスチャーとか、不具合でるよ。
初期化しないで、321のコード実装してみたらいいと思う。
2018/04/14(土) 00:16:48.20ID:a7yPR2Rx
サーバー上のファイルを編集中に、他人からの全てのアクセスを禁止したいのですが
CreateFileでdwShareModeを0にすれば排他制御は万全だと思いますか?
良い方法があれば教えてください。
328327
垢版 |
2018/04/14(土) 00:22:28.28ID:a7yPR2Rx
補足。クライアントからサーバー上のファイルを編集するときです。
329デフォルトの名無しさん
垢版 |
2018/04/14(土) 02:38:22.36ID:lnTeyTPJ
deleteされちゃいますよ
2018/04/14(土) 06:15:46.39ID:fnoJLpZQ
linux やわunix サーバなら消されちゃうかもね
331327
垢版 |
2018/04/14(土) 18:14:56.59ID:a7yPR2Rx
編集完了までCloseHandleしなければdelete出来ないんじゃないでしょうか。悪意のある攻撃者はいないとして。

私が心配しているのは、一つのファイルに対して、複数のクライアントから同時に排他Open(CreateFile)が
発生したとして、複数のクライアントで排他Openが成功してしまう可能性があるんじゃ無いかって事です。
2018/04/14(土) 18:23:06.50ID:s4TUpiI7
>>331
Open/Close は排他ロックにならない、ときいたことがある
333327
垢版 |
2018/04/14(土) 18:32:55.41ID:a7yPR2Rx
>>332
そうですか、、
小さいシステムなので、サーバ側プロセスまで作りたくないなーと思ってたんですが。
2018/04/14(土) 20:04:17.98ID:fnoJLpZQ
smb なら排他的にロックされる
2つのクライアントが矛盾する共有モードでファイルをオープンしたり削除したりはできない。

https://docs.microsoft.com/en-us/rest/api/storageservices/managing-file-locks

smb のサーバが linux や mac で、その os などから smb 以外の方法で
ファイルを変更、削除したりは可能だけどこれはどうしようもない

もしも目的が他のクライアントにエラーを返すとこでなく
書き終わった時点でアプリが書いた内容になっていることを保証したい
(書いている途中のファイルを読まれないように)だけなら
別名のファイルを作って書き終えたところで MoveFile するというよくある手法もある。
2018/04/14(土) 20:19:46.84ID:fnoJLpZQ
上のurlはazureのドキュメントだけどsmbでWindowsサーバなら同じ仕様だと思う
336327
垢版 |
2018/04/14(土) 21:05:12.23ID:a7yPR2Rx
>>324
私にsmbはちょっと難易度高杉のようです。
妥協 or 違うアプローチを考えてみます。
337名無し@キムチ
垢版 |
2018/04/14(土) 21:10:19.87ID:ywXYi+/7
質問です。
glutを使ったプログラムで、描画の後ダブルバッファ交換のglutSwapBuffers();を入れると、
windowの画面が真っ白になってしまって何も表示されなくなるのですが、どうしたらいいですか?
2018/04/14(土) 23:46:15.72ID:fnoJLpZQ
>>336
Windows の標準ファイル共有プロトコルSMBを用いて接続している
ファイルサーバ上のファイルなら
CreateFile の共有モードでロックができるということです。
2018/04/15(日) 00:06:05.13ID:G47pMzYo
>>338
なるほど。でしたら概ねロックできそうです。
ごく少数のクライアントは無料のVPNツールでLAN外からサーバーにアクセスしているんですが
これもSMBプロトコルなのかどうかは調べてみます。
情報ありがとうございました。
340デフォルトの名無しさん
垢版 |
2018/04/15(日) 10:41:11.68ID:E1b18XLI
>>337
どこに描いたの?
何を表に持ってきたの?
341名無し@キムチ
垢版 |
2018/04/15(日) 21:45:37.16ID:X4sBLOS0
Windowsのコールバック関数の中のWM_PAINTにダイレクトXの描画処理を書くと、エラーが出て実行されないのですが、どうしてですか?どうしたらいいですか?
2018/04/15(日) 21:53:50.01ID:qZPDSYA2
まず全裸になります
343デフォルトの名無しさん
垢版 |
2018/04/15(日) 22:41:41.98ID:UX4y5Mn1
使わなくてもいいからDCだけ確保
2018/04/15(日) 23:01:26.11ID:+Hw5szkB
ドリームキャスト手に入れるのは大変そうだ
345デフォルトの名無しさん
垢版 |
2018/04/15(日) 23:27:51.27ID:xpwShDOv
ぴぴん
2018/04/15(日) 23:37:59.49ID:qZPDSYA2
dc1 = beginpaint
dc2= getdc
dc2= releasedc
dc1=endpaint
2018/04/16(月) 08:23:21.50ID:5yp4kCb0
>>344
MDが復刻されるらしいじゃん。
上手くいけばSSやDCも行けるよ。
348デフォルトの名無しさん
垢版 |
2018/04/16(月) 09:43:27.45ID:75OnkAat
カードキャプターさくら
349名無し@キムチ
垢版 |
2018/04/17(火) 18:57:41.86ID:nz/ieMrf
初歩的な質問ですが、fgxsdkを使ったプログラムと、openGLを使ったプログラムをつくりましたが、
どちらか片方づつだけしか使えません。ひとつのプログラムで両方使おうとするとエラーが出てしまいます。
どうしてそうなるのですか?またどうすればいいのですか?
350デフォルトの名無しさん
垢版 |
2018/04/18(水) 00:45:47.24ID:lRwbg5zI
バッファを上書きしないように気を付ける
351297
垢版 |
2018/04/19(木) 18:13:16.20ID:o7VdbXqH
297ですが、WM_POINTER 系を WM_LBUTTON や WM_MOUSEMOVE に
投げることで無事解決しました。
WM_POINTER 系はスクリーン座標、マウス関連はクライアント座標という
不一致の整合性を取ることと、ペン操作中の描画がされないので
UpdateWindow を随時実行すること、あとは WM_POINTER 系の処理後に
DefWindowProc は実行しないことで快適に動作するようになりました。
(描画については元の作りが甘いのが原因かもですが)

>>321
色々とありがとうございました。
取りかかりが遅くなりましたが、おかげさまで対応できました。
352297
垢版 |
2018/04/19(木) 18:16:39.64ID:o7VdbXqH
> WM_POINTER 系を WM_LBUTTON や WM_MOUSEMOVE に
> 投げることで無事解決しました。

なんか変ですね。

WM_POINTER 系処理時に、併せて適切な WM_LBUTTON や WM_MOUSEMOVE
も SendMessage or PostMessage で送信することで無事解決しました。
2018/04/21(土) 17:47:35.10ID:h8C5n4IB
surfaceのペンの筆圧などの情報を取得したい場合、何というキーワードで調べるべきですか?
2018/04/21(土) 17:53:19.89ID:9EumPI9y
>>356
SurfaceはWin32APIを使いません。代わりにWindows RTを使います。
2018/04/21(土) 18:05:27.99ID:h8C5n4IB
言葉足らずかも知れません。
surface proのペンの情報もwindows rtですか?
2018/04/21(土) 18:18:24.59ID:gTRsxGnx
>>353
直前までのスレの話題がそのまんまなんだがなあ
とりあえずこのへんを満遍なく読んでおきなさい
https://msdn.microsoft.com/en-us/library/windows/desktop/hh454916.aspx
ちなみに筆圧/傾きは基本的にGetPointerPenInfo系


片山は馬鹿だから無視しとけ
2018/04/21(土) 18:24:09.27ID:h8C5n4IB
ありがとうございます。
2018/04/26(木) 08:01:02.21ID:qK0Tcf+m
>>356
筆圧取得できました。

ペンだけでなくタッチもわかったのはとてもありがたい。
今後の課題は筆圧の最大値の取得、座標のズレの解決だ。
lParamからx,y座標取得してスクリーン座標からクライアント座標に変えたけど最大4pxぐらいずれてる(気がする)
359デフォルトの名無しさん
垢版 |
2018/04/26(木) 16:08:09.24ID:obVS20md
ありがとうございます。
2018/05/09(水) 10:38:44.80ID:urlL8t0C
https://docs.microsoft.com/en-us/windows/arm/

ハードが高杉て買えません
2018/05/11(金) 00:47:31.66ID:jtnkDrxN
WiXでディレクトリを作ってCreatorOwner(S-1-3-0)にアクセス権設定してみたら
プロパティのアクセス許可エントリにに"CREATOR OWNER"というグループが出てきた。
こんなの初めて見た。
362デフォルトの名無しさん
垢版 |
2018/05/11(金) 10:36:48.86ID:eFEUpfi5
へ?
2018/05/11(金) 20:07:56.91ID:jtnkDrxN
saclsなんかでS-1-3-0を指定しても実在の所有者のSIDに置き換わるじゃん。そもそもそのためにあるわけだし。
ACLには入らないものかと思ってた。
2018/05/11(金) 21:00:03.68ID:KUxDXsAg
ん?
365デフォルトの名無しさん
垢版 |
2018/05/12(土) 11:03:35.97ID:yo5m8R46
何十年も経ってるのに今更初めてとか
2018/05/12(土) 13:23:12.21ID:Wuy9HJPF
何十年てなんぞ?
2018/05/14(月) 00:22:00.59ID:VV/fGzO7
ゲームの効果音を鳴らすのにmciSendCommandで鳴らそうとすると
一瞬画面が固まるので別スレッドで再生するようにしたのですが改善せず固まります。

以下のサイトの別スレッドで動かす例も試しましたがメインループが1秒に1回しか実行されません。
ttp://eternalwindows.jp/winmm/mci/mci02.html

DirectSoundを使うしか画面が固まるのを回避する方法はないでしょうか?
2018/05/14(月) 08:42:54.37ID:YOvAeQk/
鳴らす毎に固まるん?
ロード画面とかでオープンだけ先にやっておいて
後は鳴らし終わったら最初にシークしてまた鳴らしたらいいんでない?
的外れてたらごめんな
369367
垢版 |
2018/05/14(月) 09:10:04.81ID:Yo4sXSf8
すみません。自己解決しました。
キーが連続して入力されたと判定されないように
前回から0.1秒以下の間隔で入力されたキーを無視する部分で
レンダリングまで無視してしまっていました。
370デフォルトの名無しさん
垢版 |
2018/05/14(月) 13:32:12.89ID:dnGRWxRE
>>367
waveout
2018/05/14(月) 15:03:48.05ID:YOvAeQk/
ズコー
372367
垢版 |
2018/05/14(月) 19:29:13.78ID:TSV87Y/E
度々すみません。
音の再生で画面が固まらないようには出来たのですが、
オープン、シークを事前に行っておいても再生までに少し時間がかかってしまいます。
例えばクリックでクリック音を鳴らせるようにすると、クリックを連打した時に鳴らなくなってしまいます。
クリック音は1フレーム目から音が鳴るように調整済みで、高速化のためwavファイルにしてあります。
core i5 8250u, m.2 ssdの環境で最適化ビルドでも再生まで0.2秒以上かかります。
mcisendcommandを高速に動作させる方法はないでしょうか?
2018/05/14(月) 19:57:29.23ID:9wWfcYFS
MessageBeepでは?
2018/05/14(月) 22:23:19.23ID:Zf7UDWDq
sndPlaySoundでは?
2018/05/15(火) 08:42:15.75ID:RLKB0pPy
まさかのWM_LBUTTONUP?
2018/05/15(火) 09:35:21.30ID:iduN+0hu
>>372
ないんじゃない?
2018/05/15(火) 11:24:49.27ID:iNTYPTvx
20年近く前に設置されたお手軽APIにリアルタイム性を求めるのもな…

ゲーム用の効果音ならDirectXTKのAudio(XAudio2のラッパー)がお手頃かしら
2018/05/16(水) 03:14:40.15ID:52uBQuev
OpenALでもいいんじゃね?
379デフォルトの名無しさん
垢版 |
2018/05/18(金) 06:39:21.09ID:KYXS7qiH
キーボードの入力だけを無効化するAPIを教えてください
BlockInputだとキーボードとマウスの両方が無力化されてしまうので。
2018/05/18(金) 07:22:41.68ID:JEElro2Y
そのものずばりなapiはないんじゃないかな
2018/05/18(金) 09:20:15.65ID:KYXS7qiH
ないじゃねーんだよアホ
だったらどうすりゃ実現できるのか教えろよ
2018/05/18(金) 09:36:45.73ID:JEElro2Y
うわあ
2018/05/18(金) 09:49:08.60ID:C170FFEJ
フィルタドライバ
2018/05/18(金) 09:56:15.34ID:crDPuGzZ
ローレベルフックでキーボード入力を捨てられた気が
2018/05/18(金) 10:17:50.27ID:mWyCAt5N
>>381
教えろよじゃねーんだよアホ
だったらどうなりゃ理想なのか教えろよ

指定したプロセスのみ無効化?
全てのプロセスで無効化?
BlockInputを試したという事は全てのプロセスで無効化でいい?
2018/05/18(金) 10:20:51.20ID:JEElro2Y
BlockInputはそのスレッドだけじゃないかな
おまえらこんな糞な奴のをよく答える気になるなw
2018/05/18(金) 10:29:53.45ID:PW/5KQgQ
キーボードを取り外す
展示とかに使うならこれだなw
2018/05/18(金) 11:03:10.17ID:/yTMyJuo
16bit時代にはそのものズバリのapiがあった
2018/05/18(金) 12:07:37.64ID:aDkqve5K
easyhookを使えるようにするにはどうすればいいのですか?
たすけて
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況