一千萬個為什麽

搜索

UI自動化/檢索文件擴展

我的任務是一個項目,要求我從一個文件夾中檢索一個特定的文件,我只能在屏幕上獲得X和Y.在XP中我設法使用Windows資源管理器本質上是一個列表視圖,並使用WM_HITTEST消息來獲取有關該文件的信息,在Windows 7中,情況並非如此。

為了解決這個問題,我正在使用UI自動化,這是一個很好的工具,只有在這種情況下,我所看到的Windows句柄屬於桌面,而桌面可能有幾個相同的文件名稱但具有不同的擴展名(並且窗口配置為“隱藏已知文件類型的擴展名”)UI自動化不會將擴展名返回給我。我嘗試了很多東西,但我找不到任何可以讓我100%成功的強大解決方案。

有沒人試過這個?成功?

最佳答案

您能否提供有關“文件夾中特定文件”的更多詳細信息?
您將使用哪些規則手動識別文件?

我不會說通過GUI是這種情況的最佳方式。 如果有任何東西可用於識別存儲在文件/文件夾系統中的文件,我會嘗試通過後端。

一個簡單的示例來說明。計算文件夾中包含的文本文件總數,並存儲找到的所有Excel文件的路徑。

Dim sFolder
Dim FSO, objFolder, objFile, objXLSList
Dim intTXTCount

sFolder = "C:\TEMP"

Set FSO = CreateObject("Scripting.FileSystemObject")
Set objXLSList = CreateObject("Scripting.Dictionary")

Set objFolder = FSO.GetFolder(sFolder)
intTXTCount = 0
For Each objFile In objFolder.Files
 If Regex_Test(objFile.Name, ".*\.[t,T][t,T][t,T]") Then
  intTXTCount = intTXTCount + 1
 End If
 If Regex_Test(objFile.Name, ".*\.[x,X][l,L][s,S]") Then
  objXLSList.Add objXLSList.Count, objFile.Name
 End If
Next

Thank you,
Albert Gareev
http://automation-beyond.com/

轉載註明原文: UI自動化/檢索文件擴展