WD2000: Bagaimana memanggil fungsi API Windows ShellExecute

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 238245 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Anda dapat menghubungi ShellExecute() Windows API fungsi dari Visual Basic untuk aplikasi makro untuk memulai program lain di bawah Microsoft Windows. Penggunaan ShellExecute() Melainkan Shell (pernyataan Visual Basic) atau WinExec() (Windows API fungsi) untuk mengatasi keterbatasan berikut perintah yang terakhir:

Dengan Shell dan WinExec(), Anda tidak dapat menjalankan aplikasi dengan menentukan nama file hanya. Sebagai contoh, berikut Shell pernyataan akan gagal:
x = Shell("C:\My Documents\Book1.Xls")
				

INFORMASI LEBIH LANJUT

Microsoft menyediakan contoh pemrograman hanya sebagai ilustrasi, tanpa jaminan apa pun baik tersurat maupun tersirat. Termasuk, namun tidak terbatas pada, jaminan tersirat mengenai kelayakan untuk diperdagangkan atau kesesuaian untuk keperluan tertentu. Artikel ini mengasumsikan bahwa Anda telah terbiasa dengan bahasa pemrograman yang ditunjukkan dan dengan alat yang digunakan untuk membuat dan mendebug prosedur. Teknisi dukungan Microsoft dapat membantu menjelaskan fungsionalitas prosedur tertentu, namun mereka tidak akan memodifikasi contoh untuk memberikan fungsionalitas tambahan atau menyusun prosedur untuk memenuhi persyaratan khusus Anda. Di bawah ini adalah contoh Visual Basic untuk aplikasi makro yang panggilan ShellExecute() Windows API fungsi. ShellExecute() menentukan apakah Microsoft Excel sudah menjalankan; Jika demikian, itu banyak Book1.xls ke dalam Microsoft Excel sesi saat ini. Jika Microsoft Excel tidak sedang dijalankan, ShellExecute() mulai Microsoft Excel dan banyak Book1.xls.
Declare Function ShellExecute Lib "shell32.dll" Alias _
   "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation _
   As String, ByVal lpFile As String, ByVal lpParameters _
   As String, ByVal lpDirectory As String, ByVal nShowCmd _
   As Long) As Long

Declare Function apiFindWindow Lib "User32" Alias "FindWindowA" _
   (ByVal lpclassname As Any, ByVal lpCaption As Any) As Long

Global Const SW_SHOWNORMAL = 1

Sub ShellExecuteExample()
   Dim hwnd
   Dim StartDoc
   hwnd = apiFindWindow("OPUSAPP", "0")

   StartDoc = ShellExecute(hwnd, "open", "C:\My Documents\Book1.xls", "", _
      "C:\", SW_SHOWNORMAL)
End Sub
				
The ShellExecute() fungsi membuka atau mencetak file yang ditentukan. Berikut adalah informasi tentang ShellExecute() dari halaman 901-904 dari Microsoft Windows Software Development Kit (SDK) "Programmer's referensi, Volume 2:Functions."

Parameter

Parameter            Description
---------------------------------------------------------------------------

   hwnd                 Identifies the parent window.

   lpszOp               A string specifying the operation to perform. This
                        string can be "open" or "print".

   lpszFile             Points to a string specifying the file to open.

   lpszParams           Points to a string specifying parameters passed to
                        the application when the lpszFile parameter
                        specifies an executable file. If lpszFile points to
                        a string specifying a document file, this parameter
                        is NULL.

   lpszDir              Points to a string specifying the default
                        directory.

   fsShowCmd            Specifies whether the application window is to be
                        shown when the application is opened. This
                        parameter can be one of the following values:

      Value          Meaning
      ---------------------------------------------------------------------

      0              Hides the window and passes activation to another
                     window.

      1              Activates and displays a window. If the window is
                     minimized or maximized, Windows restores it to its
                     original size and position (same as 9).

      2              Activates a window and displays it as an icon.

      3              Activates a window and displays it as a maximized
                     window.

      4              Displays a window in its most recent size and
                     position. The window that is currently active remains
                     active.

      5              Activates a window and displays it in its current
                     size and position.

      6              Minimizes the specified window and activates the
                     top-level window in the system's list.

      7              Displays a window as an icon. The window that is
                     currently active remains active.

      8              Displays a window in its current state. The window
                     that is currently active remains active.

      9              Activates and displays a window. If the window is
                     minimized or maximized, Windows restores it to its
                     original size and position (same as 1).
				

Kembali

Nilai kembali adalah menangani contoh aplikasi yang dibuka atau dicetak, jika fungsi berhasil. (Menangani ini juga bisa menangani aplikasi server DDE.) Kembali nilai kurang dari atau sama dengan 32 menunjukkan kesalahan.

Galat

The ShellExecute() fungsi mengembalikan nilai 31 jika tidak ada Asosiasi untuk jenis berkas tertentu atau jika tidak ada Asosiasi untuk tindakan tertentu dalam jenis file. Nilai-nilai mungkin kesalahan yang lain adalah sebagai berikut:
Value          Meaning
---------------------------------------------------------------------------

   0             System was out of memory, executable file was corrupt, or
                 relocations were invalid.

   2             File was not found.

   3             Path was not found.

   5             Attempt was made to dynamically link to a task, or there
                 was a sharing or network-protection error.

   6             Library required separate data segments for each task.

   8             There was insufficient memory to start the application.

  10             Windows version was incorrect.

  11             Executable file was invalid. Either it was not a Windows
                 application, or there was an error in the .exe image.

  12             Application was designed for a different operating system.

  13             Application was designed for MS-DOS 4.0.

  14             Type of executable file was unknown.

  15             Attempt was made to load a real-mode application
                (developed for an earlier version of Windows).

  16             Attempt was made to load a second instance of an
                 executable file containing multiple data segments that
                 were not marked read-only.

  19             Attempt was made to load a compressed executable file. The
                 file must be decompressed before it can be loaded.

  20             Dynamic-link library (DLL) file was invalid. One of the
                 DLLs required to run this application was corrupt.

  21             Application requires Microsoft Windows 32-bit extensions.
				

Komentar

File yang ditentukan oleh lpszFile parameter dapat menjadi file dokumen atau file eksekusi. Jika file dokumen, fungsi ini membuka atau cetakan, tergantung pada nilai lpszOp parameter. Jika file eksekusi, fungsi ini membuka itu, bahkan jika string "cetak" menunjuk kepada oleh lpszOp.

REFERENSI

Untuk informasi lebih lanjut tentang cara menggunakan kode contoh dalam artikel ini, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
212536OFF2000: Bagaimana untuk menjalankan kode contoh dari artikel Basis Pengetahuan
Untuk informasi lebih lanjut tentang mendapatkan bantuan dengan Visual Basic untuk aplikasi, Silakan lihat artikel Basis Pengetahuan Microsoft berikut:
226118 OFF2000: Pemrograman sumber daya untuk Visual Basic untuk aplikasi


Microsoft Windows SDK "Programmer referensi, Volume 2: fungsi," Halaman 901-904
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

Properti

ID Artikel: 238245 - Kajian Terakhir: 20 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Word 2000
Kata kunci: 
kbhowto kbprogramming kbmt KB238245 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:238245

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com