Bisakah saya menjalankan aplikasi winRT sebagai screensaver?

Apakah ada cara untuk menjadikan aplikasi winRT saya sebagai screen saver di xaml?


person Jeric Paul Calderon    schedule 11.01.2013    source sumber


Jawaban (2)


Seperti yang dikatakan Jerry, tidak ada cara mudah untuk membuat screensaver aplikasi Windows Store. Namun, ada solusi tidak langsung yang mungkin berhasil untuk Anda di Windows 8, tetapi tidak pada Windows RT. Saya hampir berhasil. Saya akan membagikan apa yang saya miliki sejauh ini.

Screensaver hanyalah sebuah executable dengan ekstensi .scr yang disimpan di C:\Windows\System32. Misalnya, lihat C:\Windows\System32\Bubbles.scr. Solusi yang ada dalam pikiran saya adalah membuat screensaver .scr yang tujuannya hanya untuk meluncurkan aplikasi Windows Store Anda, yang menurut Anda akan menggunakan XAML.

Anda tidak dapat meluncurkan aplikasi Windows Store dari baris perintah secara langsung, jadi Anda akan membuat aplikasi peluncur. Lihatlah postingan blog bernama Mengotomatiskan pengujian aplikasi Windows 8 oleh Ashwin Needamangala. Di bagian bawah artikel, cari bagian yang disebut Mengotomatiskan aktivasi aplikasi Anda. Ini berisi contoh aplikasi C++ yang dapat meluncurkan aplikasi Windows Store dengan cara berikut:

C:>Win8AppLaunch.exe Microsoft.BingNews_8wekyb3d8bbwe!AppexNews

Contoh peluncur di halaman tersebut perlu dimodifikasi, namun sebelum Anda melakukannya, salin saja kodenya ke aplikasi konsol C++:

masukkan deskripsi gambar di sini

Anda hampir siap mengujinya dari baris perintah, namun Anda perlu menentukan nama aplikasi sebagai AppUserModelId. Detailnya ada di postingan Ashwin, tetapi untuk memparafrasekannya, pertama-tama Anda ingin mengizinkan eksekusi skrip PowerShell di sistem Anda dengan:

PS C:> Set-ExecutionPolicy AllSigned

Kemudian jalankan skrip PowerShell ini:

$installedapps = get-AppxPackage
foreach ($app in $installedapps)
{
    foreach ($id in (Get-AppxPackageManifest $app).package.applications.application.id)
    {
        $app.packagefamilyname + "!" + $id
    }
}

Anda mungkin ingin menjalankannya di Windows PowerShell ISE. Ini cukup apik. Temukan AppUserModelId aplikasi Anda lalu uji Win8AppLaunch.exe dari baris perintah, seperti yang ditunjukkan di atas. Ini akan meluncurkan aplikasi Windows Store Anda dari baris perintah.

Selanjutnya, modifikasi peluncur C++ untuk melakukan hard-code pada AppUserModelId aplikasi Anda alih-alih menguraikannya dari argumen baris perintah. Saya membuat Intinya. Bagian yang penting adalah baris tempat saya mendeklarasikan myApp.

Bangun executable baru, ganti namanya MyScreenSaver.scr dan masukkan ke C:\Windows\System32. Ini kemudian akan muncul di Panel Kontrol Pengaturan Screen Saver. Anda dapat melihat pratinjau screensaver di sana, dan itu berfungsi. Namun, jika Anda menunggu screensaver diluncurkan, jendela konsol akan muncul sebentar dan tidak pernah diluncurkan sepenuhnya. Saya tidak yakin mengapa. Saya mencoba menonaktifkan pembuatan jendela konsol dengan mengalihkan proyek ke aplikasi Windows, tetapi itu tidak membantu. Anda dapat mencobanya sendiri dengan mengubah Properties | Configuration | Linker | System | SubSystem menjadi WINDOWS. Ini sedikit lebih rumit, karena Anda juga perlu mengubah titik masuk dari _tMain menjadi _tWinMain. Hubungi saya melalui blog saya jika Anda ingin detailnya. Profil StackOverflow saya mencantumkannya.

Pada titik ini hampir sepenuhnya berfungsi. Anda dapat mencoba memulai dengan screensaver C++ kosong yang Anda tahu berfungsi, lalu menyalin kode di atas. Jika saya punya lebih banyak waktu, mungkin saya akan mencobanya sendiri.

person Matt Harrington    schedule 11.01.2013

Ide keren. Tapi tidak.

Jika Anda ingin aplikasi Anda benar-benar melakukan sesuatu untuk Windows selain dijalankan sebagai aplikasi sederhana, maka Anda menulis aplikasi ekstensi. Inilah kata resminya:

Ekstensi Ekstensi seperti perjanjian antara aplikasi dan Windows. Ekstensi memungkinkan pengembang aplikasi memperluas atau menyesuaikan fitur standar Windows terutama untuk digunakan dalam aplikasi mereka dan berpotensi untuk digunakan di aplikasi lain.

Ada jenis aplikasi ekstensi berikut saat ini:

