Thursday, 3 October 2013

VISUAL C# No.36: Membuat aplikasi yang running saat Windows start

Advertisement


Anda pasti tahu apa itu startup. Bila kita mensetting supaya software kita berjalan di startup, maka software kita ini akan running saat Windows start. Lebih jelasnya adalah saat kita menyalakan komputer kita maka nanti software yang kita buat akan berjalan.

Banyak sekali software-software profesional yang menggunakan startup sebagai area loading program pertama kali. Dengan mesetting supaya running saat windows start maka pengguna dapat langsung disuguhkan aplikasi tanpa harus bersusah payah double click. Tapi perlu diperhatikan juga bahwa semakin banyak program yang berjalan di startup maka semakin lemot komputer saat windows start, karena banyaknya cpu resources yang digunakan oleh program. Nah, bagaimana cara membuatnya?



Di sini saya membuatnya dengan C#, untuk pengguna bahasa lain, sebetulnya teorinya adalah sama saja, hanya pengetikan kodenya saja yang berbeda.

Untuk membuat software kita supaya berjalan di startup, banyak cara yang dapat kita lakukan seperti pada poin – poin berikut ini:
a.Membuat melalui software installer.
b.Membuat settingan untuk registry.
c.Membuat software kita sebagai services.
d.Menaruh program/shortcut program pada folder system startup.

Nah, pada beberapa software installer sudah menyediakan apakah software kita nanti akan berjalan di startup, apakah software kita langsung running setelah selesai install, dan lain lain. Contoh dari software installer ini adalah installShield, nullsoft, dan lain lain.

Anda pun dapat menaruh program anda / shortcut program anda pada folder startup.

Bila anda pengguna Xp seperti di kantor saya, maupun pengguna Windows 7 anda dapat menemukan folder startup ini pada menu start --- all programs --- startup.

Nah, silahkan taruh software / shortcut anda pada folder tersebut. Pasti saat komputer loading / starting maka software anda akan otomatis running. Lalu bagaimana cara menaruhnya?? Mudah saja, anda tinggal klik kanan --- explore, maka nanti akan terbuka windows explorernya. Copy paste saja software anda.

Pada tutorial ini kita akan mencoba dengan cara yang paling umum digunakan yaitu dengan mensetting registry.

Ada kode registry yang bisa kita tambahkan ke dalam registry komputer agan software aplikasi kita bisa berjalan di startup:

Bila anda ingin agar aplikasi berjalan hanya pada startup user yang sedang logon saja:

HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run

Bila anda ingin agar aplikasi berjalan pada semua user dari Windows komputer kita:

HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run

Cukup salah satu baris di atas saja yang kita gunakan untuk mensetting registry kita. Nah, ini adalah pengetahuan tentang registry sebagai startup nya. Lalu bagaimana dengan kode C# nya?

Langsung saja mari kita mulai dengan membuat sebuah project baru dengan tampilannya seperti pada gambar dibawah ini. Kita sudah memberikan nama kepada dua komponen penting yaitu komponen checkbox (checkBoxStartUp) dan komponen button (buttonClose).
Lihat gambar:

Hal pertama yang harus kita lakukan adalah kita harus mengimpor Microsoft.Win32 class. Untuk mengimpornya kita hanya perlu menambahkan ‘using’ seperti pada berikut ini:



import di atas sangat penting untuk dapat menggunakan fungsi – fungsi windows yang berkaitan dengan Registry.

Hal kedua adalah kita harus membuat sebuah RegistryKey dan membuka sub key yang diakses Windows saat meloading program-program startup. Sub key yang dimaksud disini adalah kode registry seperti di atas tadi.



Nah, telah kita sebutkan di atas, bila anda ingin agar program anda startup pada semua user pada komputer anda, maka tinggal mengganti CurrentUser dengan LocalMachine.

Nah, dari RegistryKey yang kita buat, yang kita berikan nama rk tadi, kita memiliki 3 fungsi dasar yaitu GetValue(), SetValue(), dan DeleteValue().

GetValue() kita gunakan untuk mengecek apakah software kita sudah terdaftar di registry sebagai salah satu software yang akan berjalan di startup. Pada kode kode berikut ini anda akan menemukan string “StartUpApp”, ini sebetulnya adalah nama apa saja untuk software kita, saya menamainya dengan “StartUpApp” saja karena bingung menamai dengan nama yang bagus apa.



SetValue() kita gunakan untuk men-setting supaya program kita berjalan di startup. Kita akan mensetting dengan memberikan lokasi path dari software kita.



Dan yang terakhir yaitu DeleteValue() digunakan untuk menghapus registry sehingga software kita tidak lagi running pada startup.



Nah, cukup dengan pengetahuan beberapa kode itu kita dapat berkreasi dengan bermain – main logika.

Sekarang mari kita melanjutkan aplikasi kita. Disini kita akan membuat sebuah aplikasi yang terlebih dahulu akan mengecek apakah aplikasi kita sudah terdaftar dalam registry sebagai aplikasi yang berjalan pada startup atau belum.

Kode yang kita gunakan adalah sebagai berikut:


Dengan kode diatas, bila aplikasi kita sudah terdaftar sebagai startup aplication, maka checkbox akan otomatis tercentang, bila belum, maka checkbox tidak tercentang. Sebagai pengguna aplikasi, kita nantinya dapat mengeklik checkbox dan kemudian dapat mengklik buttonSaveClose.

Nah, dalam buttonSaveClose kita bisa mengetikan kode untuk meng-SetValue dan men-DeleteValue dari registry, seperti pada kode berikut ini:



Gampang sekali bukan?? Untuk kode keseluruhan anda dapat melihatnya pada kode pastebin berikut ini:



Mudah mudahan bermanfaat untuk anda yang suka programming.




EmoticonEmoticon