Mức độ ưu tiên của quy trình trong Windows 7. Quản lý mức độ ưu tiên của quy trình trong Windows. Thay đổi giá trị ưu tiên

7 câu trả lời

Một luồng ưu tiên thời gian thực không bao giờ có thể bị ngăn chặn bởi các ngắt hẹn giờ và chạy ở mức ưu tiên cao hơn bất kỳ luồng nào khác trên hệ thống. Bởi vì luồng ưu tiên thời gian thực bị ràng buộc bởi CPU như vậy có thể phá hủy hoàn toàn máy.

Việc tạo các chuỗi ưu tiên theo thời gian thực cần có đặc quyền (SeIncreaseBasePriorityPrivilege), vì vậy việc này chỉ có thể được thực hiện bởi quản trị viên.

Đối với Vista và các phiên bản khác, một tùy chọn dành cho các ứng dụng yêu cầu chúng chạy ở mức độ ưu tiên theo thời gian thực là sử dụng Dịch vụ lập lịch lớp đa phương tiện (MMCSS) và để nó quản lý mức độ ưu tiên của các luồng của bạn. MMCSS sẽ ngăn ứng dụng của bạn sử dụng quá nhiều thời gian CPU, do đó bạn không phải lo lắng về việc làm hỏng máy.

Chỉ là lớp ưu tiên "Thời gian thực" cao hơn lớp ưu tiên "Cao". Tôi không nghĩ có nhiều hơn ở đó. Ồ vâng, bạn phải có SeIncreaseBasePriorityPrivilege để đặt chuỗi vào lớp Thời gian thực.

Windows đôi khi tăng mức độ ưu tiên của một luồng vì nhiều lý do, nhưng sẽ không tăng mức độ ưu tiên của một luồng ở lớp ưu tiên khác. Nó cũng sẽ không tăng mức độ ưu tiên của các luồng trong lớp ưu tiên thời gian thực. Do đó, một luồng có mức độ ưu tiên cao sẽ không nhận được bất kỳ sự thăng tiến tạm thời tự động nào lên lớp ưu tiên thời gian thực.

Chương "Bên trong Windows" của Russinovich về cách Windows xử lý các ưu tiên là một nguồn tài nguyên tuyệt vời để tìm hiểu cách thức hoạt động của nó:

Lưu ý rằng hoàn toàn không có vấn đề gì với một luồng có mức độ ưu tiên thời gian thực trên hệ thống Windows bình thường - chúng không cần thiết đối với các quy trình đặc biệt chạy trên các máy chuyên dụng. Tôi tin rằng trình điều khiển phương tiện và/hoặc quy trình có thể yêu cầu các luồng ưu tiên theo thời gian thực. Tuy nhiên, một luồng như vậy không cần nhiều CPU - nó sẽ chặn hầu hết thời gian để có thể xử lý các sự kiện hệ thống thông thường.

Đây sẽ là cài đặt ưu tiên cao nhất hiện có và thường chỉ được sử dụng trong trường dự định chạy chương trình cụ thể đó. Nó thực sự đủ cao để có thể làm cạn kiệt các luồng bàn phím và chuột đến mức chúng không phản hồi.

Vì vậy, nếu bạn phải hỏi, đừng sử dụng nó :)

Trong thời gian thực, đây là lớp ưu tiên cao nhất có sẵn cho quy trình. Do đó, nó khác với "Cao" ở chỗ nó lớn hơn một bậc và "Trên mức bình thường" ở chỗ nó lớn hơn hai bậc.

Tương tự, trong thời gian thực cũng có mức độ ưu tiên của luồng.

Lớp ưu tiên của quy trình tăng hoặc giảm tất cả mức độ ưu tiên hiệu quả của các luồng trong một quy trình và do đó được coi là "mức ưu tiên cơ bản".

Vậy quá trình có:

  • Lớp ưu tiên quy trình cơ sở.
  • Ưu tiên của từng luồng riêng lẻ, độ lệch của lớp ưu tiên cơ sở.

Vì các ứng dụng thời gian thực được cho là phải được sao lưu và nhất thiết phải xử lý trước các tiến trình đang chạy khác nên có một đặc quyền bảo mật đặc biệt để bảo vệ khỏi việc vô tình sử dụng ứng dụng đó. Điều này được xác định bởi chính sách bảo mật.