Penyedia gambar akun (ekstensi) Saat pengguna memutuskan untuk mengubah gambar akun, mereka dapat memilih gambar yang sudah ada atau menggunakan aplikasi untuk mengambil gambar baru. Jika aplikasi Anda dapat mengambil gambar, Anda dapat menggunakan ekstensi ini agar Windows mencantumkan aplikasi Anda di panel kontrol Pengaturan Gambar Akun. Dari sana, pengguna dapat memilihnya untuk membuat gambar akun baru. Untuk informasi selengkapnya tentang ekstensi ini, lihat topik referensi Informasi Pengguna. Anda juga dapat melihat contoh nama gambar Akun kami.

AutoPlay (ekstensi) Saat pengguna menghubungkan perangkat ke komputer, Windows akan mengaktifkan peristiwa AutoPlay. Ekstensi ini memungkinkan aplikasi Anda dicantumkan sebagai pilihan AutoPlay untuk satu atau beberapa peristiwa AutoPlay.

Tugas latar belakang (ekstensi) Aplikasi dapat menggunakan tugas latar belakang untuk menjalankan kode aplikasi meskipun aplikasi ditangguhkan. Tugas latar belakang ditujukan untuk item pekerjaan kecil yang tidak memerlukan interaksi dengan pengguna.

Setelan kamera (ekstensi) Aplikasi Anda dapat menyediakan antarmuka pengguna khusus untuk memilih opsi kamera dan memilih efek saat kamera digunakan untuk mengambil foto atau video. Untuk informasi selengkapnya tentang ekstensi ini, lihat Mengembangkan aplikasi perangkat Windows Store untuk kamera.

Pemilih kontak (ekstensi) Ekstensi ini memungkinkan aplikasi Anda mendaftar untuk memberikan data kontak. Aplikasi Anda disertakan dalam daftar aplikasi yang ditampilkan Windows setiap kali pengguna memerlukan akses ke kontak mereka. Untuk informasi selengkapnya tentang ekstensi ini, lihat topik referensi Windows.ApplicationModel.Contacts.Provider. Anda juga dapat memeriksa Mengelola kontak pengguna.

Aktivasi file (ekstensi) File yang memiliki ekstensi nama file yang sama memiliki jenis file yang sama. Aplikasi Anda dapat menggunakan jenis file yang sudah ada dan dikenal, seperti .txt, atau membuat jenis file baru. Ekstensi aktivasi file memungkinkan Anda menentukan jenis file baru atau mendaftar untuk menangani jenis file.

Game Explorer (ekstensi) Aplikasi Anda dapat mendaftar ke Windows sebagai game. Untuk melakukannya, Anda harus membuat File Definisi Game (GDF), membangunnya sebagai sumber daya biner di aplikasi Anda, dan mendeklarasikan sumber daya tersebut dalam manifes paket.

Pengaturan tugas pencetakan (ekstensi) Anda dapat merancang aplikasi yang menampilkan antarmuka pengguna terkait pencetakan khusus dan berkomunikasi langsung dengan perangkat pencetakan. Saat Anda menyoroti fitur khusus untuk merek dan model perangkat pencetakan tertentu, Anda dapat memberikan pengalaman pengguna yang lebih kaya dan lebih baik.

Aktivasi protokol (ekstensi) Aplikasi Anda dapat menggunakan protokol yang ada untuk komunikasi, seperti mailto, atau membuat protokol khusus. Ekstensi aktivasi protokol memungkinkan Anda menentukan protokol khusus atau mendaftar untuk menangani protokol yang ada.

SSL/sertifikat (ekstensi) Sertifikat digital digunakan untuk mengautentikasi satu entitas ke entitas lainnya. Misalnya, sertifikat sering kali digunakan untuk mengautentikasi pengguna ke layanan web melalui SSL. Ekstensi ini memungkinkan Anda memasang sertifikat digital dengan aplikasi Anda.

kutipan: http://msdn.microsoft.com/en-us/library/windows/apps/hh464906.aspx

Sayangnya, tidak ada hubungannya dengan screen saver. Alasan teknisnya, saat ini, Anda tidak dapat menulis aplikasi Windows 8 yang berfungsi sebagai screensaver adalah karena aplikasi Windows 8 pada dasarnya terikat untuk dijalankan di dalam lingkungan eksekusi WinRT. Shell itu tidak melampaui menu Start di versi Windows saat ini. Jadi, tidak ada cara untuk mengeksekusi di luar - seperti sebagai screen saver. Screen saver masih dibuat dengan "cara lama".

person Jerry Nixon    schedule 11.01.2013
comment
Karena Anda dari MSFT, izinkan saya mencoba memberikan contoh untuk screensaver. Screensaver mungkin tidak relevan sekarang karena CRT sudah mati, namun setidaknya ada 2 alasan mengapa mereka masih memiliki nilai. 1) Ini akan menjadi cara yang sangat mudah bagi pengembang untuk bereksperimen dengan membangun Windows & menerbitkannya ke Windows Store. 2) Ada utilitas dalam aplikasi yang berjalan secara visual saat komputer dalam keadaan idle. Misalnya, bingkai foto, jam, kumpulan aliran jejaring sosial. Aplikasi yang dapat berjalan saat komputer dalam keadaan idle memungkinkan kita menggunakan mesin untuk konsumsi pasif. - person Tristan; 24.07.2013