[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/04 11:46 / Filesize : 212 KB / Number-of Response : 986
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build62



1 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 02:40:03 ]
スレ立てるまでもない、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

【前スレ】
61 ttp://pc11.2ch.net/test/read.cgi/tech/1199514664/

72 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 19:42:31 ]
GDI+を使おうと考えてますが、C++で自動変数として用いる場合、問題のあるクラスってありますか?
例えば、Graphics、Font、StringFormat、Bitmap、BitmapData等のクラスを使おうと思っています。
ぱっと見、一応デストラクタで解放されてる気がしますが確信が持てず・・・

73 名前:デフォルトの名無しさん [2008/02/06(水) 19:51:14 ]
C♯, C#相談室 Part34
pc11.2ch.net/test/read.cgi/tech/1162467959/

74 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 19:53:25 ]
素直にauto_ptrやboost::scoped_ptr等と組み合わせたほうがエレガントだと思う

75 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 20:23:39 ]
MSDNライブラリにも特に注意点は載っていなかったはずだし、問題ないと思う。
せいぜい、デストラクタより先にGdiplusShutdown呼ばないように気を付けろ。

>>73
71はきっとネイティブ版の方を使うんだろ。

76 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 20:24:11 ]
>>72
ありません。ただし GDI+ の初期化と開放の前や後で ctor や dtor が
動くといけないので、スタティック変数等では注意が必要か。

>>74
いや、GDI+ (のアレコレ)は C++ でなるべくスタック上に
取るのがスマートだしカッコイイと思う。

.Net で C# なんかだと Dispose の嵐でもーうんざり。

77 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 20:29:18 ]
エディットボックスのクライアント領域内の行数
を調べるにはどうすればよいでしょうか?

78 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 20:37:52 ]
高さ を フォント高さ で割ってやればよいのではないか

79 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 20:43:31 ]
>>76
C#ならusing使えよ……。

80 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 20:55:07 ]
using( Graphics g = ... )
 using(Bitmap bmp= ...)
  using(Pen pen= ...)
   using( Brush br1= .. , br2=...)
    using( Font font= ... )
     g.draw〜
やってられっか(w



81 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 20:57:33 ]
なんでインデントつけるんだよ。

82 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 21:00:49 ]
>>74-76
レスありがとうございます。
問題ないようですし、startupやshutdownに注意しつつ、楽な自動変数で行きたいと思います!

83 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 21:01:37 ]
>>81
知恵が無いから。

84 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 21:19:49 ]
スコープだからに決まってるだろ。

85 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 21:31:44 ]
つーかusingする必要あるか?
.netならGCが勝手に開放するだろ

まーWin9x系を考慮するなら、using使って明示的に開放しとかないとGC作動する前に
システムリソース食い潰してOSごと死亡しそうな気はするが

86 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 21:38:25 ]
GCを当てにしていいのはメモリだけ

87 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:16:35 ]
というか実際には仮想メモリをどんどん使い始めてなかなか解放してくれないわけだ。
あまり気にしなければそれでいいわけだけど・・・・
Image.FromFile で作ったImage 等他のリソース(この場合ファイル)をつかみっぱなしの
オブジェクなんかもあるし。

こういう場合は簡単にスコープと寿命を一致させられる C++ の方が気持ち良いな、俺は。

88 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:22:32 ]
C的にDispose乱発するとか。

89 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:24:07 ]
いやだからusingがあるんだろ・・・
ってスレ違いだね

90 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:25:42 ]
参照カウンタ付きのスマートポインタ使えばGCなんていらないと思ってる



91 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:27:24 ]
それ何てGC?

92 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:30:45 ]
それで循環参照の罠に引っかかるわけですね

93 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:33:56 ]
using 文マジおすすめ

94 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:39:33 ]
>>93
C++でusingしまくってるとGDI+使う時に衝突してエラーになるから一概におすすめとは言えないよ
最近のコンパイラだとエラー出ないようになってるのかも知れんが