Trên NT6+ (Vista+), sử dụng Bộ lập lịch lớp phương tiện Vista là cách chính xác để đạt được các hoạt động thời gian thực trên hệ điều hành không phải là hệ điều hành trực tiếp. Phần lớn nó hoạt động, mặc dù nó không hoàn hảo vì hệ điều hành không được thiết kế để hoạt động theo thời gian thực.

Microsoft coi ưu tiên này là rất nguy hiểm và đúng như vậy. Không ứng dụng nào được sử dụng nó ngoại trừ trong những trường hợp đặc biệt và thậm chí sau đó cố gắng hạn chế việc sử dụng nó cho những nhu cầu tạm thời.

Khi Windows biết rằng một chương trình đang sử dụng mức ưu tiên cao hơn, nó dường như sẽ hạn chế mức độ ưu tiên của quy trình.

Đặt mức độ ưu tiên từ IDLE thành REALTIME KHÔNG thay đổi mức sử dụng CPU.

Tôi nhận thấy trên bộ đa xử lý AMD của mình rằng nếu tôi bỏ một trong các CPU ở trạng thái LAST, mức sử dụng CPU sẽ ở mức MAX OUT và CPU cuối cùng sẽ không hoạt động. Tốc độ CPU tăng lên tới 75% trên Quad AMD của tôi.

Sử dụng Trình quản lý tác vụ -> chọn quy trình->Quy trình nhấp chuột phải->Chọn->Đặt mối quan hệ Nhấp vào tất cả ngoại trừ bộ xử lý cuối cùng. Mức sử dụng CPU sẽ tăng lên MAX trên các bộ xử lý và số khung hình còn lại nếu quá trình xử lý video tăng lên.

Chúng tôi sử dụng một từ điển. Nếu các chương trình không bị đóng, chúng sẽ sử dụng tài nguyên máy tính của chúng tôi. Bạn có thể thấy điều gì đang thực sự xảy ra trong một chương trình hệ điều hành Windows đặc biệt. Nhưng không chỉ nhìn mà còn quản lý việc phân bổ tài nguyên để cải thiện hiệu suất. Hãy xem cách tăng mức độ ưu tiên trong Trình quản lý tác vụ Windows.

Khi làm việc với nhiều chương trình, máy tính sẽ chuyển từ chương trình này sang chương trình khác theo một thứ tự nhất định. Những việc mà anh ta cho là quan trọng nhất sẽ được thực hiện trước tiên. Mức độ quan trọng được gọi là mức độ ưu tiên. Thông thường, nó được điều khiển bởi chính mã chương trình. Tuy nhiên, người dùng có thể thay đổi tham số cơ bản sang một tham số khác, từ đó thực hiện những gì quan trọng đối với anh ta vào lúc này nhanh hơn.

Các loại hàng đợi

Mức độ quan trọng có các mức độ sau:

  • Ưu tiên thời gian thực có nghĩa là tất cả tài nguyên máy tính được cấp cho quy trình đã chọn, ngay cả những tài nguyên dành cho quy trình hệ thống, hãy suy nghĩ trước khi bạn tăng cường nó đến mức đó.
  • cao;
  • trên mức trung bình;
  • bình thường;
  • dưới mức trung bình;
  • ngắn.

Thay đổi giá trị ưu tiên

Hãy xem cách đặt mức độ ưu tiên trong Trình quản lý tác vụ:


QUAN TRỌNG. Hãy nhớ rằng các giá trị cao cho một chương trình có thể làm giảm đáng kể hiệu suất của toàn bộ máy. Tăng dần và thông qua kinh nghiệm, hãy tìm ra mức độ khiến công việc trở nên thoải mái.

Khi nào điều này áp dụng? Chủ yếu để giải quyết các nhiệm vụ tạm thời. Ví dụ: bạn đang xem một bộ phim và đồng thời tải xuống một số dữ liệu từ Internet và video bị gián đoạn định kỳ. Việc tăng tầm quan trọng của người chơi sẽ giải quyết được vấn đề này. Điều này cũng thường được sử dụng để cải thiện hiệu suất trình duyệt khi duyệt Internet.

Như đã đề cập, thay đổi chỉ có hiệu lực tại một thời điểm nhất định trong khi chương trình đang chạy. Khi khởi động lại nó sẽ trở về giá trị cơ bản. Hãy xem cách thay đổi mức độ ưu tiên của các tác vụ Windows theo cách thuận tiện nhất có thể.

