有幾件事會在這裏:
1)您可以通過下載ILSpy查看OblyApp的源代碼: http://ilspy.net/
2)OblyApp創建運行在VBS文件瓷磚( Launcher.vbs)啓動指定的應用程序。 OblyApp爲每個圖塊創建一個新的獨特launcher.vbs文件,並且還爲其在c:\Program Files\OblyTile\<Folder like 00000001>
下創建的每個圖塊保存圖像。 VBS文件的文本:
On Error Resume Next
Set objShell = CreateObject("Wscript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
strApp = "<path to executable>"
arrPath = Split(strApp, "\")
For i = 0 to Ubound(arrPath) - 1
strAppPath = strAppPath & arrPath(i) & "\"
Next
objShell.CurrentDirectory = strAppPath
objShell.Run """<path to executable>""" & ""
If Err.Number <> 0 Then
If InStr(1, strApp, "/") > 0 then
Else
If InStr(1, strApp, "www.") > 0 then
Else
If InStr(1, strApp, "shell:") > 0 then
Else
If objFSO.folderExists(strApp) Then
Else
If objFSO.FileExists(strApp) Then
Else
MsgBox strApp & " not found", 16, "OblyTile"
End If
End If
End If
End If
End If
Err.Clear
End If
3)我相信他們是複製現有.lnk文件,並改變以二進制其相關的信息。與此相關的代碼位於CreaRisorce()和CreateShortcutWinAppClick()方法中。這裏有一個.lnk文件的官方文件格式: http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/[MS-SHLLINK].pdf
我前面研究過它們,它們似乎直接在lnk文件本身中更改圖標和快捷方式。我認爲他們使用了IE的捷徑。你可以嘗試在十六進制編輯器中打開一個已修改的lnk文件,並試圖找出他們改變了什麼。似乎沒有通過API或其他東西的官方方式。 – Lennart
查看OblyTile的鏈接,它看起來非常清楚,他們以編程方式創建LNK文件。此外,metro應用程序無法啓動舊版應用程序,因此二次平鋪方法已停用。 – Denis
@Denis我想他們正在編程創建一個LNK。很想知道我們如何爲我們的設置做一個。好奇他們沒有提供許多遺留應用程序的支持,在桌面上看起來不錯,而不會被重寫爲Metro :) –