.Netの事を言ってるならスレチだから他でやってね

95 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:41:40 ]
>>94
スレ違い

96 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:43:20 ]
>>95
GDI+はスレ違いじゃないよ

97 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:45:04 ]
C++はスレ違い

98 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:45:53 ]
名前空間の衝突はスレ違いだな

99 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:47:07 ]
C++(/CLI)だと名前空間に別名付けるのが便利。

100 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:53:19 ]
おまいらそろそろスレ違い杉w

ところで、GDI+ってWin32APIとして見ると画像ファイルの読み書き以外に使える?
描画が全てソフトウェア処理だから重いし、Vistaでこの辺DirectXに丸投げしてくれるかと思ったらそうでも無さそうだし



101 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:57:46 ]
もうやめて!GDI+のHPは0よ

102 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:05:25 ]
>>100
アルファブレンディングとかしたいけどDirectX使うまでも無いって場合とか。

103 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:05:46 ]
>>67
NetUserEnum
とか
HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥ProfileList
みたいなのとか

104 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:08:09 ]
>>102
MMXかSSEだろJK

105 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:26:44 ]
アンチエイリアシング付き文字を手軽に描画したい時にGDI+使ってるな。
getglyphoutlineで描画するの面倒くさそうだったから・・・

106 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:30:15 ]
つまりWPFを使えって事なワケですよ

107 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:51:30 ]
wpfはアンマネージドインターフェイスが無いじゃん。
どうしてCOM Interopを可能にしなかったのか不思議で仕方ない。

108 名前:69 mailto:sage [2008/02/06(水) 23:55:22 ]
>>70
HIWORD(wParam)がスクロールボックスの現在位置を保持してるのは理解できました
これはスクロールボックスの上端の位置を示しているという理解でいいのでしょうか?
上端の位置を保持しているのならswitch文の記述には問題がないように見えます
となるとやっぱりswitch文から抜けた後の処理が間違っている???
他の人の質問に比べて低レベル過ぎて恥ずかしい

109 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:57:42 ]
補間拡大縮小をアルゴリズム設計無しで実装したい案件で使ってる

110 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:06:08 ]
GDI+なんてハイフンな問題があるし使えんよ。
support.microsoft.com/kb/944975/




111 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:11:21 ]
>>108
WM_VSCROLLのSB_THUMBTRACKの説明を読むと
>The high-order word indicates the position that the scroll box has been dragged to.
とのことだから、現在位置ではないんじゃね?

112 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:20:20 ]
BitBltすらないわけだが

113 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:40:37 ]
>>105
CreateFontにANTIALIASED_QUALITYを指定すればいい。

114 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:52:17 ]
>>108
とりあえず、メッセージの値は見ずにGetScrollInfoで取得しとけ。
つうか、switch分の処理では絶対位置を確定させるべきだろうに。

115 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 01:36:28 ]
SetWindowsHookEx() で WH_MOUSE を仕掛けるんですが、
カーソルが自プロセスのウィンドウから外に出てしまうとフックが
解除されてるみたいなんですが、解除されない方法あるでしょうか?


116 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 01:52:08 ]
>>113
ANTIALIASED_QUALITYはフォントサイズ小さいとAAかからないってネットで見たので・・・

117 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 02:23:52 ]
>>115
タイマーで監視しとけw

118 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 02:36:31 ]
>>115
自スレッドにフックしてるんだったら当たり前じゃね?

119 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 02:49:27 ]
ALOEZ

