Ookii-dialogs-wpf: VistaOpenFileDialog.InitialDirectory рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 26 рд╕рд┐рддре░ 2019  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ookii-dialogs/ookii-dialogs-wpf

рдПрдХ рд╕реНрдерд╛рдиреАрдп рдФрд░ рдореМрдЬреВрджрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реЗрдЯ рдЗрдирд┐рд╢рд┐рдпрд▓рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрд╡рд╛рдж рд╢реБрд░реВ рдХрд░рдирд╛ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдбрд╛рдпрд▓реЙрдЧ рд╣рдореЗрд╢рд╛ рдЖрдЦрд┐рд░реА рдлреЛрд▓реНрдбрд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдлрд╛рдЗрд▓ рдЦреЛрд▓реА рдЧрдИ рдереАред

 VistaOpenFileDialog dialog = new VistaOpenFileDialog();
 dialog.Filter = "JSON Dateien (*.json)|*.json";
 dialog.InitialDirectory = "C:\\";

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░:
VistaOpenFileDialog рд╣рдореЗрд╢рд╛ рд╕реА: \ рдХреА рд╕рд╛рдордЧреНрд░реА рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬрдм рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ "рд╕реА: \" рдкрд░ рд╕реЗрдЯ рд╣реЛрддреА рд╣реИред

рд╡рд┐рдВрдбреЛрдЬ 10 рдкреНрд░реЛ 1903 / .рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ 4.6

good first issue hacktoberfest help wanted needs-design

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рдХрдИ рд╡рд┐рдВрдбреЛрдЬрд╝ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЖрдкрдХреЗ рдЕрдВрддрд┐рдо рдкрде рдХреЛ рдпрд╛рдж рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП "рд╕реНрдорд╛рд░реНрдЯ" рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рдРрд╕реА рдХрдИ рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВ рдЬрд╣рд╛рдБ рдРрдк рдХрд╛ рдбреЗрд╡рд▓рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рднреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рд╕реЗ рд▓реЛрдб/рд╕реЗрд╡ рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред рдиреЛрдЯрдкреИрдб/рдкреЗрдВрдЯ/рд╡рд░реНрдб рд╕реЗ "рд╕реНрдорд╛рд░реНрдЯ" рдЕрдВрддрд┐рдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдпрд╣рд╛рдВ рдХрд╖реНрдЯрдкреНрд░рдж рдФрд░ рдмреЗрдХрд╛рд░ рд╣реИред

рдкреНрд▓рд╕: Microsoft.Win32.OpenFileDialog рдореЗрдВ рдареАрдХ рд╡реИрд╕реА рд╣реА рд╕рдВрдкрддреНрддрд┐ рд╣реИ рдФрд░ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рд╕рднреА 9 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@Soulflyman рдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ "рд╕рд╣реА" рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд╕рд╛рде рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреНрдп рд╕рднреА рдРрдкреНрд╕ рдореЗрдВ рдЬреЛ рд╣реЛрддрд╛ рд╣реИ рдЙрд╕рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ - рдпрд╛рдиреА рдЙрдиреНрд╣реЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЕрдВрддрд┐рдо рдлрд╝реЛрд▓реНрдбрд░ рдпрд╛рдж рд╣реИред

рдЖрдкрдХреЛ рдиреЛрдЯрдкреИрдб рдпрд╛ рдкреЗрдВрдЯ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@buildcomplete рдиреЗ рдкреАрдЖрд░ # 2 рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдХреА рд╕реВрдЪрдирд╛ рджреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рд╣рдореЗрдВ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП (?), рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдПрдХ рдСрдкреНрдЯ-рдЗрди рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдкреЗрд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдореИрдВ рдПрдХ рдирдИ рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рд╣реЛ рдЬрд╛рдКрдВрдЧрд╛ред

рдореБрдЭреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ (рдЬреИрд╕реЗ рдиреЛрдЯрдкреИрдб) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рддреЛ рдореИрдВрдиреЗ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХреАред
рдореЗрд░реА рдзрд╛рд░рдгрд╛ рдпрд╣ рдереА рдХрд┐ InitialDirectory рдХрд╛ рдорддрд▓рдм рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реЛрдирд╛ рдерд╛ рдЬреЛ рд╣рд░ рдмрд╛рд░ рд╕рдВрд╡рд╛рдж рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЗрд╕ рдЪрд▓ рд░рд╣реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЖрд╡реЗрджрди рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдореБрдЭреЗ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдереАред

рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджреЗ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдлрд▓рддрд╛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди VistaSaveFileDialog рдЧреБрдгреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ / рдХреНрд░рдо рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдбрд╛рдпрд▓реЙрдЧ рд╣рдореЗрд╢рд╛ InitialDirectoy рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдкреБрд╖реНрдЯрд┐ рдХреА рд╣реИ рдХрд┐ '_initialDirectory' VistaFileDialog.cs рдореЗрдВ рдореЗрд░реЗ рдЗрдЪреНрдЫрд┐рдд рдкрде рдкрд░ рд╕реЗрдЯ рд╣реЛ рдЬрд╛рддреА рд╣реИред
рд╡рд╣рд╛рдВ рд╕реЗ, рдореВрд▓реНрдп NativeMethods.cs рдореЗрдВ CreateItemFromParsingName(string path) рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдпрд╣ COM рдЫреЗрдж рдХреЗ рдиреАрдЪреЗ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

[DllImport("shell32.dll", CharSet = CharSet.Unicode)]
public static extern int SHCreateItemFromParsingName([MarshalAs(UnmanagedType.LPWStr)] string pszPath, IntPtr pbc, ref Guid riid, [MarshalAs(UnmanagedType.Interface)] out object ppv);

  public static Interop.IShellItem CreateItemFromParsingName(string path)
 {
     object item;
     Guid guid = new Guid("43826d1e-e718-42ee-bc55-a1e261c37bfe"); // IID_IShellItem
     int hr = NativeMethods.SHCreateItemFromParsingName(path, IntPtr.Zero, ref guid, out item);
     if( hr != 0 )
         throw new System.ComponentModel.Win32Exception(hr);
     return (Interop.IShellItem)item;
 }

рдпрд╣ SHCreateItemFromParsingName рд╡рд┐рдзрд┐ рд╡рд┐рдлрд▓ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд▓реМрдЯрд╛рдИ рдЧрдИ COM рдСрдмреНрдЬреЗрдХреНрдЯ рд╢реВрдиреНрдп рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ?

CreateItemFromParsingName

рдореИрдВрдиреЗ рд╡рд┐рдзрд┐ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдореЗрдВ SetLastError = true рдЬреЛрдбрд╝рд╛ рдФрд░ рдХреЙрд▓ рдХреЗ рдмрд╛рдж Marshal.GetLastWin32Error() рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ 0 рджреЗрддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рдХрдИ рд╡рд┐рдВрдбреЛрдЬрд╝ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЖрдкрдХреЗ рдЕрдВрддрд┐рдо рдкрде рдХреЛ рдпрд╛рдж рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП "рд╕реНрдорд╛рд░реНрдЯ" рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рдРрд╕реА рдХрдИ рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВ рдЬрд╣рд╛рдБ рдРрдк рдХрд╛ рдбреЗрд╡рд▓рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рднреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рд╕реЗ рд▓реЛрдб/рд╕реЗрд╡ рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред рдиреЛрдЯрдкреИрдб/рдкреЗрдВрдЯ/рд╡рд░реНрдб рд╕реЗ "рд╕реНрдорд╛рд░реНрдЯ" рдЕрдВрддрд┐рдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдпрд╣рд╛рдВ рдХрд╖реНрдЯрдкреНрд░рдж рдФрд░ рдмреЗрдХрд╛рд░ рд╣реИред

рдкреНрд▓рд╕: Microsoft.Win32.OpenFileDialog рдореЗрдВ рдареАрдХ рд╡реИрд╕реА рд╣реА рд╕рдВрдкрддреНрддрд┐ рд╣реИ рдФрд░ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдореЗрд░реА рдПрдХ рд╣реА рдЬрд░реВрд░рдд рд╣реИред
рдХреНрдпрд╛ рдЖрдк рдПрдХ рд╕реЗрдЯрд┐рдВрдЧ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХреГрдкрдпрд╛ рдбрд╛рдпрд▓реЙрдЧ рдмреЙрдХреНрд╕ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХреЗ?
рдзрдиреНрдпрд╡рд╛рджред