Những cách khác để làm việc với hiệu suất

Đồng ý, việc thử nghiệm các cài đặt mỗi lần rất bất tiện. Có những chương trình đặc biệt có thể đơn giản hóa thủ tục. Ví dụ: Process Explorer và Bộ tăng tốc CPU Mz. Chúng tôi sẽ không đi sâu vào chi tiết; chúng tôi sẽ chỉ lưu ý bản chất công việc của họ.

Mz CPU Accelerator cho phép bạn tự động tăng giá trị cho chương trình cửa sổ đang hoạt động, thực hiện rất hiệu quả. Ngoài ra, nó cho phép bạn kiểm soát việc phân bổ tài nguyên bộ xử lý, chẳng hạn như phân bổ một hoặc hai lõi cho một chương trình thay vì tất cả. Nói chung, chương trình cho phép bạn tăng tốc độ của ứng dụng.

Process Explorer cho phép bạn lấy thông tin chi tiết về tất cả các quy trình xảy ra trên máy tính của bạn và đặt các cài đặt nâng cao hơn công cụ Windows tiêu chuẩn.

Như vậy, biết cách thay đổi mức độ ưu tiên trong Trình quản lý tác vụ, bạn có thể tăng tốc độ máy tính và tránh lỗi, treo máy. Nếu bạn có mẹo về cách thay đổi cài đặt này trong một tình huống cụ thể khi làm việc trong Windows, hãy chia sẻ chúng với những người dùng khác bằng cách để lại nhận xét bên dưới.

Trả lời từ Vô giá trị[đạo sư]
Đầu tiên, một lệnh của một quy trình được thực thi, sau đó là một lệnh khác, sau đó là lệnh thứ hai của quy trình đầu tiên, v.v. Mức độ ưu tiên của một quy trình cho biết tần suất bộ xử lý truy cập vào nó, nghĩa là mức độ ưu tiên càng cao thì tốc độ của chương trình càng cao, nhưng điều này làm chậm hoạt động của các quy trình khác.


Trả lời từ Giác ngộ[tích cực]
Ngay sau khi chuyển đổi ngữ cảnh, kernel khởi động thuật toán lập lịch quy trình, chọn thực thi quy trình có mức ưu tiên cao nhất trong số các quy trình ở trạng thái “dự trữ” và “sẵn sàng thực thi, được tải vào bộ nhớ”. Thật vô nghĩa khi xem xét các tiến trình không được tải vào bộ nhớ, vì nếu không được tải, tiến trình đó không thể thực thi. Nếu một số quy trình có mức ưu tiên cao nhất, thì kernel, sử dụng nguyên tắc danh sách vòng tròn (băng chuyền), sẽ chọn trong số đó quy trình ở trạng thái “sẵn sàng thực thi” lâu hơn các quy trình khác. Nói chung, bất kỳ chương trình nào bạn đang truy cập đều có mức độ ưu tiên, nhưng cùng với nó cũng có các quy trình khác phải tham gia vào chương trình đó, do đó có mức độ ưu tiên. . thời gian thực có nghĩa là mỗi giây.

Hướng dẫn

Nhấn tổ hợp phím “Ctrl+Alt+Delete”. Một danh sách các hành động có thể được thực hiện sẽ xuất hiện trên màn hình.

Trong cửa sổ trình quản lý tác vụ mở ra, hãy chuyển đến tab “Ứng dụng”.

Chọn chương trình có mức độ ưu tiên bạn muốn thay đổi. Nhấp chuột phải vào nó và trong menu thả xuống, nhấp vào “Chuyển đến quy trình”. Tất cả các chương trình chạy trên máy tính đều có quy trình riêng và các ưu tiên được đặt ra cho chúng.

Trong menu thả xuống, đặt mức độ ưu tiên thành trung bình, cao, thấp hoặc khác.

Lời khuyên hữu ích

Bạn có thể xem thêm thông tin về tiến trình đang chạy trong Trình quản lý tác vụ. Để thực hiện việc này, nhấp chuột phải vào nó và chọn lệnh “Thuộc tính”. Hộp thoại xuất hiện hiển thị chi tiết về quy trình, bao gồm vị trí và kích thước của nó. Nhấp vào tab Chi tiết để xem thông tin chi tiết về quy trình.

Trình quản lý tác vụ có thể được khởi chạy bằng cách nhấp chuột phải vào thanh tác vụ và chọn “Trình quản lý tác vụ” từ menu thả xuống.