120 名前:69 mailto:sage [2008/02/07(木) 03:25:29 ]
LINESIZEを1目盛分スクロールした時の移動量とすると
スクロールの上限値(si.nMax)は「(表示したい画像の縦幅 - クライアント領域の縦幅)/LINESIZE」でうまいこと行きました
スクロールボックスのサイズ(si,nPage)は「クライアント領域の縦幅/LINESIZE」としました
これでできたと思ったらウィンドウをかなり小さくしないとsi.nMax==si.nPageにならずスクロールバーが出なくなりました;;
スクロールが出現する閾値(表示したい画像の縦幅)≠スクロールの上限値なのにどちらもsi.nMaxがその役割を担っている。。。
どう考えても構造的に矛盾してる気がするんですが・・・



121 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 03:37:51 ]
WM_SIZEがきたときリストビューのカラムの幅(LVCOLUMN ○○.cx)を変更したいんですが
どうすればできますか?

122 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 03:54:17 ]
ListView_SetColumnWidth

123 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 04:00:15 ]
ありがとうございます

124 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 05:59:46 ]
>>110
これ酷いなw
仕様となると、GDI+::String、Drawing::Graphics::DrawStringは使い物にならんな。
結局GDIへ回帰か。

125 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 07:16:32 ]
>>120
WindowsSDKの'About Scroll Bars'から転載しとく。
MaxScrollPos = MaxRangeValue - (PageSize - 1)

126 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 12:50:13 ]
GDI+使わないとAeroGlass上のグラスウィンドウでの描画が変になるんだよなぁ。
ただの図形描画ならDIB弄って何とかなるが、アンチエイリアスでフォント描画する場合に他に解決策がない。
GDIだけであれ解決する方法ないのかね?

127 名前:デフォルトの名無しさん [2008/02/07(木) 13:36:55 ]
XP以前とXPとVistaでは、メッセージループに
どれくらいの違いがあるのでしょうか?
あるとすれば、どのような違いですか?

128 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 13:56:08 ]
メッセージループの違い?
変わらないかと。

どの視点でその疑問を抱いたの?

129 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 14:34:12 ]
>>120
スクロールバー初めて使う人がはまる指定の仕方だな。それ。
nMin, nMax, nPageの指定の仕方というか考え方がおかしい。


130 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 14:59:16 ]
あたらしいMSDN Libraryインストールしたんだけど
なんであのドキュメントエクスプローラあんなにちらつくん?

マウスでフォーカス変えるたびに全画面再描画してるかんじ……



131 名前:69 mailto:sage [2008/02/07(木) 15:09:04 ]
まだ、解決できない・・・
>>125
スクロール範囲は思い通りになりましたありがとうございます

>>129
できればどこがおかしいのか教えていただけると幸いです・・・

132 名前:デフォルトの名無しさん [2008/02/07(木) 16:50:23 ]
すみません、SDK(API)でダイアログベースアプリの勉強してるのですが
1つのエディットコントロールと1つのOKボタンからなるダイアログで
エディットコントロール内でリターンキーを押すと、OKボタン押してないのに
OKボタンが押されたのと同じ動作をするんです。すごいことにリターンキーに関する処理は書いてないのにですよ。
こんなすごいこと経験した人いる? エスパーさん、何か原因に心あたりないですか? 

133 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 16:57:00 ]
そういうものです

134 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 16:57:08 ]
ダイアログなら普通の動作

135 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 16:58:54 ]
デフォルトボタンとかデフォルトプッシュボタンで調べるといいよ

136 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 17:05:58 ]
>>131
問題を勘違いしてたら悪いんだけど
要は、SB_THUMBTRACKだと16ビットしか使えないから、
デカい画像を表示しようとするとうまく動いてくれないってことかな・・・

だったら、wParamでサイズを取らずにGetScrollInfo使えばいいんじゃない?

137 名前:デフォルトの名無しさん [2008/02/07(木) 17:15:59 ]
>>133-135
有難う、ありがとう、有難うございました。
ほえー、ダイアログでリターンキー押すことは、デフォルトプッシュボタンを
押すことと同じなのですか。うれしい動作に感動しました、うるうる。

138 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 17:20:58 ]
TranslateMessageの仕事だけどな

