Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
52 lines (32 sloc) 4.3 KB
layout title date author comments category tags
post
Windows 10 UWP uygulamalarını komut satırından çalıştırma (Command Line Activation)
2017-07-09 11:00
engin.polat
true
Windows
command
app
execution
alias
extension
package
appxmanifest
onactivated
method
activationkind
commandlineactivatedeventargs
operation

Eski nesil Windows uygulamaları (Win32) ile yeni nesil Windows uygulamaları (UWP) arasında en önemli farklardan biri komut satırından etkinleştirme eksikliği idi.

Komut satırı üzerinden etkinleştirme eksikliğinden dolayı, UWP uygulamalarını komut satırına notepad.exe yazıp çalıştırır gibi çalıştıramıyorduk. UWP uygulamaları sadece Başlat Menüsü kısayolu üzerinden çalıştırılabiliyordu.

Haliyle parametre alarak ve ilgili parametre üzerinden başlatılabilme yeteneğine de sahip olamıyorlardı.

Windows 10 Insider 16226 sürümünden itibaren UWP projelerine App Execution Alias Extension ekleyerek bir komut satırı uzantısına sahip olmaları sağlanabiliyor.

Uygulamamıza bu özelliği katmak aslında çok kolay, hemen Visual Studio'yu açalım ve CommandLineActivationProject isminde bir UWP projesi oluşturalım;

Yapmamız gereken iki adım var;

Sırayla bu adımları gerçekleştirelim;

Öncelikle Package.appxmanifest dosyasını açalım ve Extension'lar içerisine AppExecutionAlias ekleyelim

Burada önemli nokta, Alias attribute'une verdiğimiz değer ile uygulamamıza komut satırından erişilecek olması

<script src="https://gist.github.com/polatengin/c1ad7854c1db74988f7b06c8345b0cf3.js?file=Package.appxmanifest"></script>

Şimdi yapmamız gereken, App.xaml.cs dosyasını açmak ve içerisine OnActivated() methodunu eklemek.

<script src="https://gist.github.com/polatengin/c1ad7854c1db74988f7b06c8345b0cf3.js?file=App.xaml.cs"></script>

OnActivated() methodunun aldığı args parametresinin Kind özelliği eğer ActivationKind.CommandLineLaunch değerine sahipse, demek ki uygulama komut satırından çalıştırılmıştır.

args parametresini CommandLineActivatedEventArgs tipine unbox edip, Operation özelliği aracılığı ile komut satırından çalıştırılan uygulamamıza geçilen parametreleri yakalayabiliyoruz.

Örnek ekran görüntüsü ise aşağıdaki gibi olacaktır;

Bu makale Command-Line Activation of Universal Windows Apps makalesi baz alınarak yazılmıştır :)