すべてのカテゴリ » インターネット・パソコン » 技術・プログラミング

質問

終了

文字列中の文字が化けているかどうかを検出したいため、
WIN32APIのGetGlyphIndices()を使って、グリフインデックスを取得しようとしましたが、動作しません。
ソースは下記のようになっています。
何がいけないのかを教えていただけませんか?
よろしくお願いします。

--------------------------------------------------------------------------------
Declare Function GetGlyphIndices Lib "gdi32.dll" Alias "GetGlyphIndicesW" _
(ByVal hdc As Long, ByVal lpStr As String, C As Integer, pgi() As Long, fl As Long) As Long

Public Const GGI_MARK_NONEXISTING_GLYPHS = &H1

Sub test()

Dim buf() As Long
Dim length As Integer
Dim str As String
Dim i As Long
Dim hdc As Long
Dim hFont As Long


str = Selection.Range.Text
length = Len(str)
ReDim buf(length - 1)
 Call GetGlyphIndices(0, str, length, buf, GGI_MARK_NONEXISTING_GLYPHS)


For i = 0 To length - 1

If buf(i) = HFFFFFFFF Then
MsgBox "false"
End If

Next

End Sub
--------------------------------------------------------------------------------

  • 質問者:キョウ
  • 質問日時:2009-12-22 11:53:08
  • 0

関連する質問・相談

Sooda!からのお知らせ

一覧を見る