03 Juli 2009

Fungsi Windows API: ShellExecute

ShellExecute merupakan fungsi yang disediakan oleh Windows melalui file pustaka “shell32.dll”, dan sudah ada sejak Windows 9x. Kegunaan dari fungsi ini adalah untuk melakukan operasi terhadap suatu file atau direktori. Operasi yang dimaksud bisa bermacam-macam yang nanti akan dijelaskan. Dalam pengembangan aplikasi dengan Delphi fungsi ini juga bisa dipakai dengan menambahkan unit “ShellAPI” pada form yang mengakses fungsi tersebut. Sintaknya adalah sebagai berikut.
function ShellExecute(hWnd: HWND; Operation, FileName, Parameters, Directory: PChar; ShowCmd: Integer): HINST;

Deskripsi dari parameter diatas adalah sebagai berikut.

  1. hWnd. Merupakan handle terhadap window yang untuk menampilkan user interface (UI) atau pesan kesalahan. Nilai bisa 0 yang berarti tidak berhubungan dengan suatu window.
  2. Operation. Merupakan string yang menggambarkan operasi yang digunakan terhadap suatu file atau direktori. Operasi yang dimaksud bisa berupa:
    • open. Membuka item yang ditentukan oleh parameter FileName. Bisa berupa file atau direktori. Item akan dibuka menggunakan aplikasi sesuai dengan ekstensi file yang di registrasikan.
    • edit. Menampilkan editor yang digunakan untuk membuka dan meng-edit file dokumen dari parameter FileName. Jika parameter yang diberikan bukan merupakan file dokumen, fungsi akan gagal dipanggil.
    • explore. Membuka direktori/folder yang diberikan oleh parameter FileName.
    • find. Membuka dialog pencarian pada direktori aktif atau pada direktori yang ditentukan oleh parameter FileName.
    • print. Mencetak file yang ditentukan oleh parameter FileName. Jika parameter yang diberikan bukan merupakan file dokumen, fungsi akan gagal dipanggil.
  3. FileName. Merupakan suatu obyek, bisa berupa file atau direktori, yang di eksekusi oleh operasi yang ditentukan oleh parameter Operation.
  4. Parameters. Jika file yang ditentukan merupakan file aplikasi yang bisa dijalankan, isi dari parameter ini digunakan sebagai parameter untuk file aplikasi yang bersangkutan.
  5. Directory. Merupakan direktori kerja default, jika tidak diisi merupakan direktori aktif.
  6. ShowCmd. Flag yang menentukan bagaimana aplikasi ditampilkan waktu dibuka. Konstanta yang bisa dipakai:
    • SW_HIDE
    • SW_MAXIMIZE
    • SW_MINIMIZE
    • SW_RESTORE
    • SW_SHOW
    • SW_SHOWDEFAULT
    • SW_SHOWMAXIMIZED
    • SW_SHOWMINIMIZED
    • SW_SHOWMINNOACTIVE
    • SW_SHOWNA
    • SW_SHOWNOACTIVATE
    • SW_SHOWNORMAL

Jika fungsi berhasil dijalankan, akan mengembalikan nilai integer lebih besar dari 32. Jika gagal, akan mengembalikan kode kesalahan sebagai berikut:
  • 0
  • ERROR_FILE_NOT_FOUND
  • ERROR_PATH_NOT_FOUND
  • ERROR_BAD_FORMAT
  • SE_ERR_ACCESSDENIED
  • SE_ERR_ASSOCINCOMPLETE
  • SE_ERR_DDEBUSY
  • SE_ERR_DDEFAIL
  • SE_ERR_DDETIMEOUT
  • SE_ERR_DLLNOTFOUND
  • SE_ERR_FNF
  • SE_ERR_NOASSOC
  • SE_ERR_OOM
  • SE_ERR_PNF
  • SE_ERR_SHARE

Contoh penggunaannya:
Membuka aplikasi tertentu.
ShellExecute(0, ‘open’, ‘notepad.exe’, nil, nil, SW_SHOWNORMAL);
Explore direktori/folder tertentu.
ShellExecute(0, ‘explore’, ‘C:\Windows’, nil, nil, SW_SHOWNORMAL);
Edit file dokumen.
ShellExecute(0, ‘edit’, ‘C:\textfile.txt’, nil, nil, SW_SHOWNORMAL);
Menampilkan dialog pencarian pada direktori tertentu.
ShellExecute(0, ‘find’, ‘C:\Windows\system’, nil, nil, SW_SHOWNORMAL);
Mencetak file dokumen.
ShellExecute(0, ‘print’, ‘C:\textfile.txt’, nil, nil, SW_SHOWNORMAL);

Tidak ada komentar:

Posting Komentar