Làm thế nào tôi có thể bắt đầu một chương trình ngay cả trước khi Windows tự khởi động?


10

Tôi biết rằng có rất nhiều ứng dụng (chẳng hạn như những ứng dụng quản lý các phân vùng như Phân vùng ma thuật, Phân vùng logic, Dễ, v.v.) bắt đầu ngay cả trước khi Windows bắt đầu tải chính nó (ý tôi là trình quản lý phiên).

Các ứng dụng này tải, thực hiện công việc được yêu cầu của họ và "chuyển mã thông báo" lại cho Windows. Làm thế nào để những ứng dụng này làm điều đó? Có cách nào để làm một cái gì đó như thế trong một ứng dụng?


Phụ thuộc vào ý của bạn trước "trước", một số đang tải mã từ Bản ghi khởi động chính.
Moab

Như tôi đã đề cập, ý tôi là trước Trình quản lý phiên Windows.
Diogo

"Trước khi Trình quản lý phiên chạy" không giống như "trước khi Windows bắt đầu tự tải". Hai là phần khá khác nhau của quá trình khởi động Windows NT 6.x .
JdeBP

@JdeBP: "chẳng hạn như những người quản lý các phân vùng như Phân vùng ma thuật"
Diogo

Cả Moab và DM8 đều đã giải thích cho bạn lý do tại sao đó không phải là một ví dụ hữu ích. Thật vậy, Magic Magic không chạy ở một trong hai điểm trong quy trình mà bạn đã hỏi, vì nó không chạy trước khi Windows "bắt đầu tự tải" cũng như trước khi Trình quản lý phiên chạy. Vấn đề vẫn là câu hỏi của bạn rất mơ hồ và cả nó và sự lặp lại của bạn về nó đều tự mâu thuẫn.
JdeBP

Câu trả lời:


12

Bài viết Sysiternals này giải thích các mục đăng ký liên quan. Nhưng ứng dụng không thể sử dụng bất kỳ API "hệ thống con" nào như Win32 (các API khác là API POSIX và OS / 2). Nó phải sử dụng API "bản địa" NT không có giấy tờ. Phần lớn các ứng dụng được phát triển cho Windows không phải là các ứng dụng API thuần túy.



Nghĩ rằng tôi đã đọc ở đâu đó rằng nó đã bị giết trong Vista. Chỉnh sửa để sửa.
LawrenceC

Liên kết rất tốt. Vô cùng nhiều thông tin.
MBraedley

Win32subystem là một phần của trình quản lý phiên, vì vậy bạn cần viết lại câu hỏi mơ hồ của mình .... en.wikipedia.org/wiki/Windows_NT_startup_ process
Moab

2

Làm thế nào tôi có thể bắt đầu một chương trình ngay cả trước Windows?

Tôi tin rằng bạn đang hỏi sai câu hỏi (Trong trường hợp này, hãy nhìn vào menu start> startup hoặc msconfig).

Tuy nhiên, chỉ trong trường hợp bạn thực sự có nghĩa là những gì bạn yêu cầu:

Bạn muốn nói đến loại 'chương trình' nào?

Bạn đang đề cập đến một hệ điều hành khác?
Nhìn vào GRUB / GRUB2 / bất kỳ bộ tải khởi động nào khác

Bạn đang đề cập đến một ứng dụng DOS (tức là một số loại quản lý khách hàng / hàng tồn kho cũ)?
Bạn đang sử dụng win9x? Đó là tình huống duy nhất khi một ứng dụng DOS có ý nghĩa khi "tải trước cửa sổ" có liên quan.
Nếu bạn không sử dụng win9x, thì có lẽ bạn muốn đa khởi động.

Bạn đang đề cập đến một ứng dụng Windows? (như trong ứng dụng không gian người dùng đồ họa?)
Câu trả lời đơn giản là Không (Bạn có thể khởi động nó cùng với các cửa sổ, chỉ cần TRƯỚC nó.)

Bạn đang đề cập đến việc tự động khởi động Windows Service / daemon / thứ gì đó nằm trong nền?
Chắc chắn rồi; chỉ cần đặt nó để bắt đầu theo mặc định. tức là nếu nó đã được xác định là một dịch vụ, hãy vào bảng điều khiển> công cụ quản trị> dịch vụ.
Nếu nó chưa được xác định, bạn có thể thêm nó .

Bạn có thực sự đang đề cập đến một 'chương trình' đang chạy trước windows (tức là windows xp / vista / 7) không?
Bạn có thể vui lòng cho một ví dụ về một cái gì đó sẽ cần phải làm điều đó?
Khác với bộ tải khởi động, phần mềm mã hóa ổ đĩa hoặc có lẽ là môi trường phục hồi (ví dụ GRUB, bộ tải khởi động của truecrypt hoặc bất kỳ hương vị nào của phần mềm khôi phục).


Tiêu đề không phải là rất mô tả, nhưng có một ví dụ trong câu hỏi.
MBraedley

Tôi đã sử dụng ma thuật phân vùng trong quá khứ, nhưng iirc đó là trên một đĩa CD có thể khởi động.
DM8

Phân vùng Magic có thể được cài đặt đầy đủ (tôi đã thực hiện trước đó). Đó là khi nó được cài đặt đầy đủ và các thay đổi được thực hiện trong bảng phân vùng mà câu hỏi đề cập đến. Máy tính khởi động lại và Partition Magic hoạt động trước khi Windows được tải và chạy hoàn toàn. Có một số phần mềm chống phần mềm độc hại cũng sẽ làm điều này.
MBraedley

@ MBraedley: đã đồng ý, nhưng đó là công cụ thời đại win9x, ngày nay có còn hiệu lực không? (Có, tôi muốn biết, chỉ vì những điều nhỏ nhặt của nó) ... đồng thời, khởi động pm8 từ phương tiện cd là một giải pháp đơn giản hơn nhiều khi bạn muốn chỉnh sửa ổ đĩa / phân vùng khởi động. Cá nhân, tôi đã sử dụng một đĩa CD trực tiếp trong nhiều năm qua cho nhiệm vụ đó. Dù sao, tôi bắt đầu nghĩ rằng câu hỏi của OP có lẽ liên quan đến phát triển, một cái gì đó mà ultrasawblade bắt được và tôi đã không :)
DM8

1
Nếu bạn muốn biết, hãy theo siêu liên kết trong bình luận đầu tiên của tôi đến câu hỏi và đọc. Câu trả lời là có. (-:
JdeBP
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.