Fråga : SHGetPathFromIDList (IntPtr, String^); API i arbete för VC++.net inte behar berättar mig var I-förmiddagfel

förmiddag i using SHGetPathFromIDList (IntPtr in, den String^ banan) API i VC++.Net som jag har förklarat för cutomized i min Apllication för .net som

[DllImport (”Shell32.Dll”)]bool SHGetPathFromIDList (IntPtr pidl för
static, String^ pszPath); fristparametern för

the är kopierad tilltalar värderar av WParam det som jag har fynd using förmiddagen för WndProc function


now i ger sig för att kodifiera snip


virtual utan laga kraft WndProc (Message% M) åsidosättande
{
kopplar
{fallet för
(int) WM_SHNOTIFY:
{
NotificationReceipt (m.WParam, m.LParam); avbrott för
;

för
för
}} bildar:: WndProc (M);



Then


public för
}: utan laga kraft NotificationReceipt (IntPtr WParam, IntPtr LParam)
{sOut för
String^;
                              SHNOTIFYSTRUCT shns;nTemp för
int = LParam.ToInt32 (); sOut för
= SHNotify_GetEventStr (LParam);
CopyMemory (shns, WParam, sizeof (SHNOTIFYSTRUCT));
för
stränger sDisplayname; filePath för
String^ för
= GetPathFromPidl (shns.dwItem1);

then för

} efter that



public: statisk elektricitetString^ GetPathFromPidl (IntPtr Pidl)
{bana för
String^ för
; Banan = gcnew för
stränger (”\ 0”, 255); b=SHGetPathFromIDList för bool för
för

(Pidl, bana); bana för återgång för
för
;


the SHGetPathFromIDList api för
} går tillbaka värderar riktigt, men ingen bana hämtar inget värderar hämtar endast blank

p; lindra berättar mig var I-förmiddagen wrong
" klar "

Svar : SHGetPathFromIDList (IntPtr, String^); API i arbete för VC++.net inte behar berättar mig var I-förmiddagfel

det har fungerat.
Andra lösningar  
 
programming4us programming4us