- 1 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 23:33:42 ]
- スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。 過去スレ、関連リンクは>>2-10くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版(msdn2.microsoft.com/library/)の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで - Win32API質問箱 wiki wiki.livedoor.jp/program1/d/FrontPage Win32API質問箱 Build65 pc11.2ch.net/test/read.cgi/tech/1208847084/
- 830 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 18:18:29 ]
- HWND hwnd = FindWindow( ... );
// この間にhwndがDestroyされると届かなくなるので必ず届くなんて不可能 SendMessage( hwnd, ... ); 昔9x使ってたら、DestroyしたHWNDが割と近い時間で他のウィンドウに使用されて困ったことがあったけど NTだと確か上位16ビットが再利用カウンタだからそういう衝突は無いかな
- 831 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 18:31:58 ]
- 初めて聞いたぞそれ
- 832 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 19:26:56 ]
- あっそ
- 833 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 19:50:47 ]
- でっていうwwwwwwwwwwww
- 834 名前:デフォルトの名無しさん [2008/06/03(火) 21:30:08 ]
- SendMessageした先からSendMessageで返事を返してもらう、って出来る?
- 835 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:18:24 ]
- スレッドが違う前提の話だよな。
SendMessageをもらって、ウインドウプロシージャが走ってから そいつが返事をSendMessageするまでの間に、 ReplyMessageしとけばいけるんでない。
- 836 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:38:11 ]
- SendMessageを投げあってデッドロック!!!マジカッコイイ!!!
- 837 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:39:32 ]
- SendMessageへの返事は返値でしなさいよw
- 838 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:59:01 ]
- SendMessageは同期させたいときに使う。
- 839 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 23:17:41 ]
- >>149
>フォーカスを失っても青のままにしたい subclass化して WM_KILLFOCUS をブロック
- 840 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 00:01:07 ]
- >>830>>835
大丈夫。SendMessageの戻り待ちで止まっているスレッドのウィンドウへSendMessageが送られると、 Windowsが直接ウィンドウプロシージャを呼び出す。 Advanced Windows辺りに書いてあったはず。
- 841 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 03:47:02 ]
- 質問です。
BitBltでビットマップの転送を行うとして、、 転送先のビットマップの大きさの範囲を超えるように引数を指定した場合、 この動作の定義はどうなっているのでしょうか? はみ出たところにあったデータが壊れる心配はないのでしょうか?
- 842 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 04:03:42 ]
- >>841
GDIはそういう心配する必要なし
- 843 名前:841 mailto:sage [2008/06/04(水) 04:29:13 ]
- >>842
これで心置きなく転送できます。 ありがとうございました。
- 844 名前:デフォルトの名無しさん [2008/06/04(水) 16:32:06 ]
- 簡易的なタブエディタを作っているのですが
テキストは開いた順に配列に入れて、たとえば2番目のタブを選択したら 配列の2番目から取り出して表示するという方法でいいんですか?
- 845 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 16:36:41 ]
- そんなもん貴方がどう実装したいのかによるでしょ
メモリ食ってもいいのか、なるべく食わない方がいいのかとか つかAPI関係ないだろ
- 846 名前:デフォルトの名無しさん [2008/06/04(水) 16:36:52 ]
- よくわからんけどいいよ
- 847 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 16:44:40 ]
- タブエディタが何か分からない
- 848 名前:デフォルトの名無しさん [2008/06/04(水) 16:46:36 ]
- >>847
しね
- 849 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 16:49:52 ]
- タブ譜のエディタですね、分かります
- 850 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 16:55:55 ]
- つまんね
- 851 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 16:58:40 ]
- 訳:かまってほしいな
- 852 名前:844 [2008/06/04(水) 17:00:22 ]
- >>845
この方法だとメモリを食いそうなんでこれでいいのか、 他に良いスタンダードな方法があるのかと疑問に思ったので。 タブとかeditコントロールはAPIなのでここで質問してみました >>846 よさそうならこれで作ってみます。どうもです
- 853 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:34:54 ]
- Win32APIでエディタを作っています.
ステータスバーに現在のキャレット位置を表示するために 下記のコードを書いてみたのですが,列の表示が上手くできません. 何か良い方法をご存知でしたら教えて下さい. m(_ _)m caretPos = (DWORD)SendMessage(hEdit, EM_CHARFROMPOS, 0, MAKELPARAM(pt.x, pt.y)); pt.y = HIWORD(caretPos) + 1; caretPos = (DWORD)SendMessage(hEdit, EM_CHARFROMPOS, 0, MAKELPARAM(pt.x, 0)); pt.x = LOWORD(caretPos) + 1; wsprintf(str, " %d 行, %d 列", pt.y, pt.x); SendMessage(hStatusbar, SB_SETTEXT, 1, (LPARAM)str);
- 854 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:57:59 ]
- >>852
メモリの使用量なんて作ってみたらわかることだ。 初心者なら、作る前に答えを欲しがらずに、作って考えることだ。
- 855 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:03:32 ]
- >>854
偉そうに上級者面するな
- 856 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:12:23 ]
- そいつゲイツだぞ
- 857 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:39:06 ]
- だから?
- 858 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:41:49 ]
- お布施しろ
- 859 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 23:20:18 ]
- どうやって?
PayPalで送金するのか?w
- 860 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 00:11:05 ]
- とりあえず、VistaのUltimateを10本ほど。
- 861 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 01:42:29 ]
- ケチケチすんなよ
MSDN Premium Subscriptionをパッケージで50本くらい買えばおk
- 862 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 02:25:19 ]
- >>860
Vistaなんてイラネーヨ >>861 おk 明日買ってくる
- 863 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 19:14:29 ]
- >>853
キャレット位置ならEM_GETSELから調べ始めればいいんじゃね?
- 864 名前:いのぶー mailto:sage [2008/06/05(木) 22:58:59 ]
- ペイントを操作して、絵を描こうとしているのですが、ウィンドウをポップアップできてもドローイングエリアを
クリックできません。 C#の板でスルーされたのでやってきました、お願いいたします、教えていただけませんでしょうか? 。 [DllImport("USER32.DLL")] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport("USER32.DLL")] public static extern bool SetForegroundWindow(IntPtr hWnd); [DllImport("user32.dll", CharSet = CharSet.Unicode)] public static extern IntPtr FindWindowEx(IntPtr hWnd, IntPtr hwndChildAfter, String lpszClass, String lpszWindow); [DllImport("user32.dll", CharSet = CharSet.Unicode)] public static extern bool PostMessage(IntPtr hWnd, UInt32 Msg, Int32 wParam, Int32 lParam); [DllImport("user32.dll", CharSet = CharSet.Unicode)] public static extern bool GetWindowRect(IntPtr hWnd, ref RECT lpRect); [StructLayout(LayoutKind.Sequential)] public struct RECT { public int left; public int top; public int right; public int bottom; } const uint WM_LBUTTONDOWN = 0x201; const uint WM_LBUTTONUP = 0x202; public void RemotePaint() { IntPtr hWnd = FindWindow("MSPaintApp", null); SetForegroundWindow(hWnd); hWnd = FindWindowEx(hWnd, IntPtr.Zero, "AfxFrameOrView42u", null); RECT winRect = new RECT(); GetWindowRect(hWnd, ref winRect); PostMessage(hWnd, WM_LBUTTONDOWN, winRect.right - winRect.left, winRect.bottom - winRect.top); PostMessage(hWnd, WM_LBUTTONUP, winRect.right - winRect.left, winRect.bottom - winRect.top); }
- 865 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:03:24 ]
- >>864
PostMessageでDOWNした後UPする前にスリープを入れる
- 866 名前:いのぶー mailto:sage [2008/06/05(木) 23:16:45 ]
- 早速のレスをありがとうございます。
Sleepを入れてみたんですが、点を打ってくれませんでした。 (T_T) PostMessage(hWnd, WM_LBUTTONDOWN, winRect.right - winRect.left, winRect.bottom - winRect.top); System.Threading.Thread.Sleep(500); PostMessage(hWnd, WM_LBUTTONUP, winRect.right - winRect.left, winRect.bottom - winRect.top);
- 867 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:53:40 ]
- [DllImport("USER32.DLL")]
public static extern bool SetForegroundWindow(IntPtr hWnd); C丼はあまり詳しくないが、この辺のAPI宣言って合ってるのか? Win32のBOOLとC++や.NET系のboolって別物のはずだが
- 868 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:58:22 ]
- それはあってるよ。
C#のboolは1バイトだけど、Platform呼び出しの際は、 特に指定しなければデフォルトで4バイトBOOLにマーシャリングされる。
- 869 名前:いのぶー mailto:sage [2008/06/06(金) 00:01:48 ]
- 一応、ペイントはアクティブになってくれています。
この辺りとかでは、 public static extern bool SetForegroundWindow(IntPtr hWnd); って書いたサンプルがあったので、それを参考にしています。 ttp://www.atmarkit.co.jp/fdotnet/dotnettips/151winshow/winshow.html
- 870 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:06:43 ]
- >>868
へ〜そうなんだ VB6とかBooleanじゃなくてLongにする必要があったのに、便利な時代になったなぁ
- 871 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:21:52 ]
- クライアント領域の右下隅をクリックしたいように見えるけど、
GetWindowRectの結果使ったらボーダーの分だけはみ出さないかい? そもそもその右下の点に画像はあるのか
- 872 名前:いのぶー mailto:sage [2008/06/06(金) 03:49:20 ]
- RECTを取る前に
hWnd = FindWindowEx(hWnd, IntPtr.Zero, "AfxFrameOrView42u", null); で、hWndにドローイングエリアのウィンドウハンドルをセットしなおしていますが、 それではダメでしょうか? hWndを使いまわしていて、汚くてごめんなさい。
- 873 名前:いのぶー mailto:sage [2008/06/06(金) 03:55:58 ]
- 追伸ですが、以下のように、座標を固定で指定してやってもダメでした (T_T)
PostMessage(hWnd, WM_LBUTTONDOWN, 100, 100); System.Threading.Thread.Sleep(500); PostMessage(hWnd, WM_LBUTTONUP, 100, 100);
- 874 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 06:26:02 ]
- ふつーSendInputとか使う。
- 875 名前:デフォルトの名無しさん [2008/06/06(金) 07:13:29 ]
- SendInputってフォアグラウンドじゃないとだめじゃなかったっけ
- 876 名前:853 mailto:sage [2008/06/06(金) 07:37:22 ]
- >>863
回答ありがとうございます. EM_GETSEL は有力ですよね. 実は自分も最初はそれを考えて, pt.x = LOWORD(SendMessage(hEdit , EM_GETSEL , NULL , NULL)); として列の位置を求めようとしていたのですが, ↓(1行,1列) 1234\r\n 6 ↑(2行,1列)になってほしいけど, 実際には(2行,6列)... ORZ という結果になってハマってしまったので, ここで質問してみました. 結構メジャーな目的なので,どなたかご存知の方が いらっしゃいましたら良い方法をお願いします. m(_ _)m 後の人のためにも. (できればWin32APIで,テキスト全体をバッファに入れて改行を数えるとかは 最後の手段かなと思っています.)
- 877 名前:853 mailto:sage [2008/06/06(金) 08:11:01 ]
- 解決しました.
offset = LOWORD(SendMessage(hEdit, EM_CHARFROMPOS, 0, MAKELPARAM((WORD)0, pixPt.y))); を設定して引いてやるだけでした. 前にこの方法も試していたのですが,pix での位置と char型 での位置が きちんと区別されていなかったために失敗していました. お騒がせしました.
- 878 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 14:45:22 ]
- (WORD)0
なんでこんな書き方するのか分からん
- 879 名前:デフォルトの名無しさん [2008/06/06(金) 15:22:28 ]
- 分からないならレスするなつってるだろ?
- 880 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:38:14 ]
- すいません
- 881 名前:デフォルトの名無しさん [2008/06/06(金) 15:41:37 ]
- どんまい
- 882 名前:デフォルトの名無しさん [2008/06/06(金) 16:14:32 ]
- 吸いませんじゃなくてすみませんだろ?
- 883 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 16:17:57 ]
- 吸わないよ
- 884 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 16:23:21 ]
- (WORD)0
なんでこんな書き方するのか分からん
- 885 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 16:25:28 ]
- break;
- 886 名前:デフォルトの名無しさん [2008/06/06(金) 16:59:07 ]
- 訳:かまってほしいな
- 887 名前:いのぶー mailto:sage [2008/06/06(金) 22:01:53 ]
- 皆様、ありがとうございます。
sendInputというキーワードのおかげで、下記のページを見つけることができました。 homepage3.nifty.com/midori_no_bike/CS/index.html?userIO.268 おかげで、sendInputを使って、点が打てました。 これを取っ掛かりになんとかやってみたいと思います。
- 888 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 23:10:33 ]
- >>872
GetClientRectでとれるのが「クライアント領域」、早い話がウィンドウ内部の領域 マウスイベントで指定する座標系はこれが基準。 GetWindowRectでとれるのは「ウィンドウ領域」、境界線とかも含んでいるので 一般にクライアント領域より大きい。 ちなみにRectで指定する座標は「右と下が1大きい」ものなので(理由は省略) >866の計算だと、GetClientRectの結果使ったとしてもやはり1ドットはみだす。 以上参考までに。
- 889 名前:いのぶー mailto:sage [2008/06/06(金) 23:31:46 ]
- 888さん、ありがとうございます。(ゾロ目ですね・・・)
GetClientRectでとれる「クライアント領域」が基本とのことなのですが、 GetWindowRectでドローイングエリアの座標領域を取って、Cursorを動かして、 SendInputクリックで左ボタンダウンとアップイベントを作ってクリックしているのですが、 「クライアント領域」を使った、いい方法があるのでしょうか? 当方、「クライアント領域」の有効な使い方が解っていないので、 よろしければご教授願えませんでしょうか。教えていただけると うれしいのですが・・・
- 890 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 00:16:53 ]
- >>889
有効とかどうとかじゃなくて、基本的な区別がわかってない 君がいう「ドローイングエリアの座標領域」の外側と内側とか 座標系の基準の違いとか色々ごっちゃにしてるって話 ここで説明できるような内容じゃないので入門書読め
- 891 名前:いのぶー mailto:sage [2008/06/07(土) 00:25:15 ]
- 別に、原点が画面の左上か、ウィンドウ(又はウィジェット)の左上というだけの話では?
- 892 名前:いのぶー mailto:sage [2008/06/07(土) 00:31:04 ]
- こんな風に書いているので、問題があったら知りたいなぁという以上の意味はないので・・・
// ドローイングエリアの真ん中へ移動 Cursor.Position = new Point((winRect.left + winRect.right) / 2, (winRect.top + winRect.bottom) / 2); //クリック INPUT[] input = new INPUT[2]; // 計2イベントを格納 input[0].mi.dwFlags = MOUSEEVENTF_LEFTDOWN; input[1].mi.dwFlags = MOUSEEVENTF_LEFTUP; SendInput(2, input, Marshal.SizeOf(input[0]));
- 893 名前:いのぶー mailto:sage [2008/06/07(土) 00:46:46 ]
- 追伸、
466の記述時点では、Rectで何の値が取れるか分かっていなかったのですが、 デバッグプリントして、理解して、887の時点では、なんとか好きな所に点が打てるように なっていました。 (おそらく、入れ違いになってしまったのでは・・・と思っています。) ただ、この場合に、ウィンドウ内の座標を使って何ができるのかが知りたいのです。 この場合、テンプレの本を薦められても対象が高域過ぎるのでお勧めのURLや書籍 でもあれば、明日にでも探しに行きたいと思います。
- 894 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 02:01:28 ]
- いい加減うざいです><
Win32スレなのか.NETスレなのか分かりません><
- 895 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 02:16:31 ]
- ここってWin32APIスレですよね><
言語が.NETだろうとWin32の話なら全然構わないと思います><
- 896 名前:デフォルトの名無しさん [2008/06/07(土) 03:27:14 ]
- たとえば、スレッドの中にスレッド作った場合の注意点ってある?
開放する順番以外に。windowsスレッドって、ExitThread(true)で 自動で開放されたりしない?ハンドルクローズしないとダメ?
- 897 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 03:45:01 ]
- windowsスレッドって何だよ
windows板なら分かるが
- 898 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 04:47:09 ]
- >893
何ができるかとかいう問題じゃなくて ┏━┓ ┗━┛ この枠の内側測るのと外側測るのじゃ大きさが違うだろ? 内側から測れって言われてるのに外側から測った数字使ってたりしたら 細かいところで計算が合わないからちゃんと意識しろってこと。
- 899 名前:896 mailto:sage [2008/06/07(土) 06:05:37 ]
- >>897
Linuxのプロセスみたいにゾンビプロセスが残るのかとか windows のスレッドはexitThread(true)でスレッド開放されるのかとか
- 900 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 06:41:38 ]
- スレッド自身がExitThreadを呼び出すか、スレッドの関数から戻ればスレッドは止まる。
どのスレッドによって作られたか、などということは一切関係ない。 また、そのスレッドを参照しているすべてのスレッドハンドルをCloseHandleしなければならない。 スレッドハンドルを閉じていないということは、まだ使うということだから。 スレッドがシグナル状態になっているかどうかを見るなど。 pthreadだって、明示的にpthread_joinかpthread_detachしなきゃならんだろ。
- 901 名前:いのぶー mailto:sage [2008/06/07(土) 06:56:28 ]
- > 898
取れる数字に対する注意点を教えていただいたと理解しました。 894さんとか、うざがってる方もいることですので、この話題を終了したいと思います。 ありがとうございました。
- 902 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 08:06:34 ]
- >>899
> ExitThread(true) こんな事を書いてるということはMSDN読んでないのがバレバレ
- 903 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:06:32 ]
- おいおい・・
そんなこと言ったら、ここの質問全てmsdn嫁で終わるw
- 904 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:25:25 ]
- ちょっと質問ですが、
//tmpgenc.pegasys-inc.com/ja/download/tp.html TMPGEncの支援ツールを作りたいと思ってます。 主に自動で次々と縁故してくれるように支援するツールです。 そこで、まずファイルをドロップしてファイル名を渡すところですが、ここはどんなAPIを使ってドロップしたことにしてやればよろしいでしょうか?
- 905 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:27:01 ]
- はぁ?
- 906 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:29:15 ]
- >>905
そのTMGENCの画面にファイルをドロップするところを、他のアプリから操りたいのです・・・。
- 907 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:47:12 ]
- はぁ?
- 908 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:47:55 ]
- 知らないならレスしないでください
- 909 名前:904 mailto:sage [2008/06/07(土) 14:50:36 ]
- 908は私の発言じゃないですよ。
わかりにくいですか?
- 910 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:53:40 ]
- まったく分からない
- 911 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:54:30 ]
- 初心者スレ池
- 912 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:55:06 ]
- 910は私の発言じゃないですよ。
わかりにくいですか?
- 913 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 15:10:01 ]
- TMPEGの画面ってのがよく分からんが
画面へのドロップ動作をさせたいならOLE D&Dとマウス動作のシミュレートで良いんじゃね コマンドライン使えるならそっちの方がいいと思うけど
- 914 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 15:12:18 ]
- お前は何を言ってるんだ
- 915 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 15:12:52 ]
- LoadLibraryEx で LOAD_LIBRARY_AS_DATAFILE や LOAD_LIBRARY_AS_IMAGE_RESOURCE を
指定してロードした特定のモジュールのファイル名を、GetModuleFileName で取得できません。 (GetModuleFileName の戻り値は0だが、GetLastError の戻り値は ERROR_SUCCESS) 具体的に言うと、下のページの mxdrv.dll が該当します。 ttp://gorry.haun.org/mx/ どういったケースでそれが起こるのか、誰かおわかりになりませんか。
- 916 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 15:27:25 ]
- >>913
レスありがと。 ただOLE D&Dって初見なんだけど、これってつまりAPIでファイルを対象のウィンドウにドロップするやつはないってことですか?
- 917 名前:916 mailto:sage [2008/06/07(土) 15:38:46 ]
-
自己解決しました、ありがとうございます
- 918 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:21:57 ]
- 英語MSDNのSendIMEMessageExに
This function is obsolete and should not be used. と書いてた。 ってことは、IME使うにはどうすればいいんだ?
- 919 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:28:20 ]
-
質問です。 対象のアプリのボタン(OKと書かれたボタン)が操作不可かどうかを判断したいのですが、 なにか手はありますでしょうか?
- 920 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:29:48 ]
- フックふっくにしてやんよ
- 921 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:37:46 ]
- IsWindowEnabledでいいんじゃね
- 922 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 17:07:40 ]
- >>918
Imm〜関数群などを使う。
- 923 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 17:16:07 ]
- IMMの次はTSFだぜ
- 924 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 18:31:42 ]
- >>923
> TSFとは、異性への性転換を扱うフィクションのジャンルにおける略称である。 ttp://ja.wikipedia.org/wiki/TSF ???
- 925 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 18:38:05 ]
- ストリートファイターズ……
- 926 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 18:51:28 ]
- アルファベット3文字の略称って大抵は既に何かに使われてるよなw
- 927 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 19:26:35 ]
- _beginthreadexでつくったスレッドで現在稼動しているもののIDかなんかを取得するのは
どうすればいいですか?Thread.currentThread()みたいなやつ
- 928 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 19:33:05 ]
- GetCurrentThread
GetCurrentThreadId
- 929 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 19:33:19 ]
- IDってどういう意味だ?
スレッドハンドルの事を言っているなら、_beginthreadexの戻り値がまさにそれだ。 必要ないなら、ちゃんとCloseHandleしておけ。 スレッドIDの事を言っているのなら、スレッドハンドルに対してGetThreadIdを呼べ。
- 930 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 19:37:06 ]
- >>927
GetCurrentThread
|

|