Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 2.040 pregleda

Najnovija ↓

c# osvezavanje windows file asocijacija 09.11.2011. u 21:58 · pre 182 meseca #1
Napravio sam neki program i dodao mu asocijacije menjanjem registry-a. Takodje sam promenio context menije u exploreru preko registry-a, medjutim promene se uopste ne vide. Posle restarta(vise puta) ista prica. Kada sam promenio asocijaciju za txt file testa radi i onda je windows ocigledno refresh-ovao asocijacije i ponovo ucitao sve iz registry-a i sve je bilo ok. Pitanje je (posto ce ljudi instalirati taj program) kako posle tog menjanja registry-a da force-ujem win da uradi refresh asocijacija?
Re: c# osvezavanje windows file asocijacija 09.11.2011. u 23:51 · pre 182 meseca #2
Ja sam pravio mali programičić koji menja pozadinu desktopa, i promenom u
registriju nije se ništa ažuriralo, a tamo je stojala putanja do slike
koja treba da bude na pozadini. Morao sam nakon toga da pozovem
rundll32.exe sa nekim parametrima (dll koji se refrešuje, mislim da je i u
tvom i u mom slučaju to user32.dll, ali ne sećam se tačno), pa da se
ažuriraju te promene. Možda bi to rešilo i tvoj problem.

--
Using Opera's revolutionary email client: http://www.opera.com/mail/
Re: c# osvezavanje windows file asocijacija 10.11.2011. u 00:14 · pre 182 meseca #3
Da ne mislis mozda na:
[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni);
Re: c# osvezavanje windows file asocijacija 10.11.2011. u 00:40 · pre 182 meseca #4
Cini mi se da sam nasao resenje - jos testiram - trebalo je deklarisati ovu funkciju:
Code:
[DllImport("shell32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern void SHChangeNotify(uint wEventId, uint uFlags, IntPtr dwItem1, IntPtr dwItem2);

const uint SHCNF_IDLIST = 0x0;
const uint SHCNE_ASSOCCHANGED = 0x08000000;


I onda posle promene asocijacija i dodavanja context itema u explorer-ov meni - izvrsiti ovo
Code:
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, IntPtr.Zero, IntPtr.Zero);

Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme