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 "
|