рдореИрдВ Ookii рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛрдб рдореЗрдВ рдЧрдпрд╛ред рддрдм рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ InitialDirectory рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдХреИрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПред
рдЖрдк рдХреЛрдб рдХреА рдЗрд╕ рдкрдВрдХреНрддрд┐ рдХреЛ VistaFileDialog.cs . рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрджрд▓ рджреЗрдВрдЧреЗ
рд╡рд┐рдзрд┐ рдореЗрдВ internal virtual void SetDialogProperties(Ookii.Dialogs.Wpf.Interop.IFileDialog dialog)
рдЗрд╕ рдХреЛрдб рдХреЛ рдмрджрд▓реЗрдВ

// Initial directory
if( !string.IsNullOrEmpty(_initialDirectory) )
{
    Ookii.Dialogs.Wpf.Interop.IShellItem item = NativeMethods.CreateItemFromParsingName(_initialDirectory);
    dialog.SetDefaultFolder(item);
}

рд╕реЗрд╡рд╛ рдореЗрд░реЗ

// Initial directory
if( !string.IsNullOrEmpty(_initialDirectory) )
{
    Ookii.Dialogs.Wpf.Interop.IShellItem item = NativeMethods.CreateItemFromParsingName(_initialDirectory);
    dialog.SetFolder(item);
}

рд╣реЛ рдЧрдпрд╛ рд╣реИред
рдЕрдм Ookii рдбрд╛рдпрд▓реЙрдЧ InitialDirectory рдкреНрд░реЙрдкрд░реНрдЯреА рдореЗрдВ рд╢реБрд░реВ рд╣реЛрдЧрд╛ред

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред

@ gitjsdr26 рдЖрдк @augustoproiete . рдХреЗ рд▓рд┐рдП рдкреАрдЖрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ

@nzain , рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐

рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдЗрдХрдЯреНрдареА рдХреА рд╣реИред

рд╣рдо рдПрдХ InitialDirectory рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдХреЗ

рдлрд╝рд╛рдЗрд▓ рд╕рдВрд╡рд╛рдж рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдпрд╛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред

Ookii рдбрд╛рдпрд▓реЙрдЧреНрд╕ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдо рд╕рдорд╛рди рд╣реИред рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ, рдХрдИ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдиреЛрдЯрдкреИрдб рдЗрддреНрдпрд╛рджрд┐), рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдХрд╣рд╛рдиреА рд╣реИред _If_ рд╕рдВрдкрддреНрддрд┐ рд╕реЗрдЯ рд╣реИ, рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

InitialDirectory рдХреЛ IFileDialog::SetDefaultFolder рд╕рд╛рде рднреНрд░рдорд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕реЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд╣рддрд╛ рд╣реИ:

рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдорд╛рди рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ (рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдИ рдлрд╝реЛрд▓реНрдбрд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ) рдХрднреА рднреА рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрднреА рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рд╛ред рдпрджрд┐ рд╡рд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ рдпрд╣ DefaultDirectory рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдкреБрд░рд╛рдиреЗ рд╕рдордп рдХреА рдПрдХ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдХрд▓рд╛рдХреГрддрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ - рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдкреНрд░рднрд╛рд╡ рдХрдм рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред

рдкреАрдЖрд░?

# 2 рдкреАрдЖрд░ рдЕрдм рджреЛ рд╕рд╛рд▓ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рд╣реИ (!) рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рдмрд╛рдд рдмрддрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд▓реЗрдЦрдХ @buildcomplete рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдирдХреЗ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдЙрдирдХрд╛ рдлрд┐рдХреНрд╕ рдкреБрд░рд╛рдиреЗ рдХреЛрдб рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ @ gitjsdr26 рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ: рдХреЙрд▓ рдмрджрд▓реЗрдВ
IFileDialog::SetDefaultFolder(...) рд╕реЗ IFileDialog::SetFolder(...) ред

рдореИрдВ рдкреАрдЖрд░ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рде рд╕рдордп рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ (рдореИрдВ рдЗрд╕ рд╕рд┐рдВрдЧрд▓ рд▓рд╛рдЗрди рдХреЛ рднреА рдмрджрд▓ рджреВрдВрдЧрд╛)ред

@augustoproiete рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ :)

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