Nguồn:

  • cách thay đổi mức độ ưu tiên của bạn

Lập lịch tiến trình trong UNIX dựa trên mức độ ưu tiên. Thông thường mỗi quá trình có hai thuộc tính ưu tiên. Có 32 mức độ ưu tiên trong Windows. Trên máy tính, bạn có thể tăng tốc hoạt động của các chương trình trong hệ điều hành. Để làm điều này, bạn chỉ cần tăng mức độ ưu tiên của quá trình.

Hướng dẫn

Bạn cần vào "Trình quản lý tác vụ". Để thực hiện việc này, nhấp chuột phải vào phần “Thanh tác vụ”. Chọn "Trình quản lý tác vụ" từ menu ngữ cảnh. Chuyển đến tab “Quy trình”. Ở đó bạn sẽ thấy danh sách tất cả các tiến trình đang chạy. Tìm cái bạn muốn và nhấp chuột phải vào nó. Tiếp theo, chọn lệnh “Ưu tiên”. Bây giờ bạn có thể tăng mức độ ưu tiên của quá trình. "Trình quản lý tác vụ" là có thể.

Bạn cũng có thể tăng mức độ ưu tiên bằng tiện ích InqSoft Speedballs. Điều này giám sát tất cả các quá trình. Khởi động nó. Tự động tăng mức độ ưu tiên của quy trình. Bằng cách đi tới Cài đặt, bạn có thể thay đổi cài đặt. Trong menu có nội dung “Tăng mức độ ưu tiên lên”, hãy chọn hộp Cao và nhấp vào “Áp dụng”.

Trong Bảng điều khiển, đi tới phần Cài đặt. Chọn Hiệu suất và Bảo trì. Chuyển đến menu Hệ thống và chuyển sang tab Hiệu suất. Tìm phần Hiệu suất ứng dụng và sử dụng mũi tên để đặt mức độ ưu tiên của quy trình mong muốn.

Bạn cũng có thể tăng mức độ ưu tiên của một quy trình trong Linux. Điều này được thực hiện thông qua bảng điều khiển. Nhấn lệnh trên cùng - văn bản sẽ xuất hiện trước mặt bạn. Bây giờ bạn có thể thực hiện các hành động khác nhau. Để tăng mức độ ưu tiên, nhấn phím r trên bàn phím.

Nếu bạn cần tăng mức độ ưu tiên của một quy trình trong trò chơi, hãy làm như sau. Ví dụ: lấy trò chơi World of Warcraft. Mở thông qua “Bắt đầu”, sau đó là chương trình “Notepad”. Dán đoạn văn bản sau: @echo off cd /d "C:/Program Files/World of Warcraft"start/high wow.exe. Thay đổi đường dẫn này: "C:/Program Files/World of Warcraft" thành đường dẫn mới mà bạn sẽ có. Lưu văn bản đã viết trước đó vào Notepad ở định dạng .bat. Khởi chạy trò chơi của bạn thông qua tập tin này. Bạn sẽ nhận thấy mức độ ưu tiên tăng lên.

Nguồn:

  • cách thay đổi mức độ ưu tiên

Cho dù nguồn tài nguyên dự trữ trên máy tính của bạn có mạnh đến đâu thì chúng vẫn không phải là vô tận. Một thành phần hệ điều hành đặc biệt phân phối RAM và bộ nhớ đồ họa, mức độ ưu tiên và tần suất truy cập vào bộ xử lý, bộ nhớ đệm và một số tài nguyên khác giữa tất cả các chương trình ứng dụng và hệ thống đang chạy. Anh ấy thực hiện việc này theo bảng ưu tiên do anh ấy tự biên soạn theo mặc định. Người dùng có cơ hội can thiệp vào việc phân bổ mức độ quan trọng của các quy trình đang chạy.

Hướng dẫn

Khởi chạy Trình quản lý tác vụ Windows. Điều này có thể được thực hiện theo nhiều cách - ví dụ: bằng cách nhấn tổ hợp phím Ctrl + Alt + Delete. Trong Windows 7, một menu bổ sung xuất hiện trên màn hình trong đó bạn nên chọn “Khởi chạy Trình quản lý tác vụ”, nhưng trong các phiên bản Windows trước đó, bước trung gian này không có. Một cách khác để mở trình quản lý tác vụ là mở cửa sổ khởi chạy chương trình bằng cách nhấn tổ hợp phím Win + R, sau đó nhập lệnh taskmgr và nhấn OK.

