- 1 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 23:23:58 ]
- スレ立てるまでもない、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質問箱 Build68 pc11.2ch.net/test/read.cgi/tech/1215348804/
- 321 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 21:58:43 ]
- だから何でVirtualProtectのエラーチェックしないの?ゆとり?
- 322 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 22:01:10 ]
- 書き込みでAVになるか、書き換えた関数が呼ばれた時例外発生するか質問者ははっきりさせないといかんな。
- 323 名前:317 mailto:sage [2008/08/12(火) 22:09:50 ]
- >>321
俺別にエラーチェックしてないとは一言も言ってないんだがwwwww >>320の言ってる通りアドレス違反で落ちてるんだから・・・・・ 多分だけどやっぱ>>315はスタックオーバーフローしてるんじゃない? GetProcAddressもあわせてAPIフックしてるならその辺を睨んだ方がよさげ つーかコード掲示するかAdvancedWindowsのページがわからないと これ以上なんともいえない
- 324 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 22:27:47 ]
- 呼び出し規約かw
- 325 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 10:19:47 ]
- Ollyか何かで追跡してみれば
- 326 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 11:24:58 ]
- エディットコントロールの文字列選択の処理ってどうなっているのですか?
どうやって選択範囲を計算してるのですか?
- 327 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 11:37:19 ]
- GetTextExtentPoint
- 328 名前:315 mailto:sage [2008/08/13(水) 12:55:18 ]
- コードも例外発生の場所も書いてなくてスマン。
なのに原因を見抜けるってのはもうすげぇな、感謝!例外は置き換えた関数が呼ばれたときにおきてた。 きちんとstdcallだってのを置き換え関数で宣言したら、うまく動くようになった。 BCBとかdelphiは標準だとcdeclとかfastcallとかだったっけ。 とにかくみんなサンクス!!
- 329 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 15:10:46 ]
- >>327
キャレット位置をどうやって計算しているかわかりますか?
- 330 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 15:26:17 ]
- 一文字ずつ幅を足していく
- 331 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 15:34:53 ]
- WM_LBUTTONDOWN
クリック位置x.y座標取得 GetTextExtentPoint32関数で得られた文字列のサイズと比較していく、って事ですか?
- 332 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 19:09:19 ]
- GetTextExtentExPointを流用してもいいけど
- 333 名前:デフォルトの名無しさん [2008/08/13(水) 20:11:50 ]
- あるアプリのタブコントロールを別のプロセスから変化させたいのですが
別プロセスからTCM_SETCURSELをSendMessageすると、タブの位置は 変化するものの、TCN_SELCHANGEなどの通知メッセージがアプリ側で 発生しないので、肝心の内容が置き換わりません。 仕方なく、別プロセスから続けてWM_NOTIFYを発生させる事を考えたのですが、 別プロセスからでは構造体(NMHDR)を渡すようなメッセージは 伝わらない様です。 別プロセスからうまくタブが変化した事を通知する方法はないでしょうか。 該当コード SendMessage(htab, TCM_SETCURSEL, 3, 0); { NMHDR nmhdr; nmhdr.hwndFrom = htab; nmhdr.idFrom = GetDlgCtrlID(htab); nmhdr.code = TCN_SELCHANGE; SendMessage(hmain, WM_NOTIFY, GetDlgCtrlID(htab), (LPARAM)&nmhdr); }
- 334 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 20:29:33 ]
- VirtualAllocEx
WriteProcessMemory
- 335 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 20:41:43 ]
- sendinputを使おうと思って検索したらこんな2種類の書き方が出てきました。
lpKey->type = INPUT_KEYBOARD; inputKey[cnt].type = INPUT_KEYBOARD; この -> と [ ].type はどう違うんですか?
- 336 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 20:53:59 ]
- >>335
C言語スレ池
- 337 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 21:30:56 ]
- ステータスバーの文字の色を変えるにはどうすればよいですか?
- 338 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 21:38:25 ]
- MSDN読め
- 339 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 21:56:25 ]
- >>336
分かりました。
- 340 名前:デフォルトの名無しさん [2008/08/13(水) 22:14:10 ]
- >>334
ありがとうございます。 できました。 かなり泥臭いですね・・
- 341 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 07:25:29 ]
- BitBltする大きさが少し違っただけで、いきなり速度が変わるんですが、なんか理由があるんですか。
あとディスプレイを2つつないでる環境でも、速度が結構落ちるんですが。
- 342 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 07:31:47 ]
- そりゃそうでしょうね
- 343 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 07:54:37 ]
- ヒントでもいいから教えて
- 344 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 08:11:23 ]
- おっ
典型的ゆとり発言
- 345 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 09:15:43 ]
- 知らないならレスしないでください
- 346 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 09:52:15 ]
- 自己解決しました
ありがとうございました
- 347 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 11:19:44 ]
- 間違ってました
やっぱり教えてください
- 348 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 14:55:53 ]
- 教えてもいいが
気に入らない態度がお前の
- 349 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 15:50:41 ]
- 知らないならレスしないでください
- 350 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 17:42:44 ]
- 自己解決しました
ありがとうございました
- 351 名前:デフォルトの名無しさん mailto:質問age [2008/08/14(木) 18:46:37 ]
- 標準入力にデータが存在するかを調べるにはどうすれば良いでしょうか。
_kbhitやPeekConsoleInputを試してみたのですが、リダイレクトされた場合に機能しないようです。 CreateFileでOVERLAPPEDが使えるかとも思ったのですが、Consoleでは無視されると説明されていて 実際試してもうまくいきませんでした。
- 352 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 19:22:58 ]
- そういうときには実際に読んでみればいいんだよ。
- 353 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 19:41:47 ]
- DialogBoxやCreateDialogから行くcallback関数に変数等を渡す場合
はグローバルで宣言しておくしかないですか?
- 354 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 19:48:42 ]
- >>353
DialogBoxParam・CreateDialogParamの初期値で適当な構造体のポインタでも渡しとけ
- 355 名前:デフォルトの名無しさん [2008/08/14(木) 20:00:22 ]
- >>352
申し訳ありません、情報が足りませんでした。 入力がない間は他のことをしたいのです。
- 356 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 20:04:00 ]
- スレッド分けれ
- 357 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 20:05:00 ]
- >>354
出来ました。ありがとうございます
- 358 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 20:20:26 ]
- >>356
元が*nixなコンソールプログラムの処理中に、 出来るだけ手を加えずにほんのちょっと通信したかっただけなんで スレッド分けとかソケットは遠慮していたのですが、やはりそこまでやらないと駄目ですかね。 シグナルとかあればそれでもいいのですが。
- 359 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 20:40:50 ]
- Win32APIをC++でラッパしたフリーのライブラリ
でお勧めのものがありましたら教えて下さい.
- 360 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 20:44:41 ]
- Boost
- 361 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 20:53:10 ]
- msdn.microsoft.com/ja-jp/magazine/cc534994.aspx
これとか?
- 362 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 21:08:18 ]
- WTLを勧める
- 363 名前:359 mailto:sage [2008/08/14(木) 21:57:02 ]
- ありがとうございます。
自作ライブラリの参考にしたいので、 単純で解析しやすいのは無いでしょうか? eGUI++は、相当頑張ればなんとか読めそうでしたが、 WTLの方は[!endif]とか変な記号があってわかりませんでした。
- 364 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 22:00:52 ]
- へ?俺が見た限り、WTLに[!endif]なんて存在しないけど・・・
- 365 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 22:39:08 ]
- >>359
STLSoft
- 366 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 23:43:56 ]
- >>363
[!endif]はVSのプロジェクトテンプレートだろうがw
- 367 名前:359 mailto:sage [2008/08/15(金) 08:00:34 ]
- Win32APIとなんらかのC/C++コンパイラ・リンカ
があれば使えるようにできるといいなと思います。 つまり、リソースは使わずに、 マクロも極力避けるという感じで。 STLSoftも良さそうですね。
- 368 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 11:32:16 ]
- Perl.
system ('notepad.exe','abcde.txt'); ↑これでメモ帳が開けるんだけど、 win32APIの観点から、なにか アドバイスはありませんか?
- 369 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 11:42:45 ]
- ありません
- 370 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 12:23:23 ]
- 何を求めてるのか具体的に書かんと分からんよ
アドバイスって何よ 同じ事をしたいだけならShellExecute
- 371 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 13:47:36 ]
- Perlは便利というアドバイス
- 372 名前:351 mailto:sage [2008/08/15(金) 22:39:32 ]
- 自己解決しましたので報告します。
GetStdHandleなどで得たハンドルを直接WaitForSingleObjectに入れることが出来ます。 ただしそのままではKeyDownだけではなくKeyUpでもシグナル状態になってしまうため、 WaitForSingleObject+ReadFileまたはWaitForSingleObject+ReadConsoleの組み合わせだけではブロックします。 FlushFileBufferやCancelIOではキーボードイベントをフラッシュする事が出来ず、 他にフラッシュできそうなAPIを見つけることが出来ませんでしたので今回は採用を諦めます。 どうしても直接入力/リダイレクト両対応でノンブロッキングな標準入力を行いたい方は シグナル状態になった際にPeekConsoleInputで無関係なシグナルを検出し、 その時だけReadConsoleInputでイベントを取り除いてください。 >>356さんの言うようにスレッド化するのも手だと思いますが、ブロックするのでスレッドを終了できなくなるはずです。
- 373 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 22:48:15 ]
- 別にスレッド終了せんでもええやん?
- 374 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 01:25:25 ]
- CreateThreadまたは__beginthreadexを使用する時に
指定するスタックサイズは皆さん「0」指定で使ってますか? 通常は「0」で問題は無いのでしょうが もし仮に明示的なスタックサイズを指定している方がいれば その利点などについて詳しく教えてもらえるとうれしいです。
- 375 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 01:46:41 ]
- 0って言ってもデフォルトサイズを使うって指定しているんだから、サイズによって何が変化するか自分で考えろよゆとり馬鹿
- 376 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 01:49:05 ]
- ・デフォルトのスタックサイズでは足りない場合に増やす
スタックがあふれるようなアルゴリズムが悪いんだが、やむを得ない場合があるかもしれない ・スタックを減らしてアドレス空間を節約する スレッドを大量に作るとき、スレッド1個ごとに何MBも取ってると、アドレス空間の枯渇が早い という利点は思いつくが、今のところ俺は0以外を指定したことはない
- 377 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 04:24:02 ]
- STACK_SIZE_PARAM_IS_A_RESERVATION が指定できない2000以前じゃデフォルトより下げても意味なかったし0以外ねーな
- 378 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 04:51:04 ]
- 64bitコードならともかく、32bitコードじゃスタックサイズを増やすのはまずねーだろ。
アドレス空間足りねーよ。
- 379 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 12:18:14 ]
- デフォルトで1MBくらいなんだから、スタックサイズちょっと増やしたくらいでアドレス空間足らなくはならんだろ。
- 380 名前:374 mailto:sage [2008/08/16(土) 12:24:45 ]
- >>375-379
回答ありがとうございます。 >>376の言うとおりスタックを減らしてアドレス空間の 節約をした方がいいのか迷っていたので、 ほかの人の意見を聞いてみようと思って質問しました。 スレッドのスタックサイズに関しては特に意識する必要は無いという事ですね。
- 381 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 12:50:42 ]
- 質問です。。。
現在keybd_eventを使用して実際のキー操作をシミュレートしようとしているのですが, keybd_event( 'A', 0, 0, 0 ); のようなコードでは,実際にAをずっと押しているときのように,動作しません。 (例えば,テキストエディタをアクティブにしていたらAがいくつも入力される。 どうしたら,実際のキーボードを押しているように動作させることが出来るのでしょうか?
- 382 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 12:54:08 ]
- スタック領域って減らせるのか?
最初は4KBぐらいしか確保されてなくて必要に応じて動的拡張されるとかじゃなかったっけ?
- 383 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 14:27:15 ]
- GetOpenFileNameのダイアログ使ってるとMAX_PATH超えられないけれど
対策もしくは代替手段て有りますか?
- 384 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 15:13:42 ]
- ダイアログを自作する
- 385 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 17:02:35 ]
- perlで
ShellExecuteで、 notepad.exeを開きたい場合は どう書けばいいの?
- 386 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 17:14:04 ]
- `notepad.exe`
- 387 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 17:18:04 ]
- >>386
試してみたら、確かにメモ帳が開きましたが、 それってShellExecuteで開いてるの?
- 388 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 21:23:53 ]
- >>383
フックプロシージャの中からだとそういう制限は無かった気がする。 違ったらごめん。 >>387 ShellExecuteの中の人は、拡張子exeの関連付けに従ってプロセスを起動する。 何も特別なことはない。
- 389 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 21:52:03 ]
- >>387
どういうAPIを使ってるのかは、それが仕様化されてるのでなければ 処理系の実装依存だろうな。 直接ShellExecuteを呼びたいのなら ActivePerl Win32 API ShellExecute とかでググれ。 それでわからなければPerlの人に訊け。
- 390 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 22:55:06 ]
- 今の状況だと、
真っ黒なDOSプロンプトが開いて、 そのDOS窓が残ったままで、 メモ帳も開く、という動作なのですが、 DOS窓が開かないで、 あるいは一瞬だけ開いて、 それでメモ帳が開く、というのを するのに、shellexcuteを使えば いいんでない?と思ったのですが、 違いますか?
- 391 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 00:09:09 ]
- コマンドプロンプト経由で起動する事情なんざ、Win32的には知ったこっちゃないな。
Perlが勝手にやってることなんだから、あっちで聞け。
- 392 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 06:24:19 ]
- やだね
お前が勝手に聞いてろ
- 393 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 09:20:57 ]
- perlをWindowアプリとしてリコンパイルすれば解決する
- 394 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 10:40:24 ]
- perlネタはもういいよ。
- 395 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 13:01:22 ]
- perlがコンソールアプリだからだろ
active perl scriptを使えばいい
- 396 名前:383 mailto:sage [2008/08/17(日) 13:34:18 ]
- >>388
フックプロシャージャ作って中でCDM_GETFILEPATH使っても MAX_PATH以下になるようになってるみたいです。 CDM_GETFOLDERPATHやCDM_GETFOLDERIDLISTだと フォルダまでがMAX_PATHであれば選択ファイル名を追加で その分超えることは出来るみたいですがOKボタン押させて貰えない。 さらに深いフォルダにはアクセスさせてもらえないし 他の大半のアプリも触れない領域じゃ独自ダイアログにするほどのことでもない気がするので諦めます。 あとD&Dもメッセージが飛んでこないので駄目みたいです。
- 397 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 14:36:47 ]
- なんか知らんがUnicodeに汁
- 398 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 16:18:46 ]
- >>381
- 399 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 17:07:58 ]
- >>381
チート厨は氏ね
- 400 名前:381 mailto:sage [2008/08/17(日) 17:31:50 ]
- >>399
Wiiリモコンをパッドにしたいだけなのに。。。
- 401 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 17:33:55 ]
- >>400
それでもBAN対象のゲームは多いはず
- 402 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 18:05:19 ]
- >>400
ヒント っKEYEVENTF_KEYUP
- 403 名前:383 mailto:sage [2008/08/17(日) 18:08:46 ]
- >>397
長いファイル名は必然的にUnicode関数使うし 最近のプログラムなんでUnicodeビルドしてる。
- 404 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 19:39:11 ]
- シェル関数(SHGetPathFromIDListなど)がMAX_PATHを超えれないから
シェルに依存しているコモンダイアログも必然的にMAX_PATHを超えられないのだろう てかMAX_PATHを超えてしまうほど深い階層にファイル置くなよ
- 405 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 19:57:28 ]
- ThickFrame(ウィンドウサイズを変更する枠)で、
「ユーザーがウィンドウサイズを変更している間は、WM_ERASEBKGNDメッセージを無効にする」 という処理を加えたいんですけれど、 処理の開始は、WM_NCLBUTTONDOWNメッセージを捕まえてそれで問題ありませんでした。 処理の終了(サイズ変更の終了)も、同様にWM_NCLBUTTONUPメッセージを捕まえれば良いのかと思ったんですが、 うまくいきませんでした。 この場合の、「ウィンドウサイズ変更が終了した」という情報を、 アプリケーションが取得するにはどうしたら良いでしょうか? 誰かご存知の人は教えてください。
- 406 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 20:03:49 ]
- WM_SIZEとかWM_WINDOWPOSCHANGEDとか?
- 407 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 22:22:33 ]
- >>402
KEYEVENTF_KEYUPを引数としてキーが上がったということも書いているのですが, >>400のやりたいことのように出来ません。。。
- 408 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 01:09:41 ]
- 初歩的な事で申し訳ないのですが、
実行ファイルのアイコンが指定通りに変わらず困っています。 WINDCLASSEX構造体には以下のように記述しています。 wcex.hIcon=(HICON)LoadImage(hInst,"ファイル名",IMAGE_ICON, 0,0,LR_DEFAULTSIZE|LR_LOADFROMFILE); です。 リソースを使わずicoファイルにパスを通す方法で実現したいのですが、 表示されません。 hIconもNULLではない様なので問題ないと思うのですが・・・。 因みに、タイトルバーに表示される方は上手く表示されています。 ですので、ファイル名の指定でパスがおかしいということはないと 思います。
- 409 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 01:35:39 ]
- WNDCLASS(EX)というのは、ウィンドウの設定をするだけ
実行ファイルのアイコンとかは何も変わらない
- 410 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 03:10:32 ]
- >>408
exe のリソースに埋め込まれたアイコンの中で 一番番号の若い物が exe のアイコンになります
- 411 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 03:49:06 ]
- >>409
そうだったんですか・・・。 前は普通にリソースで入れてたんで、気づきませんでしたが そこに指定したらアイコンになるもんだと思ってました・・・。 >>410 409の方のを読んで色々と調べていたんですが、 やっぱり、リソースを埋め込むものなんですね。 >一番番号の若い物が exe のアイコンになります 知りませんでした・・勉強になります。 おかげさまで一応解決しました。
- 412 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 07:58:09 ]
- 常駐型アプリを作ってます
タスクバーに表示されず タスクトレイにアイコンを表示させるとこまできましたが、 タスクマネージャ−アプリケーションで見ると タスクの欄にしっかり表示されてしまいます 他のアプリを見るとここには表示されていません タスクマネージャ−アプリケーションに表示されないように 常駐アプリを作るにはどうすればいいですか
- 413 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 09:32:48 ]
- ウィンドウが出てるんだろ
- 414 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 17:26:55 ]
- ヴィザードで、自動で次のページに移行したいんですけれど、
PSHNOTIFY myLp={NULL,}; myLp.hdr.code = PSN_WIZNEXT; SendMessage(hDlg,WM_NOTIFY,NULL,(LPARAM)&myLp); ↑のコードじゃ駄目なんですかねぇ?? case WM_NOTIFY: LPPSHNOTIFY lppshN = (LPPSHNOTIFY)lp; switch (lppshN->hdr.code){ ... } ↑のコードで、「戻る」「次へ」等のメッセージは取得できるので、 同様のメッセージを送ってみたのですが・・・。 ウィザードで、自動で次のページに移行させる方法 (「次へ」ボタンを押した場合と同じ効果を出す方法) をご存知の方、ご教授下さい。
- 415 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 17:53:07 ]
- >>414
MSDN読め
- 416 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 19:12:39 ]
- >>407
入力送信後にSleep(100);とかしたらどうかに?
- 417 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 21:51:40 ]
- >>414
WM_COMMAND投げたら?
- 418 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 22:37:30 ]
- >>416
いれてみましたがだめでした><
- 419 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 23:03:29 ]
- PC再起動すると動く場合がある
- 420 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 23:12:33 ]
- >>419
- 421 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 13:21:09 ]
- >>419
|

|