Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 470
  • Last Modified:

GetShortPathName API said, "No Entry Point in kernel32.DLL"

What is wrong with this code?

Private Declare Function GetShortPathName Lib "kernel32" _
(ByVal lpszLongPath As String, _
ByVal lpszShortPath As String, _
ByVal cchBuffer As Long) As Long

Private Sub Form_Load()
Dim strShort As String
Dim nLenShort As Long
nLenShort = 0

    strShort = Space(255)
    ' strShort = String(255," ")

    GetShortPathName "C:\Program Files", strShort, nLenShort
End Sub


This I get an error saying, "No Entry Point in the kernel32.dll".  

I'm running Win95 with IE4.01 and VB5 Enterprise..
0
Chizl
Asked:
Chizl
1 Solution
 
yowkeeCommented:
  Kernel32.dll contains function GetShortPathNameA (ANSI) and GetShortPathNameW (Unicode), instead of GetShortPathName. Thus, you should declare the function as:

Private Declare Function GetShortPathName Lib "kernel32" _
Alias "GetShortPathNameA" _
(ByVal lpszLongPath As String, _
ByVal lpszShortPath As String, _
ByVal cchBuffer As Long) As Long

'Then,

Private Sub Form_Load()
   
    Dim lRtn As Long
    Dim sShort As String * 256
   
    lRtn = GetShortPathName("C:\Program Files\", sShort, 256)
    MsgBox sShort
End Sub

0
 
ChizlAuthor Commented:
Thanx
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now