名前 題名 ▼ Mr.XRAYさん > [64bit自アプリから32bit他アプリのウィンドウハンドルを知るには?] > http://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+201210/12100008.txt > > これは,DLL を使用する場合なので,また違うのかも知れませんが, > [645_ウィンドウの階層のツリー表示] > http://mrxray.on.coocan.jp/Delphi/plSamples/645_WindowTree.htm > > では,このままのコードで,32bitのEXE,64bitのEXE どちらでもウィンド > ウハンドルが取得できます(Delphi XE2 で確認). > ただ,コード中のInteger はNativeIntあるいはNativeUIntにした方がいいと > 思います. > 64bit のアプリのウィンドウハンドル値は,64bitなのですが,なぜ32bitアプリ > で64bitのハンドルが取得できるのかは不明です. > おそらく,32bitの値の範囲内だから,だとは思うのですが.推測です. > > ところで,型名の'U'は,unsignedで,符号なしの意味です. > つまり,符号なしIntegerです. > Integerは,32bitのDelphiでコンパイルしても,64bitのDelphiでコンパイルして > も32bitの変数です. > 一方,NativeIntは,32bit版でコンパイルすると,32bit,64bit版でコンパイル > すると,64bitの変数となります. > > 32bit版,64bit版のどちらでも動作するアプリで,ウィンドウハンドルを操作 > する場合,ポインタの使用がポイントらしいです(MSDNの記事による). > > DLL 内での処理は,また違うのかも知れません. > 実際のコードが不明なので,確実なことは言えません. GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link