Hej, <url=http://groups.google.se/group/microsoft.public.scripting.vbscript/browse_thread/thread/f9796700662b2b13/f7deb660a9972a32?lnk=st&q=find+out+if+a+file+is+opened+windows+source&rnum=1&hl=sv#f7deb660a9972a32> Kan göras med File.Exist(string), om jag inte minns helt fel. Tyvärr hitta jag inte ngt svar i den tråden :( men tack ändå! >Finns det ngt sätt att göra detta på utan att använda sig av Exceptions Du ska använda ett api som heter NtQuerySystemInformation, det verkar vara det enda sättet att lösa ditt problem på, de kodexempel jag hittat är inte helt triviala så du får söka lite själv. Har ändrat mig det är ok med exceptions om det inte går på ngt annat sätt. ngt förslag på hur man gör då? trodde till en början att man bara kunde testa att öppna en fil för skrivning och fånga felet som uppstår om filen redan är öppen. Detta fungerar bra för t.ex. Word-filer men inte för notepad eftersom notepad inte låser filen. >Har ändrat mig det är ok med exceptions om det inte går på ngt annat sätt. Har inget emot exceptions. Tycker bara att det skulle vara trevligt att köra utan det. Men som sagt om det är det enklaste sättet att lösa problemet så går det alldeles utmärkt. Låt säga att jag skriver ett program som öppnar filen, läser in allt innehåll i en variabel, stänger filen, och kör en stor beräkning på informationen. Jag förstår era utlägg och självklart går det inte att hantera den typen av situationer. Pontus verkar förstå vad jag är ute efter så jag följer hans vägledning. Om det är ngn som har någon enklare lösning så är jag tacksam. NtQuerySystemInformation verkar ju inte vara helt enkel att arbeta med.Kolla om en fil är öppen
Skulle vilja kolla om en fil används av ett annat program innan jag gör ngt med den. Finns det ngt sätt att göra detta på utan att använda sig av ExceptionsSv: Kolla om en fil är öppen
Där finns en diskussion i ämnet..Sv: Kolla om en fil är öppen
Lycka till!Sv:Kolla om en fil är öppen
File.Exist är ju bra om man vill kolla om filen finns, men jag behöver veta om den används av ngn annan process eller inte ;)
Fler förslag? :DSv: Kolla om en fil är öppen
Varför vill du inte använda exceptions?Sv: Kolla om en fil är öppen
Sv:Kolla om en fil är öppen
Sv: Kolla om en fil är öppen
Vad har du emot exceptions?
>Detta fungerar bra för t.ex. Word-filer men inte för notepad eftersom notepad inte låser filen.
Låter som du har en konstig definition av "öppen"?
Om filen inte är låst så är det ju ingen som använder den. Kan ju finnas program som någon gång har läst innehållet i filen och använder det men hur skall du kolla det?Sv:Kolla om en fil är öppen
Ok jag får justera frågan lite om det är så att den var otydlig. Jag vill veta om det är något program som har öppnat filen och arbetar med innehållet i filen.Sv: Kolla om en fil är öppen
Jag gör så för att jag vet att andra program behöver tillgång till filen under tiden, och att deras ändringar aldrig har betydelse för min beräkning.
Beräkningen kan vara så stor att den tar flera dagar, att den skickar information över internet, att den sparar mellanresultat i databaser osv. Det är inte ens säkert att det är samma version, eller ens samma program som slutligen är klar med informationen.
Sen öppnar jag filen, lägger till min nya information, och stänger den.
Alltså: Jag har öppnat filen, och arbetar med dess innehåll, och kommer dessutom ändra innehållet. Men du kan glömma att hålla reda på det.
Satsa istället på att se om någon håller den uppe nu, eller utveckla något slags protokoll om du kan modifiera beteendet hos de andra programmen du är intresserad av.Sv:Kolla om en fil är öppen
Tack för alla svar ;)