私はWindows APIプログラミングにはかなり初心者です。私は、サブクラス化とAPIフックとはどのようなものなのでしょうか。私は所有者が描いたコントロールを使ったプロジェクトをやっています。今では、これらのトピックについてCodeProject.comの詳細なチュートリアルをたくさん見てきましたが、問題はすべてMFCを使用していて、純粋なWin32でコーディングしていることです。誰かが上記のトピックの良いチュートリアルを知っている場合は、リンクを投稿してください。また、msdnへのリンクを避けてみてください。初心者の方は、そこに書かれている内容を理解するのに問題があります。サブクラス化とAPIフックとは何ですか?
3
A
答えて
10
Layman用語:サブクラス化は、ウィンドウのウィンドウプロシージャを置き換えることによって行われます。これは、Windowsがあなたの関数にウィンドウへのメッセージを配信するために行う呼び出しをリダイレクトするので、それらのメッセージを最初に見ることができます。これにより、ウィンドウの動作を変更し、元のウィンドウにはない新しい機能を追加できます。これは非常に一般的な手法であり、OSによって直接サポートされているSDKの記事is hereです。
APIフックはwinapiの機能と似ていますが、同様です。プロセスで実行していないコードの動作を変更することができます。任意に、CreateFile()をフックし、渡されたファイル名を変更したり、目的に応じて失敗させることができます。 これはあまり一般的ではないし、サブクラス化のようなベークイン機能ではないので右に行くのがはるかに難しい。 Microsoft's Detoursはこの技術の実装例である。
どちらの方法も高度なプログラミングのカテゴリにあり、正しいことをしなければかなり厄介な問題になることがあります。今すぐMSDNの記事を読むのに問題がある場合は、準備が整うまで棚に置いておきます。
1
関連する問題
- 1. jQueryフックとコールバックとは何ですか?
- 2. Vue.jsで 'サブクラス'とは何ですか?
- 3. WH_MOUSEフックとWH_MOUSE_LLフックの違いは何ですか?
- 4. ejabberd MUCとサブクラス化
- 5. サブクラス化ビューとonDraw()
- 6. デリゲートをサブクラス化する適切な方法は何ですか?
- 7. Rails - モデルをサブクラス化するためのデザインパターンは何ですか?
- 8. PysparkでDataFrameをサブクラス化することはできますか?
- 9. JSコールバック/フック(メテオ:Aldeed Autoform)とは何ですか?
- 10. ループバックの操作フックとイベントの違いは何ですか?
- 11. ActiveX INFファイルのフック1とは何ですか?
- 12. Javaのサブクラス化:トリガされるメソッドは何ですか?
- 13. UIViewのサブクラス化の正当な根拠は何ですか?
- 14. @synthesizeとは何かsomeProp = _somePropはサブクラスで行います
- 15. サブクラス化namedtuple、__new__と__init__
- 16. QStateMachineのサブクラス化と変更
- 17. マングースのフック:これは何ですか?
- 18. Jersey APIのエントリーポイントサーブレットとは何ですか?
- 19. LinkedIn API - "Specialties"フィールドとは何ですか?
- 20. REST APIのヘッダーとは何ですか?
- 21. REST APIのコンポーネントとは何ですか?
- 22. 良いAPIインデクサーとは何ですか?
- 23. NaClソケットAPIとは何ですか?
- 24. Rest API Rate Limitとは何ですか?
- 25. GoogleアナリティクスAPI:「YOUR_OAUTH_ACCESS_TOKEN」とは何ですか?
- 26. Podio APIのexternal_idとは何ですか?
- 27. https://i.instagram.com/api/v1とは何ですか
- 28. 強力なAPIとは何ですか?
- 29. Microsoft Graph APIエンドポイントパターンとは何ですか?
- 30. 暗号化IVとは何ですか?
ありがとうございます。私はこのタイプのプログラミングの初心者であり、このタイプの複雑なプログラミングに少し驚いています。情報をもう一度ありがとう。 – Sreyan