139 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 17:56:42 ]
IsDialogMessageの仕事じゃなかったっけ

140 名前:69 mailto:sage [2008/02/07(木) 18:21:06 ]
>>136
したいことは「クライアント領域の高さが画像の高さ未満になったときにスクロールバーを出現させ、
SB_THUMBTRACK、SB_LINEUPをはじめ、どのスクロール方法でもスクロール範囲が同じにする」です

GetScrollInfoから取得するようにしてるのですが問題は解決せず・・・

>>129さんの言うとおり根本的なところで間違えているみたいです

nMin = 0;
nMax = 画像の高さ/スクロール一行分の高さ - (nPage - 1);
nPage = クライアント領域の高さ/スクロール一行分の高さ

これだとスクロール範囲は思い通りでもスクロールバーが出現する条件がうまくいきません
スクロールバー出現条件とスクロール範囲を両立させるにはどうすれば・・・




141 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 18:34:55 ]
nMin=0
nMax=画像の高さ - 1
nPage=クライアント領域の高さ
でいいんじゃない?
スクロール1行分なんてのは、SB_LINEUP/DOWNのときに動かす量を調節すればいいかと

142 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 18:39:31 ]
GlobalAllocのGlobalRelease呼び忘れわ発見できますか?

143 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 18:51:10 ]
そう>>141でOK。ってより、「スクロール範囲が同じにする」の条件はようわからんけど。


144 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 19:47:16 ]
>>142
GlobalReleaseって何だ?

145 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 19:56:49 ]
俺が画像ビューアにスクロール機能付けた時は、
一行は11pt換算で動かすように作ったな。

>>144 これじゃね?
  (  ) ジブンヲ
  (  )
  | |

 ヽ('A`)ノ トキハナツ!
  (  )
  ノω|

 __[警]
  (  ) ('A`) 
  (  )Vノ )
   | |  | |

146 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 20:46:39 ]
私は、小学3年です。私には、彼氏がいます。彼とわたしは、デートの時、どちらかの家に行き、
だれもいないとき、部屋で横になって裸でだきあいます。それがだんだんエスカレートしていって、
学校の体育倉庫で服をぬがされ、まだ3年生ですが学年で1番大きいおっぱいを、つかむように触られたり、しゃぶったりされます。
最初は、苦手だったんだけどだんだん気持ちよくなりサイコーです。しかも、わたしは、学年1美人でもてます。
彼も同じで、美男美女でよくみんなにうらやましく、思われます。
このカキコ見たあなたは4日後に不幸がおとづれ44日後に死にます。それがイヤならコレをコピペして5ケ所にカキコして下さい。
私の友達はこれを信じず4日後に親が死にました。
44日後友達は行方不明・・・・。いまだに手がかりもなく私はこのコピペを5ケ所に貼り付けました。
すると7日後に彼氏ができ10日後に大嫌いな人が事故で入院しました。信じる信じないは勝ってです

147 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 00:57:30 ]
子ウインドウ:でキー操作をする方法ってありますか?

148 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:22:03 ]
質問は日本語で

149 名前:147 mailto:sage [2008/02/08(金) 01:30:13 ]
ウインドウにエディットボックスを貼り付けているのですが
エディットボックスのウインドウプロシージャでキー操作
がしたいのですが(VK_UPなどを使いたい)どうも上手く
いきません。どのようにすればよいでしょうか?

150 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:42:34 ]
何がどう上手くいかないのか、具体的に書けって。



151 名前:147 mailto:sage [2008/02/08(金) 01:56:18 ]
int i
case WM_CHAR:
     if(wp == VK_UP){
i++;;
}
break;

「↑」を押しても i が変化がないです。

152 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 02:38:20 ]
>>151
WM_KEYDOWN

153 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 07:11:29 ]
そういう問題じゃないだろ
いろいろいうことはあるが、、、もう出る時間なので

154 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 07:34:51 ]
サブクラス化はちゃんと成功したわけ?
iがローカル変数というオチではないの?

