- 1 名前:デフォルトの名無しさん [2007/05/11(金) 20:27:08 ]
- スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。 過去スレ、関連リンクは>>2-5くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版(msdn.microsoft.com/library/)の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
- 152 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 13:24:56 ]
- 一般に無理
- 153 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 14:05:42 ]
- >151
DataGridViewってdotNETの?それならそういうスレに行ったほうがいいと思う。
- 154 名前:デフォルトの名無しさん [2007/05/20(日) 14:13:35 ]
- スレ違いかもしれないのですが、どこに書いたらいいのか分からないのでここで質問させてください。
記憶ディスクにセクタ単位でアクセスしたいのですが、 WindowsのAPIだけでそういうことはできるんでしょうか? FAT32でもNTFSでもかまいません。方法があったら教えてください。
- 155 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 14:38:44 ]
- NTならCreateFileで\\.\c:\のようにドライブを指定すれば、
あとはRead/WriteFileでいける。 Cとかならバックスラッシュのエスケープに気を付けろ。 9xならvwin32を叩く。 web.archive.org/web/20040620102307/tech.millto.net/~morry/vwin32/adio/index.html 俺がやったときには95 OSR2以前と以降で違う方法をとらないとうまくいかなかった。
- 156 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 14:45:13 ]
- SP2から禁止されなかったっけ
- 157 名前:154 mailto:sage [2007/05/20(日) 14:50:52 ]
- ありがとうございます。やってみます。
- 158 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 14:57:32 ]
- >>155
ttp://homepage3.nifty.com/k-takata/mysoft/rwfd.html ↑ソース付きなので参考になるかも。
- 159 名前:158 mailto:sage [2007/05/20(日) 14:58:17 ]
- >>155じゃなくて>>154だた。
- 160 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 16:01:27 ]
- >148
LockWindowUpdateは解除したときに、デスクトップ全部の再描画が発生するよ。
- 161 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 16:15:10 ]
- >>149
無理
- 162 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 18:55:32 ]
- winerror.hをreadしてparseしてだな(ry
- 163 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 19:47:21 ]
- タスクトレイのアイコンを右クリックして出るメニュー(TrackPopupMenu)の
メニューハンドルを取得するにはどうしたらいいでしょうか?
- 164 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 19:49:24 ]
- タスクトレイのアイコンを右クリックして出るメニューは自分で作るものだろ?
- 165 名前:163 mailto:sage [2007/05/20(日) 19:50:25 ]
- すみません、他のアプリです。
- 166 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 19:54:39 ]
- >>163
TrackPopupMenuをAPIフックするとか
- 167 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 19:59:20 ]
- メニューハンドルを深追いすると、WinAPIの暗黒に飲み込まれるぞ。
- 168 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 20:44:37 ]
- >>166-167
マジですか!? とりあえず深追いしない程度に頑張ってみます。 ありがとうございました。
- 169 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 21:22:32 ]
- ポップアップするまでハンドルって分からないこともあるんじゃ?
WM_CONTEXTMENUとかでメニュー生成してたらアウトでしょ ずっとメニューハンドル保持し続けてたらいけるかもしれないけど
- 170 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 21:24:25 ]
- 対象プロセスのウインドウを片っ端からモニタ。
- 171 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 06:08:00 ]
- >>163
popupメニューの操作で起こるActionを 外部からのトリガで実行したいとか言ってた人? 前のスレで答え出てたぞ SendMessageで WM_COMMANDとメニュー項目のid値なげればおk id値はspy++でも使って突き止めれば行けるんでは
- 172 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 07:11:51 ]
- 行けたー━━━━(゚∀゚)━━━━!!!!
情報サンクス愛してる♪
- 173 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 08:02:08 ]
- 愛されたw
- 174 名前:デフォルトの名無しさん [2007/05/21(月) 16:27:54 ]
- 愛されたのは俺ですが
- 175 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 17:18:07 ]
- >>173
誰だよw >>174 妬くなよw
- 176 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 17:44:33 ]
- >>174
上げるほど愛に飢えてるのかw
- 177 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 17:55:57 ]
- 僕愛人!
- 178 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 18:09:51 ]
- 僕ラマンチャ!
- 179 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 18:24:45 ]
- (XPの)クラシックスタートメニューでコントロールパネルを展開するにしている時、
コントロールパネルのアイテムの増減が即座に反映されるようにするにはどうすればいいですか? コントロールパネルを開いたら反映されているのですが、アイコンメニューが名前順で並べ替えしないと反映されません。
- 180 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 18:25:40 ]
- reboot
- 181 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 18:28:00 ]
- ちょw
- 182 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 19:15:13 ]
- なのはって頭よさそうじゃん
- 183 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 19:16:21 ]
- むやみにコントロールパネルに追加するんじゃありません!めっ!
- 184 名前:デフォルトの名無しさん [2007/05/21(月) 21:33:41 ]
- エディットコントロールからデスクトップ等にミドルボタンでD&Dした時
ドロップした位置にファイルを作成するにはどうすればいいのでしょうか
- 185 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 21:54:40 ]
- そんな仕様はMSのガイドラインになかった気がする。
- 186 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 00:00:58 ]
- IShellFolderからGetUIObjectOfでDataObject作ってDoDragDropかいな?
- 187 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 01:24:30 ]
- コンソール非表示のためにmainからWinMainに切り替えたんだが、そうすると
起動時にマウスカーソルが5秒程度砂時計になったままになる 長時間砂時計になるのを防ぐいい方法があったら教えてください
- 188 名前:デフォルトの名無しさん [2007/05/22(火) 02:04:24 ]
- ありがとうございました
やってみます!
- 189 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 03:24:19 ]
- IWebBrowser2でHTMLを表示しています。戻る・進むボタンをつけ、
それぞれのボタンの有効・無効を切り替えたいのですが、 GoBack(), GoForward()が実際に有効かどうか判定する方法が分かりません。 どうしたらよいでしょうか。
- 190 名前:デフォルトの名無しさん [2007/05/22(火) 03:25:07 ]
- BCC用に作られたDLLを使いたいのですが、付属の.libファイルがVisualC++で使えません。
こういう場合って、LoadLibraryとGetProcAddressで、明示的にロードして使うしか方法が無いのでしょうか? 関数ポインタをいちいちロードしていくのは面倒なんですが・・・ BCCのように、DLLから.libファイルを作るのって無理なんですかね?
- 191 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 03:27:08 ]
- >>187
メインスレッドが応答しないからそうなる。 別スレッドで実行しろ。
- 192 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 03:43:54 ]
- >>189
ITravelLogStg
- 193 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 07:44:55 ]
- >>189
DWebBrowser2インターフェイスでそういうイベントを捕まえられたはず
- 194 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 15:12:10 ]
- 32767を超えるウィンドウって・・・作れないの?
子ウィンドウ(hCWnd)内では一番底に配置してある部品の座標はright:900、bottom:40000なので、WM_CREATEの最後でMoveWindow(hCWnd,0,0,1000,41000)してある。 にも関わらず、その後に親ウィンドウからGetClientRect(hCWnd,&rt)したらrt.bottomが32767になる。 どーりでスクロールバがまともに動かない訳だ・・・ 32676を超えるウィンドウってどーやって作るの? #まさか出来ん??? って・・・秀○とか・・・そこらのテキストエディタってどーやってんだ? #MFCか?
- 195 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 15:27:30 ]
- >>190
名前忘れたがフリーソフトである 要は関数名列挙した.defファイルさえあれば.libは作れるんで、それを自動化したものだと思った で、話変わるけど、GINA差し替えても「ようこそ」画面は維持できるようにする方法ってある? 1.4までの全APIをMSGINAのスタブにしただけのDLLでもようこそ画面は解除されちゃうんで・・・
- 196 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 15:28:18 ]
- >>194
スクロールバーで子ウィンドウをスクロールさせる発想が間違ってる 子ウィンドウでなく描画位置をかえる
- 197 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 15:40:07 ]
- >>190
VCなら付属のlib.exeじゃ駄目なのか
- 198 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 15:45:27 ]
- >>194
スクロールバー自体が最大32767じゃなかったっけ?
- 199 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 15:47:14 ]
- VC++ 2005EEでWin32APIとC++でゴリゴリ書いてるんだけど、
Windowsフォームアプリケーションみたいなボタンとかの コントロールって張れるの?
- 200 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 15:51:49 ]
- >>199
どういった意味で言ってるのかわからん。 コントロールをウィンドウに貼ると言うだけなら 普通にCreateWindowすればいいよん。 エディットコントロールならウィンドウクラスは"EDIT"で、WS_CHILD つけて 親ウィンドウを自分のウィンドウにして。
- 201 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 15:55:38 ]
- >>196
> >>194 > スクロールバーで子ウィンドウをスクロールさせる発想が間違ってる > 子ウィンドウでなく描画位置をかえる ちょっと書き方が悪かったか。別にhCWndをMoveWindowとかしてないよ。 ちゃんとスクロールバが付けているhCWndの親をScrollWindowExで描画位置を変えてるよ。 #汎用的に使える様に子供として乗せる独自クラスを使っている。 ただ、この方法でなくても・・・↑独自クラス化しない・・・例えば 猫の第100章 SCROLLINFO構造体 の例の WM_SIZE:のGetClientRectでも32767を超えた値を取れないんじゃないか? #スマソまだ試してないんだけど^^;
- 202 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 16:02:27 ]
- >>199
ダイアログリソース作ってコントロール配置して ::CreateDialog()。
- 203 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 16:02:53 ]
- >別にhCWndをMoveWindowとかしてないよ。
なのに、GetClientRectにこだわってるのは何で?
- 204 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 16:04:36 ]
- あと、たしかにWindows95/98/Meはウィンドウのサイズの上限は32767だけどね
- 205 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 16:11:23 ]
- >>201
それならウィンドウをそこまで大きくする必要は無い >>198 メッセージとして送られる値はshortだがSCROLLINFOはintまで使える 後は掛けるなり割るなりして描画位置をかえればいい
- 206 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 16:16:58 ]
- >>203
> >別にhCWndをMoveWindowとかしてないよ。 > > なのに、GetClientRectにこだわってるのは何で? ん?? あれぇ、漏れなんか勘違いしてるかぁ? 描画位置を変えるって、所詮は自分のクライアント領域を上下とか左右にスライドさせている 感覚なのだが…ちゃうんけ? だからクライアント領域の最大値を最初に SCROLLINFO siとかに設定してスクロールバの位置と表示 されるクライアント領域の位置のつじつまが合う様にしていると思っているのだが…
- 207 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 16:30:35 ]
- 仮に1000行のテキストがあったとする
クライアントには10行表示されたとして そこから50行スクロールさせる 描画位置は51行、そこから60行までの10行を表示させればいい 1000行分のウィンドウサイズはいらない
- 208 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 16:36:33 ]
- クライアントエリアの左上は常に 0, 0 なので
どんなにスクロールさせようとGetClientRect の値は 0, 0 を起点にした大きさでしか取得できんよ。
- 209 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 17:05:39 ]
- >>207
いや、ちょっと待ってくれ。 確かに猫を例にしたのはちょっと悪かったが… 単に文章だけなら、そー言った方法も考えられるんだけど、実際にはクライアント領域には さまざまなコントロール(ボタンやら)も載ってる訳で… それらがスクロールバの動きに合わせて見え隠れするってのは、文字列みたいには ゆかんだろう? >>208 問題にしているのはrigth/bottomな訳だが… どこかに良い例文はないかね? orz
- 210 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 17:10:09 ]
- >>209
>>207は仮の話しだしヒント コントロールを移動させろ
- 211 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 17:11:31 ]
- >>209
色々貼り付けられている親のクライアント領域に 貼り付けられた子で 「子のウインドウrectを取って 親へScreenToClient する」 なら意味ありそうだが、 「子のクライアントrect 取って」 もしゃーないんじゃないか? ということを >>208 は言っている。
- 212 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 17:14:47 ]
- >>209
文字もコントロールも変わらんよ
- 213 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 17:25:47 ]
- >>209
OSを書き換える気がないなら、ウィンドウズに頼らずに自前で位置を管理して 見える所のコントロール(+α、tab等でフォーカスが次に移る可能性のあるもの) だけ正しい位置になるようにすればOK。 あとは適当に表示されない位置に移動or非表示に。 ボタン等コントロールらしきものなどが配置された広大な領域を扱いたい というだけなら、html ダイアログを作るという手もある。
- 214 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 17:35:11 ]
- フォームビューみたいなことやりたいのかな。
そもそも32767までしか作れないというのはどうやったの? 普通に32767超えられるけど。
- 215 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 17:42:20 ]
- Sleep()中にマウスカーソルが砂時計になるのですが、
これを矢印のままにしたいです。どうすればできますか? MFCはできれば使いたくありません。
- 216 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 17:50:06 ]
- GUIスレッドでSleepすんな
- 217 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 17:50:08 ]
- 試してないが
WM_SETCURSOR で何とかならんか?
- 218 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 17:50:17 ]
- MakeSureDirectoryPathExistsって、PCSTRが引数で、
Unicodeビルドするとコンパイルが通らないんですけど、 この関数ってUnicodeのときは使えないものなんでしょうか?
- 219 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 17:53:07 ]
- あ、メインスレッドとめちゃってる訳ね
- 220 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 17:56:39 ]
- >>214
高さ、幅サイズが32767を超えられるのか? 72dpiで455インチ(1155.7センチ)、96dpiで341インチ(866.14センチ)かー
- 221 名前:デフォルトの名無しさん [2007/05/22(火) 17:59:26 BE:31057128-2BP(222)]
- >>209
>それらがスクロールバの動きに合わせて見え隠れするってのは、文字列みたいには 同じ事だろ。
- 222 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 18:01:03 ]
- >>220
ああごめん、ウィンドウサイズは超えられるけど、クライアントエリアのサイズは32767止まりだったわ
- 223 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 18:02:15 ]
- >>218
typedef CONST CHAR* PCSTR;だったはず。 多分デバッガ用のヘルパー関数扱いだったから、 UNICODE版がないんだろうね。
- 224 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 18:02:37 ]
- >>218
コンパイルが通らないだけじゃわからない 必要ファイルがインクルードされてないのか libがリンクされてないのか WIN95を対象に開発してるのか 色々ある
- 225 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 18:05:27 ]
- >>223
TSTR じゃなく STR だし UNICODE版が居ないように見えるね
- 226 名前:218 mailto:sage [2007/05/22(火) 18:11:02 ]
- 1 番目の引数を 'class CString' から 'const char *' に変換できません。
1 番目の引数を 'const unsigned short *' から 'const char *' に変換できません。 などと出てきます。 今までWindows2000でMBCSのままでやってたときは問題無くビルドできていたけど、 UNICODEに変更したらMakeSureDirectoryPathExistsでずらずらエラーが出ました。 UNICODEでやってる人たちって、この関数に頼ってないということなのでしょうか?
- 227 名前:223 mailto:sage [2007/05/22(火) 18:11:18 ]
- >>218
エスパー魔美な俺が一言 SHCreateDirectoryExを使え!
- 228 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 18:12:18 ]
- >>227
俺が・・・ってw
- 229 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 18:14:23 ]
- ヘルプに書いてあるなw
そうでなくてもPCSTRに変換すれば使えそうだけど
- 230 名前:218 mailto:sage [2007/05/22(火) 18:24:21 ]
- MakeSureDirectoryPathExistsを全部SHCreateDirectoryExに置き換えてみます。
ヘルプを呼んでみた限り、 SHCreateDirectoryEx(NULL, パス名, NULL); という呼びかたでいいんですよね? 間違ってたら突っ込んでもらえると嬉しいです。 ありがとうございます。
- 231 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 19:15:59 ]
- dll側から自身を終了させる(exeは終了させない)にはどうしたらいいですか?
dll側で自身をFreeLibraryしてもexeは普通終了されないのでしょうか?
- 232 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 19:21:36 ]
- 根本的に考え方を間違ってないか?
- 233 名前:231 mailto:sage [2007/05/22(火) 19:22:48 ]
- そうだと思います。
ご指摘お願いします。
- 234 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 19:25:23 ]
- >>210
ぐえっ、やっぱりそれかよ…orz 確かに説明わるい。早い話がExcelみたいな画面を作りたいわけだ。 で、もう一度よくよくExcelの動きを見ると…そーかぁ…クライアント領域みたいな物をスクロール させてる訳では無いかも。枠の線って変化しないで中の数字(文字列)だけが移動しているだけかも(?) #でも横のスクロールは線も移動してるよなぁ^^; 貼り付けたコントロールも移動させてる感じだね。 了解。やってみるよ。
- 235 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 19:49:37 ]
- >>231
良くわからん FreeLibraryを使った関数使うのはexe側だろ だったらexe側でFreeLibraryしたらいいんじゃないの?
- 236 名前:231 mailto:sage [2007/05/22(火) 19:55:55 ]
- exeは既存の物でdllが自作です。
exeでもFreeLibraryしてますが、それより早く不要になった時点でdllを解放したいのです。
- 237 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 19:58:58 ]
- >>236
どうやってLoadLibrary&GetProcAddressするの?
- 238 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 20:00:21 ]
- exe側でFreeLibraryしてるなら、勝手にDLL側終了しちゃダメじゃん。
えらいことになりそうな気がする。
- 239 名前:231 mailto:sage [2007/05/22(火) 20:07:18 ]
- >>237
特定の関数をエクスポートしていればそのdllをプラグインとして認識するタイプです。 >>238 そうですか。exeの実行時に使用してexeが終了するまで使わないので、 ちょっとでもメモリ消費量なり抑えられればと思ったのですが・・・。
- 240 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 20:19:10 ]
- >>239
おまいはDLLのなんたるかを理解していないな
- 241 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 20:25:12 ]
- もう使わないことが分かってるなら、exeのほうからFreeLibraryすりゃいいじゃないか。
- 242 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 20:37:27 ]
- >>241
dll側のソースだけでどのようにexeのほうからFreeLibraryするか分からないんですが・・・、 すみませんが教えて頂けませんか?
- 243 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 20:46:21 ]
- >>242
プラグインとして不要と exe 側のコードを書いた人が判断したタイミングで FreeLibrary を呼ぶ DLL側のコードを書く人は自前で Load/Free を管理できねー
- 244 名前:231 mailto:sage [2007/05/22(火) 20:57:47 ]
- 分かりました。ありがとうございました。
- 245 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 21:41:31 ]
- >>195
> MSGINAのスタブ 「ようこそ」画面を提供してるのはshgina.dll
- 246 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 21:42:41 ]
- Thread動かすタイプのDLLなら、
FreeLibraryAndExitThread という話になるんだよねたしか。
- 247 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 21:49:56 ]
- そして、
FreeLibrary(); ExitThread(); すればいいのに、何でこんな関数あるのって話になるんだよねたしか。
- 248 名前:デフォルトの名無しさん [2007/05/22(火) 21:54:05 ]
- FreeLibrary();
ExitThread(); すればいいのに、何でこんな関数あるの?
- 249 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 21:54:34 ]
- FreeLibraryを先に呼ぶと、ExitThread呼ぶコードがアンロードされて死亡だし、
ExitThreadを先に呼ぶと、FreeLibraryするチャンスがないからだよ、 ってたしか the Old New Things あたりに載ってたんだよねきっと。
- 250 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 22:03:45 ]
- なるほど。
- 251 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 23:11:53 ]
- 子プロセスを特定してヌッ殺す方法を教えてください
明示的に作成したプロセスなら簡単なんだけど、コンソールアプリ起動した時の conime.exeみたいに勝手にくっ付いてる子プロセスを特定する方法が分からない
- 252 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 23:33:52 ]
- exe, dll, ico, iclなどから
インデックス、サイズ(small/largeだけでなく24とか128も)を 指定してHICONを取得したいと思っています。 IExtractIcon::Extractで希望のアイコンは取得できるのですが 数が多いと動作が遅くて困ってます。 何か他に良い方法ってあるのでしょうか? ご存知の方いたらお願いします。
|

|