- - PR -
C#でAPIのGetGUIThreadInfoを使う
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-09-22 23:10
お世話になります。ジェイです。
C#でGetGUIThreadInfoを使って、アクティブウィンドウのカレットを取得して、 カレット付近にウィンドウをポップアップさせるプログラムを作成中なのですが、 GetGUIThreadInfoを使っても取得できません・・・。 どなたかC#でGetGUIThreadInfoを使ったことあるかたいらっしゃいませんか? ヒントだけでも頂けたら幸いです。 ご教授のほど、よろしくお願いいたします。 |
|
投稿日時: 2003-09-23 00:22
9/6の投稿と同じ問題ですね?
DLL Importするときに、引数を「値渡し」か、「参照渡し」かに設定するようなところがないですか?済みません、今資料がないので。デフォルトでは値渡しになっているので、関数(API)で変更した内容が戻ってこない、ということだと思いますけど。。。 |
|
投稿日時: 2003-09-23 01:03
Jittaさんありがとうございます。
おっしゃる通り9/6の投稿と同じです。 いろいろ調べていて、GetCaretPosよりGetGUIThreadInfoの方がいい気がしたので、 やってみたのですが、うまくいかず・・・。 あまり、APIを使ったことがないので、全然わからなかったのです。 値渡しと参照渡しについてちょっと調べてみます。 |
|
投稿日時: 2003-09-23 01:17
自己レスです。
[DllImport("user32.dll", EntryPoint="GetGUIThreadInfo", CallingConvention=CallingConvention.Winapi)] public static extern uint GetGUIThreadInfo (uint dwthreadid ,ref GUITHREADINFO lpguithreadinfo ); にしたところ値が戻ってきました。 Jittaさんありがとうございました! |
1