• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Đóng các ứng dụng

Các mẹo vặt linh tinh khác, không thuộc nhóm nào
Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4762
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 515 time

Đóng các ứng dụng

Gửi bàigửi bởi truongphu » T.Hai 26/05/2008 11:30 am

Thủ thuật: Đóng các ứng dụng với code đơn giản
Tác giả: truongphu
Mô tả: Đóng các ứng dụng với code đơn giản
Bạn có thể chỉnh sửa lại các chữ trong dấu kép "" để phù hợp với ứng dụng.
Nguyên tắc: tên ứng dụng càng dài càng chính xác
Code sau đây chỉ có một hoặc vài ký tự đại diện cho ứng dụng, tôi muốn chứng tỏ tính linh động của Object
Mới test trên XP2



Mã: Chọn hết

  1. Private Sub Form_Load()
  2. Set colTasks = CreateObject("Word.Application").Tasks
  3. If colTasks.Exists("pa") Then colTasks("pa").Close 'paint
  4. If colTasks.Exists("ows") Then colTasks("ows").Close 'C:\windows
  5. If colTasks.Exists("ca") Then colTasks("ca").Close 'calc
  6. If colTasks.Exists("u") Then colTasks("u").Close 'notepad
  7. If colTasks.Exists("do") Then colTasks("do").Close 'word hay wordpad
  8. If colTasks.Exists("book1") Then colTasks("book1").Close 'excel
  9. Set colTasks = Nothing
  10. End Sub


o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Hình đại diện của người dùng
NoBi
Quản trị
Quản trị
Bài viết: 954
Ngày tham gia: T.Ba 18/03/2008 1:22 pm
Đến từ: Sài Gòn
Has thanked: 51 time
Been thanked: 66 time
Liên hệ:

Re: Đóng các ứng dụng

Gửi bàigửi bởi NoBi » T.Hai 26/05/2008 8:27 pm

Độc thiệt, mình test cái này mà không tin nó làm được. Tác giả có thể giải thích thêm 1 chút về nguyên tắc làm việc không ta?!. :)
:>

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4762
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 515 time

Re: Đóng các ứng dụng

Gửi bàigửi bởi truongphu » T.Hai 26/05/2008 10:12 pm

Sau đây là toàn văn bài viết của MS về vấn đề trên:

.....
however, you can use Microsoft Word to close a command window with a specific title.
Tuy nhiên, bạn có thể dùng Microsoft Word để đóng một cửa sổ ứng dụng với tiêu đề của nó.

Believe it or not.
Bạn có tin hay không thì tùy

For example, here’s a script that closes a command window with the title My Window:
Ví dụ, đây là code đóng cữa sổ có tiêu đề My Window:

Mã: Chọn hết

  1. Set objWord = CreateObject("Word.Application")
  2. Set colTasks = objWord.Tasks
  3.  
  4. If colTasks.Exists("My Window") Then
  5.     colTasks("My Window").Close
  6. End If
  7.  
  8. objWord.Quit


As you can see, the script begins by creating an instance of the Word.Application object. (See? We told you you could use Microsoft Word to carry out this task!) We then use this line of code to return a collection of all the tasks (processes) running on a computer:
Như bạn thấy, code bắt đầu bằng việc tạo một đối tượng Ứng dụng Word. (Coi nào? Tôi thực đã bảo rằng bạn có thể dùng MS Word để đóng ứng dụng!) và tôi liền dùng hàng code để thống kê một lô tiến trình đang chạy trên máy tính:

Set colTasks = objWord.Tasks

Note. You might have noticed that, unlike most of the Word scripts we use, we never set the Visible property to True in this script. Why not? Well, setting the Visible property to True causes Word to appear onscreen. In this case we don’t want – or need – Word to show up onscreen; we just need it to close a command window for us. So we keep it hidden.
Chú ý: Chắc bạn đã nhận thấy, không như hầu hết Word scripts mà chúng ta quen dùng, tôi không đặt thuộc tính True. Vì sao? Hừm, đặt true khiến trình Word hiện ra. Mà trong lúc nầy chúng ta không cần Word xuất hiện; Chúng ta chỉ cần đóng ứng dụng là đủ, vậy cho Word ẩn.

So what’s the difference between the Tasks collection in Word and the set of processes returned by WMI’s Win32_Process class? The primary difference is that Word returns the “friendly name” for each process. WMI returns the name of the executable file, so you get back information like this:

Điều khác biệt gì giữa Tasks collection in Word và Các tiến trình ghi nhận bởi WMI? Điều trước tiên là Word ghi nhận “tên tương tự” của mỗi tiến trình. Còn WMI thì ghi nhận tên file Exe như sau:

winword.exe
sol.exe
cmd.exe

With Word, though, you get back information that looks like this:
Còn với Word thì như sau:

Test.doc – Microsoft Word
Solitaire
My Window

Generally speaking, the task name returned by Word will be the name that appears in the title bar of the application window.
Nói chung, tên tiến trình ghi nhận bởi Word là tên hiện trên title bar của cửa sổ ứng dụng.

That means Word – unlike WSH and WMI – can locate specific command windows by title.
Điều nầy có nghĩa là Word có thể nhận biết các cửa sổ ứng dụng qua tiêu đề rất đặc trưng…….

Tôi chỉ đọc thế thôi
Cảm ơn NoBi quan tâm bài viết
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh


Quay về “[VB] Mẹo vặt khác”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.2 khách