Home > Visual Basic > Mengoptimalkan penggunaan fungsi Shell

Mengoptimalkan penggunaan fungsi Shell

January 9, 2010

Salah satu fungsi built-in vb yang mempunyai mempunyai fungsi serba guna yaitu fungsi Shell. Fungsi ini bisa digunakan untuk :

1. Menjalankan file-file Excutible (.exe, .com, .bat de el el)

Contoh menjalankan notepad:

Dim ret As Double
ret = Shell("notepad.exe", vbNormalFocus)

2. Menjalankan file-file non Executible (.doc, .xls, .mdb, .txt de el el)

Contoh menjalankan file text:

Dim ret As Double
ret = Shell("notepad.exe c:\tes.txt", vbNormalFocus) 'dg syarat file tes.txt harus sudah ada

Tapi saran saya untuk menjalankan file-file non executible lebih aman menggunakan fungsi API ShellExecute, karena kita tidak perlu menentukan secara spesifik program apa yang digunakan untuk membuka file tersebut.

3. Mengakses fungsi-fungsi control panel

Contoh kita akan menampilkan dialog Display dan otomatis mengaktifkan tab Background

Dim ret As Double
'displays the Background tab selected
ret = Shell("rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0", vbNormalFocus)

'displays the Screen Saver tab selected
'ret = Shell("rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,1", vbNormalFocus)

'displays the Appearance tab selected
'ret = Shell("rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2", vbNormalFocus)

Sumber command lainnya untuk mengakses fungsi-fungsi control panel bisa dilihat disini. Selamat mencoba🙂

  1. Andris
    March 24, 2011 at 1:56 pm

    Kang kalo fungsi shell yang dipanggil dengan sintak :

    call Shell(app.path & “\Programku.exe”,vbNormalFocus)

    Muncul error : Invalid procedure call or argument.
    Itu bagemana ya kang? soalnya di kompi ku selalu muncul err tersebut.Padahal sebelumnya ga ada masalah. Dan lebih aneh lagi setelah dijadikan exe, aplikasi tadi bisa menjalankan fungsi tersebut tanpa ada error. apa akang pernah ngalami hal spt itu? Itu karena apa ya kang? sampe pusing nih..
    Thank you banget ya kang.

    • March 25, 2011 at 4:34 am

      Coba cek menu Project -> References, mana tau ada library yg missing, nah klo ada coba dihilangkan.

      Sekilas jawabannya enggak nyambung, tapi sy juga pernah nemuin kasus yg sama ketika menggunakan fungsi built-in vb enggak jalan gara2x ada library yg mising.

  2. Andris
    March 27, 2011 at 2:12 am

    Sudah aku cek ga ada list yang missing, pertama juga aku pikir seperti itu. Tapi abis aku cek ternyata ga yang missing. Oya ini aneh lagi.. pas aku jalanin notepad.exe ato calc.exe. fungsi shell itu berjalan normal..
    Thanks banget kang..

    • March 27, 2011 at 10:18 am

      Oke om

  3. March 27, 2014 at 1:13 am

    om kalau mau menutup aplikasi lain menggunakan vb net2008,,bisa ga ya om,, misal mau nutup exel yg lg kebuka gtu,,

    • March 27, 2014 at 9:39 am

      Coba kesini om.

  1. No trackbacks yet.
Comments are closed.
%d bloggers like this: