是否可以檢查任何應用程序是否打開文件或包?例如,假設我知道/Users/Foo/AwesomeDocument.txt
存在並且它在TextEdit
中打開,我可以從我的應用程序可靠檢查文檔是否打開? 我很滿意那些只能通過NSDocumentController
打開文檔的解決方案。檢查文件是否在任何應用程序中打開
回答
您可以使用NSTask運行shell命令lsof | grep "Document.txt"
,然後解析結果,儘管該方法有點慢。我不知道一個本地的可可方式來實現這一點。
不幸的是,這不適用於通過'NSDocumentController'打開的文件,因爲它沒有整個文件句柄。 – JustSid
你的意思是這樣嗎?
例如,在AppleScript的:
tell application "TextEdit"
set theDocument to document of window 1
return theDocument
end tell
不完全是,我想檢查一個已知的文件是否打開,而不是當前在TextEdit中打開的文件(因此反向版本會很棒)。它也應該跨空間工作=/ – JustSid
tell application "TextEdit"
set theDocuments to every document
repeat with aDocument in theDocuments
if (path of aDocument) as string is equal to "/test.txt" then
display dialog "found"
end if
end repeat
end tell
對不起,但我仍然需要它。詢問每一個應用程序,如果文檔是打開的是一些開銷,我真的不想要,我寧願只使用路徑,並知道文件是否在某處打開。 – JustSid
從10.7開始,你可能會想嘗試一些與NSFileCoordinator
。請記住,並不是每個應用都必須實現NSFilePresenter
,並與NSDocument
一起前進。
- 1. 在做任何事之前檢查文件是否打開
- 2. 如何檢查相機是否被任何應用程序打開
- 3. 如何檢查文件是否打開
- 4. 如何檢查文件是否打開
- 5. 檢查是否有任何UserControl打開
- 6. 如何檢查Android應用程序是否第一次打開
- 7. Android:檢查是否存在可以打開xps文件的應用程序
- 8. 檢查應用程序是否從推送通知中打開
- 9. 如何檢查Windowsstore應用程序中是否存在文件
- 10. Python/win32com - 檢查程序是否打開
- 11. Windows - Python,檢查程序是否打開,如果是,從任務欄打開它?
- 12. 檢查另一個程序是否有文件打開
- 13. 如何檢查文本文件是否在gedit中打開
- 14. 如何檢查文件是否在Windows通用應用程序
- 15. 如何檢查應用程序是否在瀏覽器會話中打開?
- 16. 檢查應用程序是否由DeepLink打開
- 17. 檢查第三方應用程序是否已經打開
- 18. SWTBot - 檢查第三方應用程序是否打開
- 19. 檢查文件是否打開
- 20. 檢查文件是否打開
- 21. 檢查文件夾是否打開(vba)
- 22. 檢查文件是否打開
- 23. 檢查文件是否已經打開
- 24. Perl檢查文件是否打開
- 25. Lua檢查文件是否打開
- 26. php:檢查文件是否打開
- 27. matlab:檢查xls文件是否打開
- 28. android:檢查應用程序中是否存在文件
- 29. 如何檢查文件是否已經在COBOL中打開?
- 30. 檢測是否在Web應用程序中打開工具已打開
哦,來吧,我不想爲我創建的每個問題開始獎勵... – JustSid
你是否認爲你可能會問一個難題? –
@RobKeniger是的,這就是爲什麼我在這裏問。 – JustSid