155 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 08:00:22 ]
WM_CHARにVKが来る訳なかろ

156 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 09:16:30 ]
GlobalAllocのGlobalRelease呼び忘れわ発見できますか?

157 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 09:45:53 ]
34 名前:デフォルトの名無しさん[sage] 投稿日:2008/02/05(火) 23:57:49
_CrtSetDbgFlagで
LocalAllocの発見は出来ないですか?

52 名前:デフォルトの名無しさん[sage] 投稿日:2008/02/06(水) 16:47:47
_CrtSetDbgFlagで
LocalAllocの発見は出来ないですか?

142 名前:デフォルトの名無しさん[sage] 投稿日:2008/02/07(木) 18:39:31
GlobalAllocのGlobalRelease呼び忘れわ発見できますか?

156 名前:デフォルトの名無しさん[sage] 投稿日:2008/02/08(金) 09:16:30
GlobalAllocのGlobalRelease呼び忘れわ発見できますか?

158 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 09:54:07 ]
もうスルーで宜しく
メモリ管理もできない奴はGCに頼れ

で、GCを疑うなw

159 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 10:21:59 ]
明らかな弱点挙げて指摘したら〜もうスルーで宜しくって
分かり安すぎだなお前らw


160 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 10:33:49 ]
 (_ _ )
  ヽノ) そのネタは飽きましたのでお引取り下さい
   ll



161 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 10:34:49 ]
    ⊂ ⊂ヽ、  /)/)
          c、   `っ(  ヽ
        (   v)c、  `っ 
          V''V  (   v)  / ̄`⊃
               V''V   |  ⊃     
                   (   v)  ハ,,ハ  
                     V''V  (゚ω゚  )   
                          ⊂⊂ ヽ
                           >   )
                          (/(/
                                 ハ,,ハ
                                ( ゚ω゚ )  おことわりします
                               /    \
                             ((⊂  )   ノ\つ))
                                (_⌒ヽ
                                 ヽ ヘ }
                            ε≡Ξ ノノ `J

162 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 10:44:24 ]
何の弱点だよw
GlobalReleaseなんて呼んだ事ねーよwww

163 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 10:54:55 ]
AllocにはFreeだ。GetにはReleaseだ。

164 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 11:10:04 ]
そもそも、クリップボードにセットした場合なんかはGlobalFreeしてはいけない
つう例外もあるからそう簡単にチェックできる物でもないだろ

ま、どうせドトネト信者が「GCの無い言語なんて糞」とか言いたいだけかも知れんが

165 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 11:10:21 ]
IMEを作るには何を実装すればいいか、誰か知りませんか。
IMEを制御する方法は山ほど見つかるんだけどな。

166 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 11:18:29 ]
基本的にはimm.dllと同じエクスポートを持ったDLLを作ればいいんじゃね

ツールバーを出したければ別個にプロセスを起動してimm.dllから通信すればいい

167 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 11:22:52 ]
>>166
そりゃ確かにOSのIME管理システムそのものを乗っ取れるかもしれませんが、
えらく大雑把だなあ。

168 名前:147 mailto:sage [2008/02/08(金) 11:32:11 ]
>>154
サブクラス化は成功していると思います。
なぜかVK_RETURNは反応しています。
iはグローバル変数にしています。

169 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 11:41:28 ]
キーコードと仮想キーコードごっちゃになってるね。君

170 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 12:01:04 ]
GlobalAllocしたメモリのリーク検出なんてフックすれば簡単に出来る
COMインタフェースのリリースし忘れの方が困る
システムDLL内だったりシェル拡張が原因だったり



171 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 12:14:24 ]
昔のAdobe製品にはCOMの回収し忘れにより
GetOpenFileNameがエラー起こすっていうバグがあってだな

今は知らん

172 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 12:22:05 ]
>>170
つ IMallocSpy






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<212KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef