• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EnumWindowsのコールバック関数に文字列を)

EnumWindowsのコールバック関数に文字列を指定する方法

このQ&Aのポイント
  • VBAでのWindows API関数EnumWindowsの定義を変更して、コールバック関数へのパラメータに文字列を指定する方法を教えてください。
  • EnumWindowsのコールバック関数へのパラメータに文字列を指定する方法について、VBAでのWindows API関数EnumWindowsの定義を変更しましたが、うまくいきません。
  • EnumWindowsのコールバック関数へのパラメータに文字列を指定したくて、VBAでのWindows API関数EnumWindowsの定義を変更しましたが、うまくいかないです。方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

ByRef lParam As String じゃなくて ByVal lParam As String じゃないとダメなんじゃないかと思います。 あと、文字列はそのままではダメみたいです。 EnumWindows AddressOf EnumWindowProc, StrConv("hoge",vbUnicode) みたいにしないと文字化けしてしまいました。

isunsun
質問者

お礼

教えて頂いたとおりの修正で旨くいきました。 Long型のlParamでのコードが、これですっきりした分り易いコードとすることができました。 早速回答頂きありがとうございました。

その他の回答 (1)

回答No.1

何がどううまくいかないのかを書いて頂かないと? EnumWindows の型を変えたのなら関連する関数等の型もすべて変更されたのでしょうか?