タグ

ブックマーク / qiita.com/i_saint (2)

  • Raw Input API を使う - Qiita

    目的 マウスやキーの入力を記録したい。 背景 昔はこういう目的には SetWindowsHookEx() を使うのが勧められていたように思う。この API は非常に強力で、既存のプロセスに自作の dll を潜り込ませてウィンドウメッセージ hook 用のコールバックを呼ばせることができ、これで全てのウィンドウに送られてくる WM_MOUSEMOVE を監視、といったことができる。 しかしこの API、強力すぎて悪用されまくったそうで、Vista 以降使用が厳しく制限されている。管理者権限、UI Access、デジタル証明など、ありとあらゆる権限を付与しないと機能しなくなっており、もう事実上使えなくなったと言っていい。 (既存プロセスに自作 dll を潜り込ませたい場合、CreateRemoteThread() が今でも使える。未だにこの API が野放しなのは驚きだが、既存の色んな便利ツー

    Raw Input API を使う - Qiita
    einherjar
    einherjar 2022/08/24
    キーボード rawinput
  • Windows の 3 種類のスクリーンキャプチャ API を検証する - Qiita

    Screen Capture API 現在 Windows には画面をキャプチャする方法が 3 通りくらい用意されている。一番速いのはどれなのか?それぞれ検証してみたい。(他にも非公開の API があるらしいが、ここでは触れない) なお、記事中のソースは説明のため色々省いている。一通り動作するものはこちら。 https://github.com/i-saint/ScreenCaptureTest GDI 石器時代の API だが、今でも機能するしお手軽。 注意すべき点として、GetSystemMetrics() や GetWindowRect() を使う場合、Visual Studio 上のプロジェクトの設定、"Manifest Tool" にある "DPI Awareness" を "Per Monitor High DPI Aware" に設定しておくべきである。これを怠ると、該当 A

    Windows の 3 種類のスクリーンキャプチャ API を検証する - Qiita
    einherjar
    einherjar 2022/08/23
  • 1