Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

WD2000: Làm thế nào để gọi hàm API Windows ShellExecute

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:238245
Bài viết này đã được lưu trữ. Bài viết được cung cấp "nguyên trạng" và sẽ không còn được cập nhật nữa.
TÓM TẮT
Bạn có thể gọi các ShellExecute() Windows API chức năng từ một Visual Basic cho vĩ mô ứng dụng để bắt đầu một chương trình khác trên Microsoft Windows. Sử dụng ShellExecute() Thay vì Vỏ (một tuyên bố Visual Basic) hoặc WinExec() (Windows API hàm) để làm việc xung quanh giới hạn sau đây của các lệnh sau:

Với VỏWinExec(), bạn không thể khởi động một ứng dụng bằng cách chỉ định một tên tập tin chỉ. Ví dụ, sau đây Vỏ tuyên bố sẽ không thành công:
x = Shell("C:\My Documents\Book1.Xls")				
THÔNG TIN THÊM
Microsoft cung cấp lập trình ví dụ để minh hoạ chỉ, không có bảo hành hoặc thể hiện hay ngụ ý. Điều này bao gồm, nhưng không giới hạn, bảo đảm ngụ ý khả năng bán hàng hoặc cho một mục đích cụ thể. Bài viết này giả định rằng bạn đã quen thuộc với ngôn ngữ lập trình mà đang được chứng minh và với những công cụ được sử dụng để tạo ra và gỡ lỗi thủ tục. Microsoft hỗ trợ các kỹ sư có thể giúp giải thích các chức năng của một thủ tục cụ thể, nhưng họ sẽ không sửa đổi các ví dụ để cung cấp thêm chức năng hoặc xây dựng quy trình để đáp ứng các yêu cầu cụ thể của bạn. Dưới đây là một mẫu Visual Basic cho các ứng dụng vĩ mô mà các cuộc gọi các ShellExecute() Windows API chức năng. ShellExecute() xác định liệu Microsoft Excel đang chạy; Nếu vậy, nó tải Book1.xls vào Microsoft Excel phiên hiện thời. Nếu Microsoft Excel không đã chạy, ShellExecute() bắt đầu từ Microsoft Excel và tải 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 LongDeclare Function apiFindWindow Lib "User32" Alias "FindWindowA" _   (ByVal lpclassname As Any, ByVal lpCaption As Any) As LongGlobal Const SW_SHOWNORMAL = 1Sub ShellExecuteExample()   Dim hwnd   Dim StartDoc   hwnd = apiFindWindow("OPUSAPP", "0")   StartDoc = ShellExecute(hwnd, "open", "C:\My Documents\Book1.xls", "", _      "C:\", SW_SHOWNORMAL)End Sub				
Các ShellExecute() chức năng mở hoặc in các tệp đã chỉ định. Dưới đây là thông tin về ShellExecute() từ các trang 901-904 của Microsoft Windows phần mềm phát triển Kit (SDK) "Programmer's tham khảo, khối lượng 2:Functions."

Tham số

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).				

Lợi nhuận

Giá trị trả lại là xử lý trường hợp của ứng dụng được khai trươnghoặc in, nếu các chức năng là thành công. (Chốt này cũng có thể là cácxử lý của một ứng dụng hệ phục vụ DDE.) Một trở về giá trị nhỏ hơn hoặc bằng32 xác định lỗi.

Lỗi

Các ShellExecute() chức năng trả về giá trị 31 nếu có là không có Hiệp hội cho loại tệp đã chỉ định hoặc nếu có là không có Hiệp hội cho hành động đã nêu trong vòng loại tệp. Các giá trị khác của lỗi có thể như sau:
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.				

Ý kiến

Tệp được chỉ ra bởi tham số lpszFile có thể là một tập tin tài liệu hoặc một tập tin thực thi. Nếu nó là một tập tin tài liệu, chức năng này sẽ mở ra hoặc in nó, tùy thuộc vào giá trị của tham số lpszOp. Nếu nó là một tập tin thực thi, chức năng này mở nó, ngay cả khi chuỗi "in" chỉ cho bởi lpszOp.
THAM KHẢO
Để biết thêm chi tiết về cách sử dụng mẫu mã trong bài viết này, bấmsố bài viết dưới đây để xem bài viết trong cơ sở kiến thức Microsoft:
212536OFF2000: Làm thế nào để chạy mẫu mã từ bài viết cơ sở kiến thức
Cho biết thêm thông tin về việc nhận trợ giúp với Visual Basic cho các ứng dụng,Xin vui lòng xem bài viết cơ sở kiến thức Microsoft sau:
226118 OFF2000: Lập trình tài nguyên cho Visual Basic cho các ứng dụng


Microsoft Windows SDK "lập trình viên của tài liệu tham khảo, tập 2: chức năng,"các trang 901-904
hệ điều hành môi trường winapi vba

Thuộc tính

ID Bài viết: 238245 - Xem lại Lần cuối: 12/05/2015 15:21:30 - Bản sửa đổi: 3.0

Microsoft Word 2000 Standard Edition

  • kbnosurvey kbarchive kbhowto kbprogramming kbmt KB238245 KbMtvi
Phản hồi