名前 題名 ▼ Mr.XRAYさん > > そのテキストの中に「互換パック」と「ダウンロード」という文字列が存在したら, > > 問題のダイアログと決定します. > > このテキストの取得ですが, > 当サイトのサンプルでは,ほとんど次のコードを使用しています. > これは,主に,ウィンドウのタイトル(キャプション) 文字列の取得としています. > > function GetWindowTitleStr(hWindow: HWND): String; > var > Buffer : array[0..MAX_PATH - 1] of Char; > Len : Integer; > begin > FillChar(Buffer, SizeOf(Buffer), #0); > Len := GetWindowText(hWindow, Buffer, Length(Buffer)); > if Len > 0 then Result := Buffer else Result := ''; > end; > > 今回の場合は,これでは長い文字列の取得に失敗する可能性があります. > そこで,次のコードを使用しています. > (実際には上のコードでも十分でしたが) > > function GetWindowTitleStr(hWindow: HWND): String; > var > Len : Integer; > Buffer : PChar; > begin > Result := ''; > Len := GetWindowTextLength(hWindow); > Buffer := StrAlloc(Len + 1); //SetLength を使用したサンプルもある > try > Len := GetWindowText(hWindow, Buffer, StrBufSize(Buffer)); > SetString(Result, Buffer, Len + 1); //実際には代入互換性がある > finally > StrDispose(Buffer); > end; > end; > > こういうことも,実際にやってみると気づくわけです. GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link