Nhấp chuột phải vào dòng có quy trình mong muốn và mở rộng phần “Ưu tiên” trong menu ngữ cảnh. Theo mặc định, tất cả các quy trình đều có mức độ ưu tiên "bình thường" - hãy thay đổi điều này bằng cách chọn bất kỳ tùy chọn nào trong số sáu tùy chọn được liệt kê. Tuy nhiên, đừng quên rằng trong một số trường hợp, việc tăng quá mức mức độ ưu tiên của các chương trình ứng dụng (các mục “Cao” và “Thời gian thực”) có thể dẫn đến phản ứng chậm của hệ điều hành khi nhấn phím, di chuyển chuột, v.v. Vấn đề tương tự cũng có thể xảy ra nếu mức độ ưu tiên của các quy trình hệ thống (ví dụ: quy trình có tên explorer) bị hạ xuống quá mức.

Theo định nghĩa, Windows là một hệ điều hành đa nhiệm. Nghĩa là, một số nhiệm vụ có thể được thực hiện đồng thời trong đó. Tuy nhiên, nhiệm vụ là khác nhau. Và sự khác biệt nằm ở mức độ ưu tiên. Tức là khi thực thi một chương trình, Windows sẽ phân phối tài nguyên theo một cách nhất định, tùy thuộc vào mức độ ưu tiên của tiến trình (chương trình) nào. Trong tương lai tôi sẽ gọi các chương trình là quy trình, nó dễ dàng hơn. Mỗi chương trình đang chạy trong Windows là một tiến trình. Các ưu tiên là khác nhau - lớn, nhỏ, nhưng sau này sẽ ưu tiên nhiều hơn. Làm thế nào điều này có thể giúp chúng tôi? Đây là những gì. Nhiều người phàn nàn về việc thực thi chương trình Vb chậm. Đã có lúc tôi bắt gặp điều này với ví dụ rõ ràng nhất. Hãy tưởng tượng một chương trình phải thực hiện một số hành động trong một khoảng thời gian nhất định - ví dụ: hiển thị nội dung nào đó cho người dùng. Đơn giản, bạn nói. Hãy hẹn giờ và tiếp tục. Điều gì sẽ xảy ra nếu, ngoài điều này, chương trình phải định kỳ đếm một thứ khác, nhiều lần và có nhiều bộ tính giờ? Nó sẽ chậm lại. Và không phải Windows, mà chỉ có chương trình. Không đẹp? Đúng. Điều này có nghĩa là Windows phân bổ ít tài nguyên cho chương trình của bạn, rõ ràng là không đủ cho chương trình đó. Vì vậy, hãy yêu cầu Windows biết thêm, nhưng bằng cách nào?

Như thế này

Vì vậy chúng ta cần thay đổi mức độ ưu tiên. Đã đến lúc nói về họ. Trong Windows "98 có ít ưu tiên hơn trong Windows Me hoặc 2000, nhưng chúng vẫn tồn tại. Chúng đây.

Ưu tiên thời gian thực - chương trình chạy như thể nó là mục đích của Windows. Mọi nguồn lực đều được trao cho cô ấy.

Mức độ ưu tiên cao (cao) - chương trình được thực thi theo cách để dành một ít thời gian cho các ứng dụng khác.

Bình thường - việc thực thi diễn ra theo cách thông thường.

Thấp (không hoạt động) - nếu việc thực thi xảy ra thì đó chỉ là khi Windows không có gì để làm.

Chà, chương trình đang chạy trước tiên nhận được mức độ ưu tiên Bình thường và chạy như bình thường. Với mức độ ưu tiên này thì dù chương trình có làm gì đi chăng nữa cũng sẽ không thể tiêu tốn nhiều tài nguyên đến mức Windows sẽ bị treo. Về lý thuyết. Nhưng điều đó không phù hợp với chúng tôi. Chúng tôi cần mức độ ưu tiên cao hoặc, nếu mọi thứ rất căng thẳng, theo thời gian thực. Nhưng thời gian thực là một điều nguy hiểm. Ngay cả một con chuột cũng có thể dễ dàng bị chậm lại. Và tôi không muốn nói về phần còn lại của chương trình. Chỉ là một tên khốn và thế thôi. Vì vậy, làm thế nào bạn có thể thay đổi mức độ ưu tiên?

