1 名前:デフォルトの名無しさん [2007/06/12(火) 19:59:25 ] スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。 やさしいお兄さんやお姉さんたちが答えてくれるかも。 過去スレ、関連リンクは>>2-5 くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版(msdn.microsoft.com/library/ )の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
477 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 11:38:45 ] ぎゃくりんで変換されないんですけど本当はなんて読むんですか
478 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 11:39:16 ] ぎゃくうろこ
479 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 11:44:47 ] >>477 「逆鱗」で検索すれば判ると思いますよ。
480 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 11:54:18 ] >>477 メモ帳にコピペして「変換」キーを押せば分かる。
481 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 12:12:12 ] C#をつかってます。 ユーザーさんからあるAPIでEntryPointNotFoundExceptionがでるって報告があがりました。 まあぶっちゃけILCreateFromPath なわけなんですが MSDNには Minimum operating systems Windows 2000 とあって、そのユーザーさんはスクショからみるにXPなんです。 うちのXPでは動いてるんですが、ありえるんでしょうかこんなこと。 私がしでかした間抜けで不可解な未知のバグの可能性と、 その人のshell32.dllがぶっこわれてる可能性と どっちが高いでしょうか?
482 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 12:17:01 ] ジャンクション(フォルダへのシンボリックリンク)内にあるファイルの実体のpathを 取得する方法を教えてください。
483 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 12:24:47 ] 僕ハッカー
484 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 13:08:03 ] Win98でもXPに見せることはできる
485 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 13:24:48 ] >>482 DeviceIoControl使えば取得できる。
486 名前:デフォルトの名無しさん [2007/06/30(土) 15:06:27 ] PROCESS_INFORMATIONの、dwProcessIdか、dwThreadIdからウィンドウハンドルを求めたいんですが、 方法ありますでしょうか、情報ありましたらよろしくお願いします。
487 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 15:14:18 ] ものすごくありふれた情報だけどググったの?
488 名前:デフォルトの名無しさん [2007/06/30(土) 15:55:36 ] スレも検索してないだろ。昨日か一昨日見たぞ
489 名前:486 [2007/06/30(土) 17:59:00 ] コメントありがとう御座います。 ひととおり検索はしてみたのですが情報が多く期待した情報が見つけることが出来ませんでした。 できましたら、検索キーワードだけでも教えていただけないでしょうか。 よろしくお願いします。
490 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 18:03:09 ] 具体的に何で何を検索したのか言ってみろよ
491 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 18:13:23 ] >>489 えぇ〜!?どんだけ〜(ry
492 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 19:04:48 ] >>489 >>223
493 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 19:47:12 ] 385じゃね
494 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 20:07:09 ] >>489 なんでお前の代わりに俺がスレを読み直さないといけないんだ? やることはわかってんのに、なんで自分でやらないの?
495 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 20:25:57 ] 無知の無知に愛の鞭
496 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 20:28:45 ] >>485 どうもありがとうございます。これから調べてみます。
497 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 21:22:24 ] >>481 エントリポイント名を ILCreateFromPathW に変えてみる、とか。 家のXP SP2のshell32.dllはA、W、無し(=W)と3つエクスポートされてるけどなあ。
498 名前:486 [2007/06/30(土) 21:29:04 ] さくっと、検索キーワード教えて頂けませんでしょうか。
499 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 21:32:29 ] PID2HWND これでぐぐればおkじゃん?
500 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 05:29:22 ] うぜーから放置で
501 名前:デフォルトの名無しさん [2007/07/01(日) 09:39:03 ] DllMain の DLL_PROCESS_ATTACH でLoadLibraryしたら× DllMain の DLL_PROCESS_DETACH でFreeLibraryしたら× とMSDNにあります。 Dllの利用元に処理をしてもらうわけでなく、何かの関数を呼んでもらうわけでなく、 DllのATTACH時に別のDllを動的にLoadLibrary〜初期処理、DETACH時にそのLoadしたDllを終了処理〜FreeLibrary する実装の代替案ってどういうふうに書いたらいいですか? 設定ファイルにかかれたDllファイル名からを動的にDllから読み込んで、 前処理しておいて、設定毎に処理を変更する動作をつくりたいんです。 いまのところATTACH時にLoadLibraryして、DETACH時にFreeLibraryするのを作ったんですが 問題がでてないんですけど、MSDNにすんなってかいてあるんで・・・。 初めてDLLのなにかの関数が呼ばれたときにLoadLibrary〜前処理するってのは無しで。
502 名前:デフォルトの名無しさん [2007/07/01(日) 09:55:13 ] やっぱ初めてDLLのなにかの関数が呼ばれたときにLoadLibrary〜前処理するってのは有りで。
503 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 09:56:56 ] 確か他のDLLが初期化途中だとループする可能性があるから駄目なんだったかな A初期化中にBをロード→B初期化中にCをロード→C初期化中にAをロード→・・・ みたいな DLL_PROCCESS_ATTACHが処理を返してからなら参照カウンタが増える (カウンタが1以上ならDLL_PROCCESS_ATTACHは投げられない)からループしない
504 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 10:44:44 ] 質問なんですけどダイアログで使えるコントロール(タブとかシークバー)を自前のWindowで使いたい場合はどうすればいいのでしょうか? CreateWindowで作れるコントロールの中には無いっぽいのでどうすればいいか困ってます。
505 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 10:53:35 ] commctrl.h
506 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 11:33:25 ] >>501 CoInitialize/CoUninitializeみたいに別途初期化・終了処理の関数を用意したり、 暗黙的リンク(必要に応じて遅延読み込み)したり。
507 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 11:57:39 ] Microsoft Platform SDKとはなんですか? これだけでほかの開発環境なくてもプログラミングできるのでしょうか
508 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 12:10:29 ] >>507 Windowsアプリを作るうえで必要になるライブラリ群。 ライブラリなので、当然これだけでは何も作れない。
509 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 12:15:58 ] ここは既にプログラミングの環境が構築できてる、 あるいはできるという条件の元でWin32APIについて質問するスレです。 環境の構築ができてないレベルだと、>507の質問に回答が出ても理解できないかもしれないが そこまで面倒見れない
510 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 12:23:08 ] そうですか WIN32APIとはまた違ったものなんですね
511 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 12:26:28 ] まあでもWin32 APIを使うためのヘッダやインポートライブラリと、 ドキュメント・サンプル・ツールなんかが入っているセットと言えばいいかな。 でも、今はWindows SDKになったが。
512 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 13:19:04 ] >>507 百聞は一見に如かず 無償でダウンロードできる代物なのだから、 とりあえずインストールしてみて、 HDDにコピーされたファイル群を眺めてみれ。 必要かどうか分からないなら、とりあえず、 潰してもいい環境にインストールすりゃいい。 潰してもいい環境を用意できないようなら、 HDDに十分な空き容量とVirtualPCを。
513 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 13:20:18 ] Windows SDKはコンパイラ・リンカが付いてくるよ。
514 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 14:07:20 ] Windows SDKのコンパイラは /analyze が付いてるよ。
515 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 16:04:39 ] ファイルをドラッグ&ドロップして起動した時に、 そのドロップされたファイルを読み込ませたいのですが、 lpCmdLineを引数にfopenしてもオープンできません。 どうすれば読み込ませられますか?
516 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 16:08:34 ] それでできないことはないはず。 まずは試しにlpCmdLineを表示させてみな。
517 名前:515 mailto:sage [2007/07/01(日) 16:23:37 ] 表示してみました。 "C:\Documents and Settings\〜中略〜\aa.mp3" 正しいパスが表示されてるっぽいです。
518 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 16:31:49 ] 「"」を取り除け
519 名前:501 [2007/07/01(日) 16:42:33 ] IDないと502にみたいな偽者がでてくるのか・・・ >>503 そうなんですよ。でも別の代替の処理を考えつかないんです。 >>506 暗黙的に行うと、DLLのパスが設定ファイルから渡して動的ロードできないので使ってないです。 CoInitialize/CoUninitializeはなんで制約がないのか調べて見ます。
520 名前:515 mailto:sage [2007/07/01(日) 16:57:26 ] いけました。本当にありがとう。
521 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 16:59:45 ] >>519 すみません、代替処理見つからないなんて釣りだと思いました。
522 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 20:40:22 ] >>514 マジですか。お得ですね。 VSのコンパイラをSDKのものに差し替えたくなりますな。
523 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 20:45:14 ] >>519 CoInitialize/CoUninitializeの話は、 DLL_PROCESS_ATTACHでLoadLibraryするのではなく、 そのDLL特有の、LoadLibraryなどの初期化処理を行う関数をExportして、 それをDLLを使う側に呼んでもらうことにする ってことかと。
524 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 20:48:38 ] >>517 CommandLineToArgvW とか使ってパースしる!
525 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 21:00:45 ] ANSI考慮するなら__argc,__argv。 標準ライブラリが必要だけど
526 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 21:38:43 ] >>519 プログラム側でロードが終わった時点で初期処理すればいいだけのような気がするんだけど CreateでロードしてんならLoadLibraryが処理返してから初期処理とやらをすれば良いじゃん
527 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 21:52:59 ] >>514 まじで?! 70万だして買っちまったよ・・・
528 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:00:15 ] まじだよ。/? すると -CODE ANALYSIS- /analyze[:WX-] enable code analysis WX- - code analysis warnings should not be treated as errors even if /WX is invoked って出る。バージョンとかは同じだけど、付属のバイナリ群はdiffとるとどれもちがうっぽい。 まあ使い方わかんないし、最近Cやってないから必死こいて調べないし、スレ違いだけど
529 名前:デフォルトの名無しさん [2007/07/01(日) 22:19:48 ] >>523 >>526 そのやりかただとフックとかしかけたときにそのDLLの アタッチ時に別のDLLを呼べない。 というわけで初めてCALLBACKされたときに初期化するしかなくなる。
530 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:32:41 ] >>529 >というわけで初めてCALLBACKされたときに初期化するしかなくなる。 これが正しいんだと思うが 適当にメッセージ投げろよ >そのやりかただとフックとかしかけたときにそのDLLの >アタッチ時に別のDLLを呼べない。 グローバルにフック仕掛けてたら必要ないプロセスに無駄なDLLロードすることになるじゃん
531 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 23:26:12 ] お前ら。 DLL作るときは、ロードアドレス、ちゃんと設定しとけよな。 VCとかのデフォルト値のままだと、リロケートすることになるし、仮想メモリ空間をぶった切ることになるぞ。
532 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 23:31:02 ] どっちにしろ、デフォルト1000:0000でグローバルフックする ような連中もいるんだから無駄 仮想メモリがぶった切られるったって、MS純正のDLLとしてが 4000:0000とかに存在する現状では寂しい限り。
533 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 23:36:45 ] 64bitいや128bitの時代はまだか
534 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 23:37:46 ] 128bitになるころは画面はホログラムになってますか?
535 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 23:50:29 ] >>532 行儀が悪い輩がいるからといって、自分まで行儀悪くしてどうするよ。 人様が作った行儀が悪いDLLはReBaseでベースアドレスを変更しちまえ。
536 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 00:41:53 ] どのへんに置いとくのが適切なのかわからん
537 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 00:46:11 ] >>536 MSDNライブラリ等で ReBaseImage のところに説明がある。
538 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 00:59:03 ] Comboboxのedit controlを取得するのってGetWindow(コンボのハンドル, GW_CHILD)しかない? ComboboxexならCBEM_GETEDITCONTROLがあるんだけど、、 Comboboxで安全にeditを取得する方法があるのなら、知ってる人いませんか?
539 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 01:27:39 ] CB_GETCOMBOBOXINFO
540 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 02:02:06 ] >>539 ずばりのもの、ありがとう。解決しました。 MSDNをみるとCB_GETCOMBOBOXINFOはXp、 windows2000では、GetComboBoxInfoが使えますね。
541 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 02:46:42 ] >>528 Windows2000環境にインストールしようとして断られた・・・orz ちなみに、どのバージョンのWindowsSDKなのか教えてもらえると助かります。
542 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 11:14:35 ] >>541 因みに、私は教えてあげません。
543 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 11:46:53 ] /analyzeというか、PREfastには2種類ある。 先にDDKで提供されていたドライバ開発者向けと、 後からVCの上位版に提供されたアプリ開発者向けが。 Windows SDK付属のコンパイラで使えるのは前者だけだったりしてね。
544 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 14:05:50 ] >>543 ちょっと試してみたけど、VSTS付属のものと同じ出力だった。 Windows SDKの方はコマンドラインからしか試してないけどVS連携はまあきつそうか。 以下テストコード。タブを全角に変換してるので注意ね。 #include <CodeAnalysis/SourceAnnotations.h> #include <windows.h> [returnvalue:SA_Post(MustCheck=SA_Yes)] double CalcSum ([SA_Pre( Null=SA_No )] double* source,unsigned int size); double CalcSum (double* source, unsigned int size) { double sum = 0; for( int i = 0; i < size; ++i ) sum += *source; return sum; } int f() { double buf[100]; for (int i = 100; i >= 0; i++) buf[i] = i; CalcSum(buf, 99); return (int) 1; } int main() { wchar_t buf[255]; GetEnvironmentVariableW(L"PATH", buf, 256); return f(); }
545 名前:544 mailto:sage [2007/07/02(月) 14:10:04 ] 続き。 上のコードのコンパイル結果。 c:\test>cl test.cpp /analyze Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. test.cpp c:\test\test.cpp(14) : warning C6292: Ill-defined for-loop: counts up from maximum c:\test\test.cpp(14) : warning C6201: Index '100' is out of valid index range '0' to '99' for possibly stack allocated buffer 'buf' c:\test\test.cpp(15) : warning C6031: Return value ignored: 'CalcSum' c:\test\test.cpp(14) : warning C6386: Buffer overrun: accessing 'buf', the writable size is '800' bytes, but '808' bytes might be written: Lines: 13, 14 c:\test\test.cpp(21) : warning C6202: Buffer overrun for 'buf', which is possibly stack allocated, in call to 'GetEnvironmentVariableW': length '512' exceeds buffer size '510' c:\test\test.cpp(21) : warning C6386: Buffer overrun: accessing 'argument 2', the writable size is '510' bytes, but '512' bytes might be written: Lines: 20, 21 Microsoft (R) Incremental Linker Version 8.00.50727.762 Copyright (C) Microsoft Corporation. All rights reserved. /out:test.exe test.obj
546 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 14:58:39 ] ?
547 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 15:29:42 ] >>545 これって、VCProのcl.exe関連を差し替えて、SDK付属のCodeAnalysis関連ヘッダもコピーしてやればIDE上で使えるんだろか
548 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 15:37:33 ] ファイル差し替えなくてもディレクトリ設定変えてやればいんじゃね? IDE上での設定UIは無いだろうから手動でclのパラメータ追加しないとだめだろうが。
549 名前:544 mailto:sage [2007/07/02(月) 16:12:09 ] >>547 すまんがVC++Proはすぐに使えるところにないのでその辺の検証は誰かやってちょ。 あとはまあコード分析とかそんなにしょっちゅう使わなくても たまにとかリポジトリにコミット前にとか自動テスト前とかでもいいんじゃね? とか。 vcbuild.exeをうまいこと使うと自動化できるんじゃなかろかと。
550 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 17:38:37 ] VC++Proの場合。 VC++ディレクトリの「実行ファイル」に C:\Program Files\Microsoft SDKs\Windows\v6.0\VC\Bin を追加し、これを優先度一番上に。 (x64なら...\v6.0\VC\Bin\x86_x64) 同じく「インクルードファイル」に C:\Program Files\Microsoft SDKs\Windows\v6.0\VC\INCLUDE を追加し一番上に。 あとはプロジェクトオプションで「構成プロパティ」-「C/C++」-「コマンドライン」で 「追加のオプション」に「/analyze」を記述してやればいい。 本格的なアノテーションまではチェックしてないが、簡単なバッファオーバーラン検出 程度は動作しているのを確認。 ちなみにこれDebugビルドでは使えるがReleaseビルドでは使えないという認識でOK? 厳密にはAPIの話題ではないが、Win32 APIの引数や戻り値チェックもしてくれるのでとりあえず。
551 名前:501 [2007/07/02(月) 19:35:00 ] DLLロード後に初期化処理関数をDLLロード側から呼んでもらうようにします。 >>503 >>506 >>521 >>523 >>526 >>529 >>530 レスポンスありがとうございました。
552 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 22:49:54 ] Analysisってそんなにすごいものなの? 70万もだしたというひとがいたが
553 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 23:00:05 ] >>552 Analysisだけに70万ではないし、 プロ用の開発ツールが高価なのは普通のことだから。 RationalのPurifyとか、 CompuwareのDevPartnerStudioとか、 かなりの金額するでしょ。
554 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 23:20:11 ] たとえ趣味でもつぎ込む人はつぎ込むしね
555 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 23:43:15 ] 現在開いてるページのURLとタイトルを取得したいのですが、 そのような関数がございましたらご教授下さい。 たとえばここでしたら、 タイトル→Win32API質問箱 Build54 URL→pc11.2ch.net/test/read.cgi/tech/1181645965/ と、獲得したいです。
556 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 23:46:56 ] 脱力
557 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 23:57:42 ] >>555 FindWindowEx使って力業で探せ
558 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 00:06:31 ] 何でもAPI一つで出来ると思うな
559 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 00:11:19 ] 普通IWebBrowser2使うだろ
560 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 00:13:48 ] >>559 IEとは言ってない。 意地悪な解釈ではあるがな。
561 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 00:18:57 ] つーか >現在開いてるページのURLとタイトルを取得したいのですが、 >そのような関数がございましたらご教授下さい。 この質問通りに答えるなら「無い」が正解
562 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 00:33:13 ] >>560 「現在開いてる」というのを詳しく。 何が、誰が、 そういう情報がゴッソリ欠落しているぞ。
563 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 00:37:27 ] >>560 どういうわけか、 インタフェースとしてではなく、クラスを指してIWebBrowser2という人達が多いのです。 IEそのものや、既存のIEコンポーネントを使ったプログラムに対してではなく、 タイトルを取得するためだけに、新たにIEコンポーネントを使い、 URLのドキュメントを取ってこさせ、タイトルを取得するという手もなくはないです。
564 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 06:50:32 ] ダイアログベースのアプリで、キーリピートのときに鳴り続ける警告音を消したいのですが どうしたらよいのでしょうか。
565 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 08:47:12 ] もっと詳しく書かないと。
566 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 10:00:17 ] WM_KEYDOWNのLPARAM見てリピートが1より大きかったらメッセージ潰せばいいんじゃね
567 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 10:58:12 ] そのダイアログのせいで鳴ってるの? キューいっぱいとか。キーメッセージ握りつぶしてる?
568 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 11:04:29 ] メッセージポンプを自分で止めている可能性もあるな。
569 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 12:13:46 ] >>561 IE6まではDDE使って取得できたんだがな、IE7以降これが動作しなくなった しかしFirefoxやOpera等使われていたら動かないわけで。 2chスレに限って言えば専ブラ使われていたらだめなわけで。
570 名前:562 mailto:sage [2007/07/03(火) 12:33:58 ] アンカーミスしてました。 >>562 は>>555 あてです。
571 名前:デフォルトの名無しさん [2007/07/03(火) 13:16:38 ] そんくれーわかるっつの
572 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 08:16:50 ] >>550 ちょwww 俺のPro版、なんかアナライズしてるww
573 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 09:11:47 ] IEでグーグル開いたときに検索窓でますよね あそこに文字列をいれるのにいい方法ってありますか? キーダウンで擬似的にキーボードおされた状態ってのはうまくいったのですが たまに失敗したり、一文字ごとにウェイトいれないとだめなのでちょっと・・・ セットウインドウテキストが良さげなので 全てのIEの子ウインドウハンドルに送ってみたのですがまったく反応ありませんでした
574 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 09:23:51 ] フォームに入力するのVBのサンプルならいっぱいある
575 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 09:24:58 ] Google限定なら別のアプローチのがよさげ
576 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 09:27:29 ] どうでもいいけど「キーダウン」とか「セットなんとか」とか 強烈に読みづらいから素直にアルファベット表記してくれ。 あとIEのテキストフォームはデザインがWindowsと同じってだけで IE独自の実装してるからテキストボックスに見えて テキストボックスじゃない。 API通していじるのは諦めた方がよさげ。
577 名前:573 mailto:sage [2007/07/04(水) 09:32:47 ] あ、ウインドウのタイトルが変わりましたw これ面白いですね そうなんですかどうりで反応しないわけだ VB覚えようかな