Правильный способ сделать что-то подобное - использовать функцию SHChangeNotify()
. Если вы используете C#, вы можете p / вызвать его так:
[DllImport( "Shell32.dll", CharSet = CharSet.Auto, SetLastError = true )]
static extern void SHChangeNotify(uint wEventId, uint uFlags, [MarshalAs(UnmanagedType.LPWStr)] string dwItem1, IntPtr dwItem2);
... и затем использовать его, чтобы уведомить Проводника о том, что элемент был изменен (то есть изображение, которым вы манипулировали ):
private const uint SHCNE_UPDATEITEM = 0x00002000;
private const uint SHCNF_PATHW = 0x0005;
private const uint SHCNF_FLUSH = 0x1000;
string pathName = "your image file.jpg"
SHChangeNotify(SHCNE_UPDATEITEM, SHCNF_PATHW | SHCNF_FLUSH, pathName, IntPtr.Zero);