Hur se vilken fil som en viss visst Windowsprogram jobbar med

Permalänk
Inaktiv

Hur se vilken fil som en viss visst Windowsprogram jobbar med

Hej jag håller på att kodar ett enklare Microsoft Excelark i vba, denna app bearbetar sedan en annan App med en OLE bindning, låt oss för enkelhet skulle säga att det andra programmet är "Word". (vilket det ej är)

På grund av dåligt interface emot "Word" så ger "Word" mig ingen information vart "Wordfilen som den har öppnad är sparad. Och fråga är hur kan man då enklast ta reda på sökvägen till denna fil?
Jag kan ju lätt plocka ut processID för "Word.exe", men jag ser ju ej vilka filer den använder.
Detta är dessutom helt utanför mitt kunskapsområde så alla tips är goda, att installera ett 3:e part program är dock inget alternativ, då mitt excelark ej ska kräva någon installation utan gå att köra direkt på alla datorer.

Min tanke är ju att det finns program som man kan kolla vilket program som låser en viss fil, kanske man skulle köra vidare på det spåret och göra om detta till VBA? (alltså filtrera på Word.exe, men det känns som dum lösning ur prestandaperspektiv) Nå alla tips är välkomna och observera det är ej Word.exe, hade det varit det hade jag löst det enkelt. Jag tror även det bästa är att satsa på en helt generell lösning som fungerar emot nästan alla program, att djupare analysera hur det aktuella programmet fungerar tror jag är svårt och leder till problem med olika versioner.

*edit*
Om någon är nyfiken på varför jag vill veta detta, så vill jag ha sökvägen för att be programmet att öppna nästa fil som finns i samma katalog. Det finns en funktion för detta men den gör det på fel sätt ur en underkatalog.

//Johan

Permalänk
Medlem

https://technet.microsoft.com/en-us/sysinternals/bb896655.asp...

Under Linux så finns det "lsof" så om du inte är nöjd med ovanstående program kan du söka efter alternativ till "lsof" för Windows.

Permalänk
Inaktiv
Skrivet av iXam:

https://technet.microsoft.com/en-us/sysinternals/bb896655.asp...

Under Linux så finns det "lsof" så om du inte är nöjd med ovanstående program kan du söka efter alternativ till "lsof" för Windows.

Tackar för tipset! Men även om verktyget finns på Microsoft hemsida så kräver det en installation vilket tyvärr ej fungerar för mig, då mitt excelark ska köras lite varstans. Men det enklaste är nog att sätta sin in hur någon alternativ till "lsof" fungerar ,och sedan koda om det till VBA i excel av alla knepiga språk så att jag får in hela funktionen i samma excelark.

Jag passade för övrigt på att installera handle på min maskin då det är ett program som borde ingå i windows, så tack för tipset.

Permalänk
Medlem

@anon159643: Vad är det du egentligen vill veta?
Vilka filer som programmet har öppnat och låst?
eller
Om filen i fråga är låst? (eventuellt även vilket program som har låst filen)

Vem är subjekt här, programmet eller filen? du nämner båda två som subjekt i din beskrivning, vilket låter motsägelsefullt.

Permalänk
Inaktiv
Skrivet av SolidReactor:

@Johan86c: Vad är det du egentligen vill veta?
Vilka filer som programmet har öppnat och låst?
eller
Om filen i fråga är låst? (eventuellt även vilket program som har låst filen)

Vem är subjekt här, programmet eller filen? du nämner båda två som subjekt i din beskrivning, vilket låter motsägelsefullt.

Om vi antar att programmet är word och det har öppnat ett dokument Test.docx, så är jag egentligen bara ute efter sökvägen till Test.docx filen. Och min funderingen är på hur man generellt kan få fram denna sökväg till filen. Där ett sätt jag tänker på är att göra någon bakvänd funktion som brukar användas för att se vilka filer som är låsta av vilka processer.

*edit*
Resource Monitor som finns från windows 7 har informationen jag söker, jag ska analysera hur den fungerar om jag kan få tag på denna från excel. http://serverfault.com/questions/1966/how-do-you-find-what-pr...