Я недавно задал вопрос о том, как настроить плитки пользователя Windows 7 с помощью скрипта. Я нашел ответ в блоге здесь: http://joco.name/2010/12/06/i-discovered-the-new-windows-user-tile-api/
Моя проблема в том, что я не хочу зависимости от .NET Framework, которая требуется этой программе, поэтому я надеялся вызвать ее напрямую через функцию DllCall () AutoIt3. Однако независимо от того, что я делаю, я не могу заставить это работать:
#RequireAdmin
FileCopy("user_tile.jpg", "C:\Windows\system32\user_tile.jpg")
$rtn = DllCall(@SystemDir & "\shell32.dll", "long", 262, "wstr", "ahiscox", "int", 0, "wstr", "C:\Windows\system32\user_tile.jpg")
MsgBox(16, "DLL Return", $rtn[0])
Я получаю возвращаемое значение от вызова -2147024894, некоторые Googling предположили, что shell32.dll не находит файл user_tile.jpg. После изменения на wstr эта ошибка исчезла и была заменена на возврат -2147221008. Теперь я застрял и не могу понять, что я делаю неправильно, когда я запускаю код, ничего не происходит (пользовательский тайл не изменяется).
У кого-нибудь есть идеи, что я делаю не так?