API lại

Có, hàm SetPriorityClass chịu trách nhiệm thiết lập mức độ ưu tiên. Nghĩa là, bằng cách gọi nó và chuyển mọi thứ nó cần, chúng ta sẽ nhận được mức độ ưu tiên mong muốn.

Hàm khai báo riêng SetPriorityClass _ Lib "kernel32" (ByVal hProcess As Long, _ ByVal dwPriorityClass As Long) As Long

  • hProcess là Handle của tiến trình. Về anh ấy dưới đây.
  • dwPriorityClass - mức độ ưu tiên. Đó là những gì chúng ta cần.

Các hằng số ưu tiên:

Const riêng tư REALTIME_PRIORITY_CLASS = &H100 Const riêng tư HIGH_PRIORITY_CLASS = &H80 Const riêng tư NORMAL_PRIORITY_CLASS = &H20 Const riêng tư IDLE_PRIORITY_CLASS = &H40

Thật đơn giản - hãy lấy hằng số và tiếp tục, nhưng chúng ta cần có được phần Xử lý của quy trình. Nghĩa là, quy trình và cửa sổ cho Windows gần như đồng nghĩa với nhau, nhưng không phải lúc nào cũng vậy. Xử lý cửa sổ là một chuyện, Xử lý quy trình lại hoàn toàn khác. Tức là một tiến trình có thể có nhiều cửa sổ, nhưng một cửa sổ chỉ có một chủ sở hữu tiến trình. Điều này có nghĩa là chúng ta cần học cách tìm ra Handle của chính tiến trình đó. Hàm OpenProcess sẽ giúp chúng ta điều này; sau khi truyền tham số cho nó, nó sẽ cho chúng ta biết quy trình đó có những gì.

Hàm khai báo riêng OpenProcess _ Lib "kernel32" (ByVal dwDesiredAccess As Long, _ ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

dwDesiredAccess - những gì chúng tôi muốn biết (Xử lý của một quy trình là khác nhau, để kết thúc quy trình - một, để nhận thông tin - một quy trình khác). Chúng ta sẽ sử dụng hằng số PROCESS_QUERY_INFORMATION, tức là truy vấn tiến trình.

Const riêng PROCESS_QUERY_INFORMATION = &H400

bInheritHandle là một biến Boolean. Nếu bạn chuyển nó thành True thì Xử lý kết quả có thể được sử dụng bởi một quy trình khác trong tương lai. Nhưng chúng tôi không cần điều đó. Chúng tôi chuyển Sai ở đó.

DwProcessId - vâng, và đây là một điều khác - mã định danh (id) của quy trình. Chúng ta cũng cần có được nó. Làm sao? Chỉ! Hàm GetCurrentProcessId, được gọi không có tham số (cảm ơn Chúa), chỉ trả về id của quy trình hiện tại.

Khai báo riêng Hàm GetCurrentProcessId _ Lib "kernel32" Bí danh "GetCurrentProcessId" () As Long

Tất cả. Bạn có thể thở và làm mọi thứ thật đẹp.

Một số mã

Tùy chọn Rõ ràng Hàm khai báo riêng tư SetPriorityClass _ Lib "kernel32" (ByVal hProcess As Long, _ ByVal dwPriorityClass As Long) As Long Private Const REALTIME_PRIORITY_CLASS = &H100 Private Const HIGH_PRIORITY_CLASS = &H80 Private Const NORMAL_PRIORITY_CLASS = &H20 Private Const IDLE_PRIORITY _CLASS = &H40 Private Decla lại Chức năng OpenProcess _ Lib "kernel32" (ByVal dwDesiredAccess As Long, _ ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Private Const PROCESS_QUERY_INFORMATION = &H400 Hàm khai báo riêng GetCurrentProcessId Lib "kernel32" () As Long Private Sub SetPriority(Priority As Long) Dim ProcId As Long "biến cho id tiến trình Dim ProcHandle As Long "biến cho xử lý tiến trình ProcId = GetCurrentProcessId "get id ProcHandle = OpenProcess(PROCESS_QUERY_INFORMATION, False, ProcId) "đã nhận Cuộc gọi xử lý SetPriorityClass(ProcHandle, Priority) " đặt mức độ ưu tiên End Sub Private Sub Form_Load() "đặt mức độ ưu tiên SetPriority HIGH_PRIORITY_CLASS End Sub