[API]
GetShortPathNameW
WinHelpA
WinHelpW

[CODE]
Public Function WinHelp(ByVal hWnd As Long, ByVal lpHelpFile As String, ByVal wCommand As Long, ByVal dwdata As Variant) As Long
  Dim xChar1 As String
  Dim xChar2 As String
  Dim xLong1 As Long

  If IsUnicode Then
    xChar1 = String(258&, vbNullChar)
    xLong1 = GetShortPathNameW(StrPtr(lpHelpFile), StrPtr(xChar1), 257&)
    If (xLong1 < 257&) And Not xLong1 = 0& Then lpHelpFile = Left(xChar1, xLong1)
    If VarType(dwdata) = vbString Then
      xChar2 = dwdata
      WinHelp = WinHelpW(hWnd, StrPtr(lpHelpFile), wCommand, ByVal StrPtr(xChar2))
      Else
      xLong1 = dwdata
      WinHelp = WinHelpW(hWnd, StrPtr(lpHelpFile), wCommand, ByVal xLong1)
      End If
    Else
    If VarType(dwdata) = vbString Then
      xChar2 = dwdata
      WinHelp = WinHelpA(hWnd, lpHelpFile, wCommand, ByVal xChar2)
      Else
      xLong1 = dwdata
      WinHelp = WinHelpA(hWnd, lpHelpFile, wCommand, ByVal xLong1)
      End If
    End If
  End Function